Skip to content
sen[so]red

Open source · Runs where your code runs

Ship AI features.
Not customer PII.

Detect and transform sensitive data before it reaches a model, log sink, or third-party API. Deterministic, streaming-first, and portable across modern JavaScript runtimes.

$npm install sensored
before-model.tslocal
import { createRedactor } from "sensored";

const redactor = createRedactor({
  presets: ["pii"],
  rules: {},
});

redactor.redact(
  "Email maya@example.com"
);

// "Email [EMAIL_1]"
155detectors
0core deps
MITcore

See the boundary

Redact before data leaves your process.

This demo uses the same library in your browser. Try an email, phone number, or payment card. The text stays on your device.

Runs in this tab

Use synthetic data only. Nothing is uploaded.

Safe output

Customer Maya Chen wrote from [EMAIL]. Call [PHONE]. Card: [PAYMENT_CARD].

Three sensitive values redacted.

Built for the path data takes

One policy from request to response.

Prompts

Wrap OpenAI and Anthropic clients so sensitive values are transformed before a request leaves your application.

Logs

Use adapters for Pino, Winston, Bunyan, Morgan, log4js, or the console without rewriting your logging pipeline.

Streams

Redact continuous text with Unicode-safe boundaries instead of buffering an entire response in memory.

For teams with stricter requirements

Enterprise is taking shape.

We are exploring how sensored can support teams with operational and security needs beyond the open-source core. Scope, availability, and pricing are not final.

What we are learning

  • 1How teams operate encrypted restoration maps
  • 2Which key systems become customer requirements
  • 3What lifecycle and audit workflows matter
  • 4Where self-hosted deployment is essential

Start with the free core

Install in minutes. Keep control of the boundary.

Read the getting started guide