Skip to main content
Squasher checks every log, span, metric point, and AI record it receives for secrets and personal data: private keys, API keys and tokens, JWTs, card numbers, SSNs, emails, phone numbers, and values under secret-named keys such as password or authorization.
  • Detection is always on. The first hit in a service and attribute opens one pii_leak finding (see the Findings API). The finding holds a masked sample (for example AKIA**** or **** **** **** 1111) and the attribute path, never the value. Detection never pages anyone.
  • Redaction is off by default. When you turn it on for a project, Squasher replaces each detected value with [redacted:<kind>] (for example [redacted:aws_access_key]) before it stores the data. A value under a secret-named key is replaced as a whole. Data that is already stored does not change.
A change takes effect for new data within about 60 seconds.

Operations

security.pii.getSettings needs project:read. security.pii.updateSettings needs project:write. Each change is recorded in the project’s audit log with the key or user that made it.

Read the settings

Kinds: private_key, aws_access_key, github_token, gitlab_token, slack_token, stripe_key, google_api_key, jwt, http_auth, url_password, azure_sas, email, phone, card_number, ssn, sensitive_key.

Turn redaction on or off

Preview first with dry_run=true. The response shows the kinds that would be redacted and whether the value changes. Nothing is written.
Send the same request without dry_run to apply it. The response is the new settings object. A body other than { "redaction_enabled": boolean } returns 422.

CLI

TypeScript client