A sua nota é fechada dentro do seu navegador — e o servidor guarda uma caixa que ele não tem como abrir.
A chave que abre não está lá. Ela está numa máquina só: a que faz a sua conta. Abaixo, o caminho inteiro — e também o que isto não é.
O caminho da sua nota
O que acontece quando você clica em enviar
É isto que sobe — na ordem exata. Nenhum pedaço aí é legível sem a chave privada, nem o nome do arquivo original.
Por que o servidor não consegue abrir
A chave é um par, e as duas metades fazem coisas diferentes. A que está publicada no site só sabe fechar. Abrir é a outra — e ela nunca subiu para lugar nenhum.
É ela que o seu navegador usa. Com ela só se fecha — é a fechadura, não a chave. Que seja pública é o desenho, não um descuido.
Ela não existe no servidor. Não está lá para ser roubada, e nem o programa que publica o site sabe enviá-la. Se ela se perder, as notas que estiverem lá viram lixo — e isso é o que faz a promessa valer.
E a conta, como é feita
A máquina da casa busca as caixas, abre com a chave privada e faz a apuração: o DARF do mês, o prejuízo a compensar, o fechamento do ano e o estudo dos seus dias perdedores. Duas travas valem aqui, e as duas foram escritas para o mesmo lado:
O que isto não é
Não é ponta a ponta — e a gente não vai dizer que é.
Ponta a ponta de verdade seria a conta rodar dentro do seu navegador, sem ninguém no meio ler nada. Não é o caso: a apuração roda na nossa máquina, então essa máquina lê a sua nota. Ela precisa ler para calcular o seu imposto.
O que se promete, e se cumpre, é mais estreito e é verificável: o servidor na internet não lê. Quem lê é a máquina que faz a conta, e ela é do dono da casa — não é um servidor exposto, não é uma nuvem de terceiro, e não tem porta aberta para fora.
Promessa de segurança que o sistema não cumpre é pior do que promessa nenhuma. Por isso esta seção existe, e por isso ela não está escondida atrás de um clique.
Não acredite — confira
Tudo isto acontece no seu navegador, o que quer dizer que você pode olhar. Não precisa de ferramenta nenhuma além da que já está aí.
Ctrl+U mostra o código-fonte.
Procure por RONENV1: é a função inteira, à vista, sem
nada compilado nem escondido. Ela fica depois do login — dá para
conferir antes de mandar a primeira nota.
F12 aberto na aba Rede, envie uma nota. O que
sai da sua máquina começa com RONENV1 — e não com
%PDF, que é como um PDF começa.
i Os nomes e os números, para quem quer conferir
- A nota
- AES-256-GCM, com chave nova sorteada a cada arquivo. O GCM também autentica: alteração de um byte impede a abertura.
- A chave
- RSA-3072 com OAEP e SHA-256. É a chave da casa que a fecha; só a privada correspondente a abre.
- Onde roda
- Web Crypto (
crypto.subtle), nativo do navegador, que só existe em conexão segura. - Formato
RONENV1\n+ tamanho (2 bytes) + chave fechada + número de uso único (12 bytes) + nota fechada com etiqueta de 16 bytes.- A conexão
- HTTPS obrigatório, com HSTS de um ano gravado no seu navegador na primeira visita.
- No servidor
- A pasta que recebe é negada pelo servidor web: nada ali é alcançável por endereço, nem mesmo a caixa fechada.
Um limite honesto a mais: a página que fecha a sua nota é servida pelo nosso servidor. Isso protege a sua nota guardada e em trânsito — que é onde ela passa a maior parte do tempo — mas não protegeria contra um servidor invadido a ponto de passar a servir uma página diferente. Nenhuma criptografia feita no navegador protege disso; quem disser que protege está vendendo. É por isso que as travas acima existem além da cifra, e não no lugar dela.
Agora que você viu o caminho: o imposto das suas notas, calculado.
Ver os planos Dúvida sobre alguma linha desta página? Pergunte no Telegram — a resposta vem do código, não do marketing.