Skip to main content
PII nunca sai do browser. O masking acontece ANTES do payload entrar no Worker de compressão. Mesmo que o operador desabilite todas as proteções custom, as regras hardcoded (password, cc-*, cpf/cnpj/ssn) permanecem ativas.

Hierarquia

rrweb (motor de gravação) trabalha com 3 níveis. Atlas expõe todos via config + classes CSS:

Classes CSS Atlas

Adicione no HTML do operador para ativar masking sem mexer no config JS:

Proteções hardcoded

Não podem ser desabilitadas por config. O recorder verifica cada <input> em runtime:
Cobertura por categoria:
  • Inputs de senha: <input type="password"> sempre mascarado, independente de nome ou classe.
  • Cartão de crédito: campos com autocomplete começando em cc- ou nome contendo creditCard, cardNumber, cardnum, cvv, cvc, csc.
  • Documentos BR: cpf, cnpj, document_number.
  • Documentos US: ssn, security_code.
  • Geral: current-password, new-password via autocomplete.
Matching é case-insensitive e normaliza separadores (_, -, .) para espaço — user_ssn, CardNumber, document-number são todos detectados.

Configuração recomendada (iGaming)

Sempre comece restritivo, depois relaxe. Em produção, é mais fácil liberar campos específicos do que descobrir que dados PII vazaram para o replay. Atlas recomenda começar com maskAllInputs: true + blockSelector amplo, e remover restrições conforme operações de compliance aprovam.

Como auditar

O que NÃO é capturado (mesmo sem config)

  • password inputs (sempre hardcoded)
  • <input type="file"> content — apenas filename é registrado
  • Request bodies e headers (a menos que network.recordBody: true, opt-in)
  • Authorization/Cookie headers (hardcoded blocklist)
  • Query params sensíveis em URLs (token, access_token, cpf, etc) — veja Network & Console

Próximos passos

Triggers

Gravar SÓ sessões críticas com urlMatchRegex ou eventMatch.

Network & Console

Política metric-only + scrubURL.