Skip to main content

What It Covers

  • Log channels through RedactorTap, which never throws: a broken profile replaces the record rather than taking the channel down.
  • HTTP responses through the redact middleware: JSON as data, text as text, streams as they stream, files untouched, failing closed to a 500.
  • Streams through StreamRedactor, which holds back a window so a secret split across two chunks is still caught.
  • MCP servers through the RedactsResponses trait on a Laravel MCP server: tool results, structured content, resources, prompts, streamed output and errors.
  • AI agents through the RedactPrompt middleware for Laravel's AI package: the prompt is redacted on the way out and tokens are resolved in the answer.
  • Exports, jobs, error reporters and third-party clients through Redactor::redact() and redactSafely() with a profile per destination.
  • Files and git history through redactor:scan, with table, JSON, SARIF and JUnit output, --staged, --diff and --history modes, baselines, inline redactor:allow markers, and a publishable pre-commit hook and GitHub workflow.
  • Your test suite through Redactor::fake(), so a test can assert that a secret never left.
  • Names, places and organisations in prose through a Presidio-compatible recogniser, or in-process with no sidecar through the companion package kirschbaum-development/redactor-onnx.