Redaction

You decide what leaves your app. Rasputin always hides common authentication secrets. Set scrubPII: true to also redact personal data. Skip files, or hide extra fields, when you need to.

What we redact automatically

Values whose names are the secret itself are redacted at ingest before grouping, secret classification, or persistence, including password, cookie, authorization, secret, and similar. The SDK sends bounded raw values; it does not match process environment secrets locally. Remaining secret-shaped strings are still classified at ingest. This is independent of scrubPII.

Hide extra fields

Add extra property names to executionRecorder.redactKeys. They are copied at init and sent with ingest batches. Matching is case-insensitive. Clients that omit redact_keys still get the default sensitive names. Use excludeSources to skip noisy files.

const server = node({
  // ...required options
  scrubPII: true,
  executionRecorder: {
    redactKeys: ['customerEmail', 'ssn'],
    excludeSources: ['src/lib/logger/**'],
  },
});

Skip files and functions

Put // @rasputin-ignore-file at the top of a file to skip instrumentation. Nothing in that file is recorded.

// @rasputin-ignore-file

export const readDatabaseUrl = () => process.env.DATABASE_URL;

To skip a folder or function without a comment, add a glob or pattern to executionRecorder.excludeSources.

Personal data

scrubPII on RasputinInit defaults to false. Set it to true when ingest should also redact personal data such as names, emails, and phone numbers. Authentication secrets are always redacted.