Pitch: Fiz uma ferramenta para inspecionar e tornar QR Codes do Pix mais privados
Durante anos eu colei QR Codes de Pix em sites, páginas de doação e redes sociais sem pensar muito no que havia dentro deles.
Parecia só uma imagem que apontava para minha conta.
Mas um QR Pix estático é, na prática, um payload estruturado que qualquer pessoa pode decodificar sem abrir um aplicativo bancário. Dependendo de como ele foi criado, pode expor informações como chave Pix, nome, cidade e, em alguns casos, email, telefone ou CPF.
Isso me chamou atenção por um motivo: quando publicamos esse QR em um site, essas informações deixam de estar disponíveis apenas para quem pretende fazer uma transferência. Elas podem ser coletadas automaticamente por bots, indexadores ou golpistas.
Foi daí que surgiu o Pix Privado: https://www.pixprivado.org/
A ideia é simples: você envia uma imagem/foto contendo um QR Code Pix, ou cola um codigo Pix Copia e Cola, e a ferramenta decodifica o payload diretamente no navegador, abre a estrutura TLV/EMV e mostra quais informações estão sendo expostas antes mesmo de alguém iniciar um pagamento.
Se você quiser, pode usar a ferramenta tambem para gerar um QR Pix com o mínimo possível de informações pessoais, desde que tenha uma chave aleatória previamente registrada no seu banco.
É importante deixar claro o que o projeto não faz:
- não cria chaves Pix;
- não se conecta ao Banco Central;
- não interfere na transferência;
- e não torna pagamentos Pix anônimos.
Quando alguém efetivamente inicia um Pix, o banco continua apresentando as informações exigidas pelo sistema, como nome e parte do CPF/CNPJ.
O problema que estou tentando atacar acontece uma etapa antes: o QR Code que fica publicamente exposto e pode ser lido por qualquer pessoa (ou máquina) sem nenhuma intenção de realizar o pagamento.
Além de mostrar o projeto, quero usar este post para explicar como essas informações aparecem dentro de um QR Pix, quais campos realmente representam risco de exposição e quais limitações encontrei ao tentar gerar uma versão mais adequada para uso público.
O projeto é open source, então também adoraria receber críticas sobre a abordagem, casos que eu não tenha considerado e ideias de como melhorar essa camada de privacidade.
Ah, eu escrevi um artigo em ingles bem detalhado sobre o projeto aqui: https://www.psacramento.com/pix-privado-a-practical-tool-for-inspecting-privacy-risks-in-pix-payment-information/
Fonte: https://www.pixprivado.org/