# Redact

Covers one or more rectangles with an opaque fill and a blur or pixelate effect on top. The opaque fill always renders, so the region is covered even if the effect layer doesn't.

```bash
npx shadcn add https://www.reelcn.dev/r/redact.json
```

Usage:

```tsx
<BrowserWindow url="app.dev">
  <Dashboard />
  <Redact rects={[{ x: 62, y: 18, width: 22, height: 6 }]} mode="pixelate" />
</BrowserWindow>
```

Use for:

- Hiding an API key, email or account number in a real screenshot or screen recording
- Covering a sensitive panel in a dashboard demo without cropping it out

Avoid:

- A region that should stay fully visible. This always covers, never partially

Dependencies:

- `remotion`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| rects | `CalloutRect[]` | — | Areas to cover, in % of canvas, same shape `callout`'s `target` uses. At most 8 (`redactRectBudget`). |
| mode? | `"blur" \| "pixelate"` | `"blur"` |  |
| cellSize? | `number` | `18` | Blur radius, or pixelate cell size, in design units. |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |