- Os vazamentos que importam geralmente não estão no código de produção — eles estão na rotina ao redor dele.
- Cinco comuns: AsyncStorage para tokens, dados reais do usuário em protótipos de design, pipelines multietapas de IA, logs e relatórios de falhas e permissões embutidas.
- Duas buscas que encontram erros reais hoje:
AsyncStorage.setItemperto detoken, econsole.log(user/console.log(token/console.log(prompt. - A concordância com a proteção de dados deve ser feita por propósito, não por permissão do sistema operacional. A permissão da câmera não é a mesma que a permissão para resumos gerados pela IA.
Posts sobre proteção de dados geralmente focam no binário lançado. Criptografe isso, fixe aquele certificado, envolva o cliente da API. Tudo correto, tudo necessário — e tudo muito tarde se o vazamento aconteceu três semanas antes em um protótipo de design.
Construímos apps React Native gerados por IA na RapidNative, e os interessantes bugs de segurança quase nunca vivem no código de produção. Eles vivem no espaço entre código, design e fluxos de trabalho de IA. Aqui estão cinco pontos de vazamento que vimos equipes deixarem passar.
1. AsyncStorage para qualquer coisa sensível
O clássico. AsyncStorage é um armazenamento chave-valor conveniente e não criptografado. Um token de sessão em AsyncStorage está a uma única instalação de dispositivo raiz ou extração de backup do iCloud de ser reutilizado.
Solução: use expo-secure-store (Keychain no iOS, Keystore no Android) para qualquer coisa que desbloqueie a conta.
import as SecureStore from 'expo-secure-store';
export async function saveSessionToken(token) {
await SecureStore.setItemAsync('session_token', token);
}
Se sua base de código tem uma busca positiva para AsyncStorage.setItem e token, isso é seu primeiro PR.
2. Dados reais do usuário em protótipos de design
Um designer abre o Figma, precisa de uma lista realística e cola 20 linhas da exportação de clientes em produção. Agora os nomes dos clientes estão no arquivo de design, que está em um diretório de equipe do Figma, que foi compartilhado para um email pessoal de um contratado há nove meses.
Solução: um script de dados sintéticos comprometido ao repositório. npx generate-mocks users 20 deve ser mais rápido do que exportar dados em produção. Faça o caminho rápido o caminho seguro.
3. Pipelines multietapas de IA
A mensagem de áudio chega. O serviço de transcrição retorna texto. Um segundo modelo extrai tarefas. Os colegas são notificados.
São quatro transferências, e a revisão de segurança provavelmente só cobre o ponto final da API no passo 1.
Correção: desenhe o pipeline como caixas, liste os dados que cada caixa vê e confirme que cada etapa tem controles de acesso vinculados à concordância real do usuário — não a um pacote. A permissão da câmera não é a mesma permissão para resumos gerados por IA.
4. Logs e relatórios de falhas
Sentry, Bugsnag, Datadog ou qualquer agregador de logs que você use vê tudo o que o aplicativo lhe entrega. Tokens de sessão nos cabeçalhos Authorization. Corpos de prompts da IA com texto do usuário. IDs completas dos usuários em breadcrumbs.
Correção: limpe antes de enviar. A maioria das SDKs suporta um hook beforeSend.
Sentry.init({
beforeSend(event) {
if (event.request?.headers) delete event.request.headers.Authorization;
return event;
},
});
Procure por console.log(user, console.log(token e console.log(prompt na base do código. Essa é sua segunda PR.
5. Permissões embutidas
Você pede acesso à câmera durante o onboarding: "precisamos disso para captura de documentos." O usuário concorda. Seis meses depois, uma nova funcionalidade de resumo por IA é lançada que também usa quadros da câmera.
Mesma permissão, propósito diferente. Legalmente instável (o Artigo 25 do GDPR pede minimização de dados por design) e na prática uma traição do que o usuário pensou que estava concordando em fazer.
Correção: modele a concordância como um tipo de primeira classe, baseada no propósito ao invés da permissão do sistema operacional:
Enviar uma nova funcionalidade, perguntar novamente para aquele propósito. Uma inconveniência de uma linha para o usuário vence as multas de €7,1B pela GDPR que a UE emitiu até janeiro de 2026.
O padrão
Note o que os cinco têm em comum: nenhum deles é TLS quebrado, criptografia fraca ou uma assinatura JWT mungida. Eles são todos fugas de fluxo de trabalho.
Criptografia e pinning são requisitos básicos. Os bugs que vazam os dados do seu cliente em 2026 são aqueles que ninguém incluiu na revisão de segurança - porque acontecem no Figma, em uma DM do Slack, em um payload do Sentry ou em um diagrama de pipeline de IA que nunca foi desenhado.
Desenhe o diagrama. Procure nos logs. Modele a consentimento. Envie.
Código-fonte completo com referências OWASP e NIST: rapidnative.com/blogs/data-protection.
Qual dos cinco seu código base falharia agora mesmo? O meu falhou no #4 na primeira vez que verifiquei.

