Integração
Entenda como o SDK do Proteside funciona no checkout antes de instalar.
O Proteside é um SDK client-side que roda nas páginas de pagamento da sua loja. Ele mantém o inventário dos scripts que executam no navegador do cliente, detecta adulterações (skimming, troca de chave Pix, sequestro de formulário, exfiltração de dados) e envia as evidências para o dashboard. Essas evidências apoiam os controles do PCI DSS 4.0, requisitos 6.4.3 e 11.6.1.
Esta seção explica a instalação no checkout e o comportamento do SDK no navegador. Para usar o dashboard no dia a dia, veja o Guia do usuário.
Como funciona
A instalação é um único bloco de código colado no <head> do checkout. Por dentro, ele tem duas partes com papéis
diferentes:
- Bootstrapper (inline e síncrono). Um
<script>pequeno, colado direto no HTML, que precisa ser o primeiro script do<head>. Ele não faz nenhuma requisição de rede. Ele instala pontos de observação emfetch,XMLHttpRequest,navigator.sendBeacon,addEventListener, área de transferência, service workers eWebSocket. Também intercepta a inserção de novos<script src>, para barrar scripts proibidos pelas suas regras antes de eles entrarem na página. Tudo o que acontece antes de o SDK carregar fica guardado em memória. - SDK
shield.js(assíncrono, servido pela CDN). Carregado dehttps://cdn.proteside.com/v1/shield.jscomasync, sem bloquear a renderização. Ele lê a chave do atributodata-key, busca a configuração da loja, inicia os módulos de detecção e processa o que o bootstrapper guardou. - Configuração remota. Ao iniciar, o SDK busca em
https://app.proteside.com/api/sdk/configo que você definiu no dashboard: modo de proteção, regras, recebedores confiáveis, origens de iframe esperadas e ajustes finos. Se a resposta não chegar em 2 segundos, o SDK segue com os padrões locais. - Envio de eventos. As detecções e a telemetria vão em lotes para
https://app.proteside.com/api/sdk/events. O dashboard transforma os eventos relevantes em alertas, atualiza o inventário de Scripts e a Saúde do SDK.
Por que duas partes?
Um script carregado com async executa depois de outros scripts da página. Só um trecho inline e síncrono, colocado
antes de todos, garante que nenhum script de terceiro guarde referências "limpas" de fetch ou addEventListener
antes da observação começar. Por isso o bootstrapper nunca deve ser trocado por um <script src> externo.
O que o Proteside detecta
- Scripts novos ou alterados depois que a página carregou, classificados como próprios, de terceiros conhecidos ou desconhecidos.
- Scripts bloqueados pelas suas regras e containers do Google Tag Manager fora da lista permitida.
- Keyloggers: scripts que passam a escutar teclas em campos de cartão ou outros campos sensíveis.
- Exfiltração: envio de número de cartão, CPF, CNPJ, e-mail ou chave Pix para domínios não confiáveis, por
fetch, XHR, beacon ou imagem; conexõesWebSocketpara destinos desconhecidos. - Adulteração do pagamento: troca do código Pix copia e cola, de endereço cripto, de VPA UPI, de banco do boleto ou do valor; troca do conteúdo copiado para a área de transferência.
- Sequestro de formulário e de iframe: mudança do
actionde um formulário, troca do iframe do provedor de pagamento, iframes inesperados e elementos sobrepostos aos campos de pagamento. - Service workers não autorizados.
- Headers de segurança da página de pagamento (CSP, HSTS e outros), para detectar mudanças.
A lista completa, com severidades, está em Eventos e detecções.
O que o Proteside não coleta
O SDK foi desenhado para não transportar dados de pagamento:
- nunca lê o valor digitado em campos de formulário nem registra teclas;
- nunca envia número de cartão, CVV, chave Pix, código copia e cola, endereço cripto ou linha digitável;
- nunca envia o conteúdo copiado para a área de transferência, o corpo das requisições ou o código dos scripts (só hashes, tamanhos e nomes de padrões encontrados);
- não grava cookies nem
localStorage.
Há pontos que você precisa conhecer, como o envio da URL completa da página. Veja Privacidade e LGPD.
Do primeiro pageview ao dashboard
O que acontece quando um cliente abre o checkout com o snippet instalado:
- O navegador executa o bootstrapper (menos de 1 ms) e continua carregando a página normalmente.
- O
shield.jschega da CDN e busca a configuração da loja (até 2 s). - O SDK envia um
PAGEVIEWe começa a calibração: por 30 segundos (ajustável de 10 a 120 s), ele aprende os scripts, os listeners de campos sensíveis e os domínios de rede legítimos daquela página. - Logo no início, o SDK envia o inventário de scripts da página, com o hash do conteúdo quando ele é legível. Scripts que o dashboard ainda não conhece aparecem em Scripts com o status Precisa revisão.
- Ao fim da calibração, qualquer script novo ou comportamento suspeito vira uma detecção.
- Os eventos são enviados em lotes a cada 5 segundos, aproximadamente, e quando o cliente sai da página. O indicador Proteside Ativo no topo do dashboard e a página Saúde do SDK passam a refletir o tráfego real.
O que já estava na página durante a calibração não gera alerta de injeção no navegador. Esses scripts entram no inventário e a decisão (autorizar ou bloquear) é sua, na página Scripts.
Próximos passos
Instalação do snippet
Onde obter o snippet e onde colar.
Instalação por plataforma
HTML, Next.js, Nuxt, WordPress e outras plataformas.
Verificar a instalação
Confirme que o SDK está ativo.
Configuração
Atributos, configuração remota e modos de proteção.
Integridade de pagamento e Pix
Recebedores confiáveis e validação do pagamento.
API JavaScript
Métodos de window.Proteside.
Eventos e detecções
Tipos de evento, severidade e alertas.
CSP e headers
Content Security Policy e relação com o PCI DSS.
Privacidade e LGPD
O que é coletado e o que nunca é.
Desempenho e compatibilidade
Tamanho, carregamento e navegadores.
Selo Proteside
Selo estático opcional para o checkout.
Solução de problemas
Erros comuns e como resolver.