---
url: /sensored/guide/presets.md
---
# Presets

Presets are documented rule selections that bundle commonly-needed detectors for
specific use cases. They are not compliance guarantees — they're starting points
you can customize with explicit rule overrides.

## Built-in presets

| Preset       | Rules | Use case                            |
| ------------ | ----- | ----------------------------------- |
| `pii`        | 96    | Personally identifiable information |
| `gdpr`       | 39    | EU privacy regulation               |
| `hipaa`      | 29    | US healthcare                       |
| `ccpa`       | 86    | California privacy                  |
| `pci-dss`    | 6     | Payment card industry               |
| `healthcare` | 19    | Healthcare identifiers              |
| `finance`    | 15    | Financial identifiers               |
| `education`  | 6     | Education sector                    |
| `soc2`       | 30    | SOC 2 security controls             |
| `security`   | 14    | Secrets and network identifiers     |

## Combining presets

You can combine multiple presets. Rules are merged, and if two presets assign
different actions to the same rule, a `POLICY_CONFLICT` error is thrown — you
must resolve the conflict with an explicit rule override:

```ts
const redactor = createRedactor({
  presets: ["pii", "security"],
  rules: {
    // Override any conflicting rules here
    person_name_lite: { action: "mask", preserve: { first: 1 } },
  },
});
```

## Custom presets

Define your own presets with `customPresets`:

```ts
const redactor = createRedactor({
  customPresets: {
    my_preset: {
      email: { action: "redact" },
      phone: { action: "mask", preserve: { last: 4 } },
    },
  },
  presets: ["my_preset"],
  rules: {},
});
```

Custom presets do not support the `@N` version syntax.

## Overriding preset rules

Explicit rules in `config.rules` always take precedence over preset rules:

```ts
const redactor = createRedactor({
  presets: ["pii"],
  rules: {
    // Override email from redact to mask
    email: { action: "mask", preserve: { first: 2 } },
    // Disable person_name_lite from the preset
    person_name_lite: "off",
  },
});
```

Use `"off"` to disable a rule that a preset enabled.
