Segurança & residência de dados

Anti-quishing do lado do emissor. Residência de dados do lado do armazenamento.

Cada link Pro passa por um pipeline anti-quishing de sete camadas no momento da emissão, em cada alteração de destino e em verificações periódicas contínuas. O log de scan contém apenas país e classe de dispositivo, sem IP, sem user agent, sem cookie, sem perfil comportamental a vazar. D1 de região única está disponível no Agency e Custom Enterprise.

Dados que coletamos

Cada byte que chega aos nossos servidores está em um de quatro grupos:

Dados de conta

E-mail, nível do plano, status do plano, IDs de cliente + assinatura do Stripe, nome de time + rótulo de workspace opcionais. Só isso. Sem telefone, sem endereço (endereço de faturamento fica no Stripe), sem perfil comportamental.

Dados de código

A URL de destino, um shortcode Base58 de 7 caracteres, um rótulo + tags que você define, design de QR opcional (cores / logo / moldura), portão de senha opcional, agendamento opcional. De sua propriedade; exportável como CSV a qualquer momento.

Dados de scan

Bucket de dia UTC + país (de CF-IPCountry) + classe de dispositivo (mobile / tablet / desktop / unknown). O User-Agent bruto é descartado imediatamente após a classificação. IP nunca entra no banco de dados. Armazenado em cache no KV para o caminho de redirecionamento, agregado no D1 via ctx.waitUntil. Agregados de país abaixo de 5 scans são agrupados em "Other" para impedir a re-identificação.

Metadados de auditoria / faturamento

Log append-only de mutações (quem fez o quê, quando, em qual escopo), retenção de 180 dias. Eventos de webhook do Stripe deduplicados para idempotência, sem PII do cliente além do ID de cliente do Stripe. Log de solicitações GDPR (exportar / excluir / restaurar), mantido após a exclusão da conta como prova de cumprimento no prazo.

Para o esquema completo, veja docs/SCHEMA.md em nosso repositório de código; cada coluna está documentada com uma política de retenção.

Onde os dados ficam

SuperfícieProvedorRegiãoOpção de região única?
Dashboard + APICloudflare Pages FunctionsBorda global (PoP mais próximo)Sim, somente Agency+
Registros de código (D1)Cloudflare D1 (SQLite)Região primária atribuída no provisionamento (hoje: ENAM)Sim, shard por tenant Agency+
Caminho de redirecionamento (KV)Cloudflare Workers KVReplicado globalmente para <50ms p99Não disponível (a replicação é o produto)
Backups criptografadosCloudflare R2Região primária atribuída na criação do bucketSim, bucket jurisdicional EU / APAC sob demanda
PagamentosStripeUS, tratamento regional de PII via residência própria do StripeVia contrato Stripe
E-mail transacionalZeptoMail (Zoho)IN (região EU do Zoho disponível sob demanda)Sim, região EU do Zoho

O que atravessa fronteiras, exatamente

  • Scans nunca atravessam fronteiras de forma com perda. Um scan de Lisboa atinge o PoP do Cloudflare em Lisboa, o worker escreve dia/país/dispositivo no KV na borda e agrega de forma assíncrona no D1 em sua região primária. O IP do scanner original vive no estado efêmero de requisição do Cloudflare durante a requisição HTTP e nunca é persistido em nosso banco de dados.
  • Requisições do dashboard terminam no PoP Cloudflare mais próximo e chamam o D1 pela rede privada do Cloudflare. Nossas Pages Functions leem/escrevem no D1 em sua região atribuída; o PoP de borda serve o bundle HTML + JS a partir do cache global de ativos estáticos.
  • Webhooks do Stripe atravessam a fronteira uma vez, o Stripe (US) faz POST para nosso endpoint do Cloudflare Pages, que verifica o HMAC, escreve uma linha mínima (event_id, type) para idempotência e despacha eventos downstream.
  • E-mail transacional (Zepto) atravessa a fronteira uma vez por envio, nosso worker entrega um template renderizado para a API do Zepto; o Zepto entrega ao servidor de e-mail do destinatário. O conteúdo são links de convite, notificações de ciclo de vida de faturamento e alertas de limite de scan, sem dados de scan do cliente.

Pipeline anti-quishing

O phishing via QR cresceu 146% no primeiro trimestre de 2026. O fornecedor padrão de links curtos reage após uma reclamação de cliente. Verificamos cada link no momento da emissão, cada vez que o destino é alterado do nosso lado e em verificações periódicas contínuas, porque um cliente pode redirecionar seu próprio URL no seu próprio servidor sem nunca chamar nossa API. O mesmo pipeline de inteligência contra ameaças que alimenta nosso scanner público em check.qr.abundera.ai é executado em cada link que emitimos.

Sete camadas de detecção, cada uma com um pedido de patente nos EUA em andamento. Cada camada alimenta um veredicto unificado; um positivo em qualquer uma pode bloquear uma criação, recusar uma alteração de destino ou suspender um link já ativo.

