Skip to content
SELF-HOSTED // LOCAL-FIRST // APACHE-2.0

Redact
before you
prompt.

Redax is a local-first PII redaction boundary. Sensitive identifiers are detected and transformed before your application calls an LLM — while you keep control of the host, model files, network, and retention.

NO HOSTED INFERENCECPU-FRIENDLY PATHCONTROL EGRESS

Privacy is the architecture.
Not a feature flag.

Treat the redaction layer like a controlled checkpoint. Raw values enter once, transformed text leaves, and operational metadata remains inspectable.

01 / DETERMINISM

Predictable replacements

Structured rules and typed placeholders make the transformation easy to inspect and test.

02 / BOUNDARY

Local by default

Run the service beside your application and keep inference and egress under your control.

03 / INTEGRATION

One checkpoint

Put the redaction call immediately before your existing model request instead of replacing the whole stack.

04 / AUDIT

Evidence, not exposure

Record counts, types, timing, and request metadata without writing original sensitive values into the audit event.

What it is, why it exists, and where it belongs.

WHAT

A boundary before the model

Redax accepts text from your application, detects configured sensitive entities, applies a policy, and returns transformed text. Your existing model provider, prompt system, and application remain yours.

WHY

Reduce accidental exposure

LLM requests often carry support tickets, logs, documents, or conversations containing identifiers. Redax gives that text one inspectable checkpoint before it crosses into a model or provider.

HOW

One HTTP call

Deploy the API beside your application, call POST /v1/redact, forward only the returned text, and keep the response metadata for your own operational checks.

Important boundary: Redax is not a guarantee that every secret or PII value will be detected. Review policies, model coverage, provider logs, infrastructure access, and retention for your own risk profile.

Can a developer use it?
Yes — start local, then promote the same contract.

The fastest path is Docker Compose. It gives a developer the API, worker, Redis, metrics, logs, and traces on one machine without AWS or another managed service. When the integration is proven, move the same API and worker into your own platform.

01 / LOCAL

Docker Compose

Run docker compose up --build, call the local API, and use the bundled observability stack. Good for integration, policy review, and repeatable smoke tests.

Local deployment guide ↗
02 / STANDARD

Private service

Run one or a few API processes and a separate worker. Put the service behind your private network, configure production secrets, and use durable Redis for jobs, idempotency, cache, and rate limits.

Read the architecture ↗
03 / SCALED

Reference Kubernetes

Use the checked-in topology for replicas, probes, rollout budgets, resource limits, autoscaling, and network policies. Supply your own durable Redis, ingress, identity, and telemetry boundaries.

Open the launch gate ↗
Configured during deployment
  • Hosting / regionChoose where the API, worker, model, and audit data run.
  • Redis HA / backupsSet the durable Redis URL, namespace, backup policy, failover owner, and RPO/RTO.
  • TelemetryPoint OTLP, metrics, and logs at an approved destination with retention and privacy rules.
  • Secrets / identityInject API keys, hash salt, job encryption, audit integrity, and rotation/revocation controls.
  • DNS / TLSTerminate TLS at the ingress or proxy, set trusted hosts, and expose only the required routes.
  • SLOsSet latency, availability, queue age, recovery, and error-budget targets from measured workload evidence.

What this means: these are deployment inputs, not hidden product defaults. Redax supplies the application contract and reference checks; the operator supplies the environment, ownership, retention, and acceptance thresholds.

Type a sentence.
Watch the PII disappear.

Start with the browser-local path: it applies the same deterministic structured rules without sending your text to a backend. The server-side model and the experimental browser ONNX bundle are separate deployment choices.

EXECUTION MODEBROWSER / REGEX · READYSERVER / GLiNER2 · DEPLOYMENT GUIDE ↗
RAW INPUT0 CHARS
BOUNDARY: LOCAL BROWSERINPUT // UNCLASSIFIED
SAFE PREVIEW0 SPANS
REGEX · NO NETWORKOUTPUT // SANITIZED

Browser execution: this demo is client-side and illustrative. It detects structured email, phone, URL, IP, IBAN, SSN, and Luhn-valid card values. The public page does not load the larger GLiNER2 model; the repository’s ONNX/WASM path requires a separately bundled model and is documented as experimental.

One request.
Five controlled stages.

01

Regex safety net

Catch structured identifiers such as email, phone, IP, card, URL, SSN and IBAN.

stage_01 → detect
02

Contextual entity model

Optionally identify people, organisations, and contextual entities using the local model path.

stage_02 → classify
03

Consensus fusion

Merge detector spans, resolve overlap, and preserve the strongest label.

stage_03 → resolve
04

Replacement

Transform sensitive values into deterministic typed placeholders before the downstream model sees them.

stage_04 → redact
05

Audit boundary

Retain operational evidence while keeping original values out of the audit event.

stage_05 ● logged

Questions worth answering before launch.

Does Redax replace my LLM provider?

No. It is a boundary in front of your existing provider. Your application sends text to Redax, then forwards only the returned transformed text to the next system.

Does the public demo send my text anywhere?

The browser regex path runs locally and reports “REGEX · NO NETWORK.” It is a demonstration, not a server-side request and not a complete DLP guarantee.

Do I need Redis?

Not for the simplest single-process regex service when cache, rate limits, idempotency, and jobs are disabled. The standard worker/jobs and scaled deployment paths require Redis for shared state and queueing.

Can I call it from a browser application?

Use the browser-local demo for local structured processing. For an authenticated server deployment, call the API from your own backend or configure exact CORS origins; do not expose production secrets in browser code.

What does production-ready mean here?

It means your chosen deployment has evidence for readiness, failure behavior, Redis recovery, telemetry privacy, backups, rollout/rollback, capacity, and SLOs. The repository provides checks and a reference topology; it cannot prove your provider’s HA without your deployment evidence.

END OF FILE // CONTINUE LOCALLY

Put a safe boundary
in front of your model.

Run Redax with Docker Compose, send one request, and inspect the transformed output before connecting your existing LLM workflow.