Automated Secret Redaction

Detect and replace credentials in free text, quarantine strict-mode findings, persist redaction evidence, and extend rules by company or user.

Overview

Description

Automated Secret Redaction protects knowledge ingestion, agent diagnostics, connector content, and tool records from retaining recognizable credentials. A dependency-free rule pipeline detects common cloud, source-control, payment, chat, AI-provider, JWT, private-key, authorization-header, dotenv, inline-token, and database-connection patterns. Matches are replaced with grep-friendly rule identifiers, while callers receive the scrubbed value, finding locations, per-rule counts, and an optional strict-mode quarantine decision.

The entity-aware dispatcher applies the right rule set to known free-text fields, returns a scrubbed entity, can request an opt-in LLM review, emits redaction telemetry, and persists one evidence row per affected field and rule through an injected writer. A three-tier registry loads built-in, company, and user patterns in order, with higher tiers able to override a lower tier by stable rule identifier.

Selling Points

  • Reduces the chance that API keys, bearer tokens, private keys, and embedded connection credentials survive ingestion or diagnostic capture.
  • Covers heterogeneous content through typed entity field maps rather than trusting each consumer to remember which fields need inspection.
  • Produces auditable rule counts without preserving the original secret value.
  • Supports strict quarantine for workflows that should stop whenever a credential-like value is detected.
  • Lets companies and users add or override patterns through a formal registry instead of forking the shared catalog.

User Story

A company syncs meeting transcripts and coding-agent records into Dots. Before persistence, the scrubber finds an inline bearer token and a dotenv credential, replaces each with named redaction markers, records which entity fields were affected, and quarantines the strict-mode item for review. The company later registers a private credential pattern at its own tier. The team walks away with usable content and evidence without storing the raw secrets.

Extension Surface

This capability is pluggable. packages/scrub/src/registry.ts exports ScrubRegistry.registerPattern, with explicit company and user tiers, override order, conflict handling, and applicability filters. packages/scrub/src/types.ts publishes the SecretPattern and ScrubRule contracts. New patterns can therefore be added without modifying packages/scrub/src/rules.ts or copying the core scrub function.

Capabilities & Limits

  • Redacts built-in credential families and returns findings, counts, replacement text, and quarantine posture.
  • Scrubs typed entity fields, persists redaction evidence, and optionally invokes an LLM reviewer.
  • Supports built-in, company, and user pattern registration with deterministic overrides.
  • Regex detection can produce false positives or miss novel secret formats; an optional review seam mitigates but does not eliminate that limit.
  • Production persistence requires a real writer supplied by the composition root.

Implementation Map

  • packages/scrub/src/rules.ts
  • packages/scrub/src/scrub.ts
  • packages/scrub/src/scrub-entity.ts
  • packages/scrub/src/registry.ts
  • packages/scrub/src/types.ts

Properties

Property
Value
product
dots-platform
extensibility
pluggable
module
Access, Importers
packages
scrub
status
shipped
surface
background
summary
Detect and replace credentials in free text, quarantine strict-mode findings, persist redaction evidence, and extend rules by company or user.

Connections

Automated Secret Redaction · Explore connections

  • implemented bytopackages/scrub/src/registry.ts
  • implemented bytopackages/scrub/src/scrub-entity.ts
  • implemented bytopackages/scrub/src/scrub.ts
  • implemented bytopackages/scrub/src/types.ts
  • implemented bytopackages/scrub/src/rules.ts
  • complementstoAccess Audit Log
  • complementsfromPrivacy-Preserving AI Tracing

Connected Records7

Complements
Implemented by
packages/scrub/src/registry.ts
packages/scrub/src/rules.ts
packages/scrub/src/scrub-entity.ts
packages/scrub/src/scrub.ts
packages/scrub/src/types.ts
7 connections.