Skip to content

Persist pii_scrubber decisions with retention policy #274

Description

@kilodesodiq-arch

Problem Statement. anonymize() returns a result; that result is logged (potentially
exposing anonymized text) or dropped. Long-term, the audit trail of "we removed PII X
from doc Y" is important.

Technical Context. app/ai-service/services/pii_scrubber.py.

Expected Outcome. Successful anonymizations are persisted to a periodic store
(pii_decisions table or Postgres), with a pii_decisions_retention_days config.

Acceptance Criteria.

  • E2E test verifies that after a month, decisions are pruned.
  • Search API (/v1/ai/pii-decisions) returns recent decisions for auditors.

Files or modules likely to be affected.
app/ai-service/services/pii_scrubber.py,
new app/ai-service/persistence/pii_decisions.py.

Difficulty. Medium
Estimated effort. M


Test Coverage — Issues 67–74


Backlog item #66 from `docs/maintainer-issue-backlog.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26area:ai-serviceAI service (FastAPI) areakind:complianceBacklog label: kind:compliancekind:dataBacklog label: kind:data

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions