# Segurança

Como o Arrakis protege sua conta, seu dinheiro e suas máquinas, e o que continua sendo responsabilidade sua.

## Login

- Entre com GitHub, Google ou e-mail e senha. Uma conta pode ter os três (**Sign-in methods**).
- Os logins com GitHub e Google usam PKCE e um parâmetro state de uso único, e só são aceitos e-mails que o provedor verificou.
- Um e-mail que já pertence a uma conta só abre essa conta direto quando o próprio provedor administra a caixa de correio (Gmail, Google Workspace). Nos outros casos, o dono entra uma vez para conectar o novo método.
- Redefinir a senha encerra a sessão da conta em todos os lugares.

## Tokens

- Os tokens aparecem uma única vez e são guardados só como hashes. Revogue um e ele para de funcionar na hora.
- Os escopos (`read`, `rent`, `manage`, `billing`) limitam o que um token pode fazer, e um token não pode criar outro com mais poder.
- Dê aos agentes um token só deles, com limite de gastos, duração máxima de aluguel e data de validade.

## Dinheiro

- Os pagamentos passam pelo Stripe; números de cartão nunca chegam ao Arrakis. O saldo só aumenta quando o Stripe confirma um pagamento, e cada pagamento é creditado uma única vez.
- Os aluguéis são pré-pagos por hora, e o disjuntor desliga as máquinas que o saldo não consegue pagar. Você nunca deve mais do que adicionou.
- **Stop everything** desliga todas as máquinas de uma vez.

## Isolamento

Cada requisição age em nome da conta dona do token. Uma conta não pode ver nem alterar as máquinas, os pagamentos ou os tokens de outra.

## As máquinas

As máquinas rodam em hosts independentes, que controlam o hardware e podem ver o que roda nele: os discos, a memória e o tráfego de rede. Não coloque segredos, credenciais nem dados regulamentados nelas, e guarde sua própria cópia de tudo o que for importante. O Arrakis não oferece garantia de disponibilidade durante o acesso antecipado. Os [termos](/pt/terms) dizem pelo que o Arrakis é e não é responsável.

## Rotação de token

1. Crie um substituto só com os escopos e limites de que o job precisa.
2. Coloque-o onde o job o lê.
3. Revogue o antigo.

Mais: [toda a documentação](/pt/docs.md) · [OpenAPI](/openapi.json) · [llms.txt](/pt/llms.txt)