CamadaO que detectaQuando executa
Mutabilidade da cadeia de redirecionamentoQuantas partes independentes controlam o caminho entre nosso link curto e a página final. Uma cadeia de dois saltos por um redirecionador de terceiros representa uma classe de risco diferente de um destino direto.Criação, alteração de destino, reverificação periódica
Análise de payload multimodalWiFi, contato, telefonia, e-mail, calendário, geolocalização, criptomoeda, intent Android e payloads de dados inline recebem cada um um analisador específico por tipo. Esquemas bloqueados de forma permanente são recusados no envio.Criação, alteração de destino
Cloaking crawler vs. navegadorPáginas que exibem conteúdo limpo para scanners e phishing para humanos. Detectado por buscas paralelas com variação controlada de fingerprint e uma pontuação de divergência.Criação, reverificação periódica
Mutabilidade do servidor de destinoDomínios recém-registrados, certificados novos, TLDs de alta rotatividade, ausência de HSTS e degradação de esquema de transporte. Independente da cadeia de redirecionamento; uma cadeia estática de um salto para um certificado de seis dias em um TLD suspeito ainda é sinalizada.Criação, alteração de destino, reverificação periódica
Proveniência de instância físicaLedger de hashes colaborativo indexado por payload decodificado. Um único QR escaneado em muitas regiões distintas em pouco tempo aparece como candidato a ataque de sticker. Cada link que emitimos recebe uma entrada de proveniência limpa na criação, para que ataques de sobreposição em códigos Pro legítimos sejam detectados.Contínuo
Divergência de marca visualSe um código carrega um logotipo de marca cujo conjunto de domínios canônicos não inclui o destino decodificado, o código é considerado divergente da marca. Aplica-se a todos os códigos Pro que usam nosso recurso de logo centralizado; um phisher não pode criar um código com o logo do Chase apontando para um domínio não-Chase.Criação, alteração de logo, alteração de destino
Topologia de sensor / localPara códigos vinculados a locais (parquímetros, check-in de hotel, cardápios de restaurante, exposições de museus), o contexto RF ambiente do dispositivo de scan é verificado em relação à topologia registrada para aquele local. Uma divergência gera anomalia de contexto de sensor mesmo no primeiro scan de um sticker fraudulento. Plano Enterprise; o operador do local registra a topologia esperada na criação do código.A cada scan

O problema da alteração do lado do cliente

A URL de destino de um link Pro fica no servidor do cliente, não no nosso. O cliente pode redirecionar example.com/promo de uma promoção real para uma página de phishing sem nunca chamar a API da Abundera. Tratamos isso como o principal vetor de abuso, não um caso extremo. Reverificações periódicas em destinos ativos rodam em agendamento, e nossa camada de detecção de cloaking visa especificamente páginas que mudam após o envio. Quando um destino começa a falhar nas verificações após a criação, o link é pausado automaticamente, o proprietário recebe um e-mail com o veredicto específico e o evento é registrado na trilha de auditoria.

Falsos positivos e recursos

Inteligência contra ameaças erra às vezes. Uma marca legítima em um certificado recém-emitido, uma promoção real cuja página mudou legitimamente, um domínio migrado. Cada bloqueio e cada pausa automática inclui a camada de veredicto específica que disparou, a entrada que a acionou e um recurso de um clique que escala para um humano em até um dia útil. Preferimos pausar a excluir; um link pausado pode ser reativado em segundos após a aprovação do recurso.

Residência de região única (Agency+ e Custom Enterprise)

Para compradores exclusivos de UE ou APAC, clientes do nível Agency podem solicitar:

  • D1 colocado em uma única jurisdição (UE: EEUR ou WEUR; APAC: APAC). O Cloudflare respeita uma dica de location na criação do banco de dados; criamos um shard D1 por tenant na região solicitada (ADR-0010).
  • Bucket R2 na mesma jurisdição, backups noturnos criptografados D1 → R2 caem na região correspondente.
  • Região EU do Zepto para e-mail transacional, configurado no nível do serviço, sem alteração de código.
  • KV permanece global, a replicação na borda é essencial para a garantia de redirecionamento <50ms. Se o KV de região única for um requisito rígido, fale conosco; podemos avaliar se uma variante de Worker somente regional é viável para sua campanha.

O preço do complemento de região única é fixo (sem acréscimo por assento) e depende da combinação específica. Envie e-mail para enterprise@abundera.ai com sua jurisdição alvo + volume de scans projetado e faremos uma cotação.

Postura de conformidade

  • GDPR, dados mínimos por design (apenas país + classe de dispositivo, sem IP, sem UA, sem cookies) mais exportação com um clique e exclusão definitiva em 30 dias. DPA + SCCs da UE disponíveis para todos os planos pagos.
  • CCPA, coberto pela mesma interface de exportação + exclusão. "Venda de dados" não é algo que fazemos: sem compartilhamento com terceiros, sem parceiros de anúncios, sem retargeting.
  • SSO + provisionamento SCIM, SAML 2.0 + OIDC single sign-on e ciclo de vida de usuário & grupo SCIM 2.0 (planos Agency + Custom Enterprise). Conformidade RFC 7643/7644 verificada (20/20 no conjunto de testes derivado do PingIdentity). Flag de recurso por conexão significa que o SCIM está desligado por padrão e habilitado por cliente; limitado a 50 RPS por token; registrado em auditoria. Okta/Entra/JumpCloud funcionam hoje como aplicativos SCIM personalizados enquanto os registros no catálogo de parceiros estão em andamento.
  • SOC 2 Tipo II, em escopo. Processo de 6-9 meses. Se este é um requisito rígido para você, envie e-mail para enterprise@abundera.ai; podemos compartilhar o status atual + cronograma projetado.
  • PCI-DSS, fora do escopo para nós diretamente; pagamentos gerenciados de ponta a ponta pelo Stripe (certificado PCI Nível 1).

Divulgação de vulnerabilidades

Encontrou uma vulnerabilidade? E-mail security@abundera.ai. Divulgação coordenada, confirmaremos o recebimento em 24h (dias úteis), realizaremos triagem em 72h e coordenaremos um cronograma de correção + divulgação com você. Sem programa de bug bounty ainda; agradecemos pesquisadores publicamente em abundera.ai/security/thanks/ quando uma correção é lançada.