# Segurança: o que fica onde

O NomaDev foi feito para que o teu trabalho nunca tenha de passar por nós. Esta página explica, ponto a ponto, onde ficam o teu código, as tuas palavras-passe e as tuas chaves, e o pouco que o nosso próprio serviço guarda.

## Os teus projetos nunca saem do teu computador

O servidor do NomaDev corre no computador ou VPS onde os teus projetos já estão. O Claude Code, o git, a pré-visualização e os envios correm todos lá.

O teu telemóvel liga-se diretamente a essa máquina. Em casa, normalmente pelo Tailscale, uma rede encriptada ponto a ponto baseada em WireGuard; num VPS, por HTTPS com o teu próprio certificado. Não há nenhum servidor nosso pelo meio, por isso não conseguiríamos ver o teu código nem que quiséssemos.

## Palavras-passe e frases secretas ficam guardadas só no teu telemóvel

Quando um envio precisa de uma palavra-passe de FTP ou SFTP, ou da frase secreta de uma chave SSH, escreve-la no telemóvel. Se escolheres **lembrar**, fica guardada no Keystore do Android, o armazenamento encriptado protegido pelo hardware do telemóvel; se não, vale só para essa tentativa.

A palavra-passe vai para o teu computador só para esse envio, fica em memória enquanto o envio decorre e nunca é gravada no disco — nem no teu computador nem por nós. Os nossos servidores nunca a veem.

Desligar o telemóvel na app também apaga as palavras-passe nele guardadas.

## As chaves SSH só mudam de sítio se pedires

Para publicar por SFTP o servidor usa as chaves SSH que já estão no teu computador, na pasta do teu utilizador. Não são copiadas nem transferidas para lado nenhum: o telemóvel só fica a saber se a chave pede uma frase secreta.

A única exceção és tu que a decides: para usares no terminal a chave de um destino, podes copiá-la para o telemóvel. Como funciona, logo abaixo.

## O terminal SSH

O terminal liga-se do telemóvel diretamente ao servidor, por SSH: a ligação é encriptada de ponta a ponta e não passa pelo teu computador nem por nenhum servidor nosso. Por isso funciona até com o computador desligado.

As chaves e palavras-passe do terminal ficam só no telemóvel, encriptadas com uma chave do Keystore do Android protegida pelo hardware. Para as usar é precisa a tua impressão digital ou PIN, e o desbloqueio vale cinco minutos. Nunca vão para a cópia de segurança do Android nem para o Google Drive, e só a parte nativa da app as usa, no momento de ligar.

Podes gerar uma chave diretamente no telemóvel: a parte privada nunca sai de lá, e no servidor copias só a pública. Se preferires a chave que um destino já usa no computador, a app copia-a uma única vez, depois da tua impressão digital ou PIN, e só se o pedido chegar encriptado, por HTTPS ou por um proxy HTTPS na mesma máquina: numa ligação sem encriptação o computador recusa.

Na primeira vez que te ligas a um servidor, a app mostra a impressão digital dele e guarda-a; para os destinos já confirmados pelo computador, vale a dele. Se a impressão digital mudar, a app para e avisa, e para aceitar é preciso manter o botão premido. Chaves e palavras-passe só são desbloqueadas depois dessa confirmação.

O que passa pelo terminal fica na memória do telemóvel, nunca no disco, e desaparece quando fechas a sessão. O terminal não aparece nas apps recentes nem nas capturas de ecrã, a não ser que o permitas. Em segundo plano as sessões ficam abertas no máximo durante o tempo que escolheres, e pela notificação fechas todas com um toque.

## Só os telemóveis que autorizas

Para ligar um telemóvel precisas de um código mostrado no teu computador: 8 caracteres, de utilização única, válido durante 10 minutos e anulado após 5 tentativas erradas. O QR leva o mesmo código.

Cada telemóvel recebe então o seu próprio token de acesso. O servidor guarda só a impressão digital SHA-256 dele, nunca o token em si, por isso nem quem lê os ficheiros do servidor consegue fazer-se passar pelo teu telemóvel.

Em Definições vês todos os telemóveis ligados e podes desligar qualquer um. Um telemóvel desligado já não consegue ligar-se; reiniciar o servidor fecha também uma ligação que ainda estivesse aberta.

## Nada fica aberto sem autenticação

Cada pedido ao servidor tem de levar o token do telemóvel. A ligação em tempo real começa com um ticket de utilização única válido durante 30 segundos, para que o token nunca acabe num endereço ou num log.

A pré-visualização do site que estás a desenvolver nunca é pública: só abre pela app, com um ticket de utilização única trocado por um cookie privado.

Na primeira vez que envias para um servidor FTPS ou SFTP, a app mostra a impressão digital do servidor e o NomaDev guarda-a; se mudar depois, a app avisa antes de continuar.

## O que os nossos servidores guardam, e nada mais

Mantemos um único serviço: o que reencaminha as notificações para o teu telemóvel, porque a chave do Firebase necessária para as enviar não pode ir dentro da app.

Guarda o token de notificação do teu telemóvel, associado a um identificador aleatório que o teu computador usa para pedir uma notificação. Para cada notificação recebe o tipo (concluído, pergunta, permissão, erro, pré-visualização), o nome do projeto e o id da sessão; é ele que escreve o texto a partir de frases fixas e não guarda nada disto.

Nunca recebe código, mensagens de erro, palavras-passe ou chaves. As estatísticas de utilização, na app e no site, só começam se aceitares: vão para o Google Analytics e nunca contêm código, ficheiros ou nomes de projetos.

## E o Claude?

O Claude Code corre no teu computador com a tua própria conta, e envia à Anthropic o que precisa para trabalhar no teu código — exatamente como quando o usas no terminal. O NomaDev não acrescenta nem muda nada nessa troca. Vê a [política de privacidade da Anthropic](https://www.anthropic.com/legal/privacy).

## Perguntas sobre segurança

### Conseguem ver o meu código?

Não. O teu telemóvel fala diretamente com o teu computador, e o nosso único serviço trata das notificações, que nunca contêm código.

### Onde ficam guardadas as minhas palavras-passe de FTP e SFTP?

Só no Keystore do Android do teu telemóvel, e só se escolheres lembrá-las. O computador usa-as em memória para um único envio.

### O terminal SSH passa pelo meu computador?

Não. O telemóvel liga-se diretamente ao servidor. As chaves e palavras-passe do terminal ficam só no telemóvel, encriptadas e desbloqueadas com a tua impressão digital ou PIN.

### E se alguém descobrir o endereço do meu servidor?

Sem o token de um telemóvel ligado, todos os pedidos são recusados, e para ligar um telemóvel novo é preciso um código mostrado no teu computador.

### E se perder o telemóvel?

Desliga-o a partir de outro telemóvel ligado, em Definições: a partir desse momento já não consegue ligar-se. Se a app estava aberta, reinicia também o servidor, que fecha a ligação que ele já tinha.


