import { describe, expect, it } from 'vitest'; import { redactSensitiveContent } from './redaction.js'; describe('redactSensitiveContent', (): void => { it('redacts seeded secret and PII canaries before persistence or egress', (): void => { const result = redactSensitiveContent( 'email canary@example.test token=sk_CANARY12345678 phone +1 555 555 1212', ); expect(result.content).not.toContain('canary@example.test'); expect(result.content).not.toContain('sk_CANARY12345678'); expect(result.content).not.toContain('+1 555 555 1212'); expect(result.classifications).toEqual(['secret', 'pii']); }); it('redacts common provider credential formats', (): void => { const result = redactSensitiveContent( 'Authorization: Bearer canary.bearer.token jwt eyJcanary.eyJpayload.eyJsignature aws AKIACANARY1234567890', ); expect(result.content).not.toContain('canary.bearer.token'); expect(result.content).not.toContain('eyJcanary.eyJpayload.eyJsignature'); expect(result.content).not.toContain('AKIACANARY1234567890'); expect(result.classifications).toEqual(['secret']); }); });