Download the PHP package kirschbaum-development/redactor without Composer

On this page you can find all versions of the php package kirschbaum-development/redactor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package redactor

Kirschbaum Redactor

Laravel Supported Versions Latest Version on Packagist Application Testing Static Analysis Code Style

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 [email protected] 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.

Quick Start

Install the package and publish its configuration:

Add the tap to a log channel in config/logging.php. It pushes a Monolog processor, so the channel keeps its own formatter:

Redact anything else directly:

Ask what was found rather than reading it back out of the payload:

How It Works

A profile is one complete configuration: the strategies to run, the keys that are safe or blocked, the patterns to look for, and what to do with what is found. Five ship: default, strict, observability, file_scan and performance. Every entry point takes a profile name, so the same value can be pseudonymised on one channel and removed on another.

Strategies run in the order the profile lists them. Key rules decide by the name a value sits under; pattern rules, known secrets, entropy and entity recognition decide by content and report what they found and where; path rules decide by location and are checked before anything else. Detections are resolved once, so two rules matching the same text produce one rewrite and a surrogate written for one detection is never re-detected by the next.

Operators decide what replaces a detection, per entity rather than per rule:

surrogate, hash and tokenize are keyed with an HMAC derived from APP_KEY (or a key of your own), so the same input always yields the same stand-in and logs stay joinable without a route back to the original.

Scanning runs the same rules over files and git history:

What It Covers

Documentation

The full documentation lives in docs/:

Page What it covers
Getting Started Installation, the Monolog tap, redact(), inspect(), the fluent builder, profiles and the five that ship.
Configuration Every key in config/redactor.php with its type, default and environment variable; the shipped profiles compared.
Rules Pattern rules, validators, keywords, samples, dictionary rules, allow-lists, path rules, safe and blocked keys, known secrets, confidence and how detections are resolved.
Operators and Pseudonymisation Every operator with example output, precedence, surrogates, the key and salt, reversible tokens and detokenize().
Boundaries Log channels, HTTP responses, streams, MCP servers, AI agents, exports and jobs, and the RedactionPerformed event.
Scanning redactor:scan in full: paths, output formats, git modes, decoding, baselines, suppression, verification, the hook and workflow, exit codes.
Entity Recognition Finding names, places and organisations in prose with a Presidio-compatible recogniser or the in-process redactor-onnx package, and when not to.
Testing Redactor::fake() and its assertions, redactor:validate, rule samples, the package's own test conventions.
Extending Every contract, how to register each, a worked custom strategy and operator, and macros.
Upgrading Every renamed class and method from 0.1.0, every behaviour change, and what to do about each.

Requirements

laravel/mcp and laravel/ai are suggested, not required; the adapters for them are only loaded when you use them.

Testing

Coverage and mutation testing need a coverage driver (pcov or Xdebug) loaded in the CLI. See Testing for the conventions and for Redactor::fake() in your own suite.

Changelog

See Upgrading for how to move from 0.1.0 to 1.0.0.

License

MIT License. See LICENSE.md for details.


All versions of redactor with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3|^8.4|^8.5
illuminate/support Version ^12.0|^13.0
monolog/monolog Version ^3.0
symfony/finder Version ^7.0|^8.0
symfony/process Version ^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package kirschbaum-development/redactor contains the following files

Loading the files please wait ...