Skip to main content

Redactor

Redactor removes sensitive data from anything a Laravel application emits before it leaves: log records, HTTP responses, streamed output, MCP tool results, prompts sent to a language model, exports and queued jobs. It finds sensitive values by the key they sit under, by what they look like (credential patterns with checksum validators, Shannon entropy, an optional named entity recogniser) and by where they live in a payload, then replaces only the sensitive span so the text around it survives.

What replaces a value is a separate, per-entity decision. The same email address can become [REDACTED] in an audit log, a stable pseudonym like u_7f3ac9@customer.com in an application log so counts and joins still work, or a reversible token like tok_email_k4m9rp2xzq in front of a model so the application can act on the answer. Profiles bundle the rules and the decisions, and every boundary takes a profile name. The same engine scans files and git history from redactor:scan, with SARIF output, baselines and optional live-credential verification.