Detect, pseudonymize, and restore PII in text. Python port of jcfischer/pii-pseudonymizer with transcript-aware chunking.
| Rating | Summary | |
|---|---|---|
| Quality | weak (10/24) | Competent README and solid documentation, but no releases, no test infrastructure, no manifest, 1 star, and last commit 58 days prior. |
| PAI Relevance | NOTE (0.75) | Fills a genuine PAI gap — no existing skill covers PII scrubbing before AI sends — but Python-only and too immature to act on now. |
Composite (0.75) is the highest NOTE in the vault. The PAI gap is real and specific: PAI routes documents and transcripts to AI agents constantly but has zero PII handling. If this repo matures or a TS equivalent appears, it would be an INTEGRATE candidate immediately.
10/24 — stale-risk / adequately-documented / no-signals
Failed:
Passed:
Failed:
Passed:
Failed:
Passed:
| Dimension | Score | Assessment |
|---|---|---|
| Harvest Value | 1 | The transcript-aware NER chunking pattern (splitting timestamped speaker-turn blocks before entity extraction) is a concrete technique worth studying for any PAI skill that processes long-form documents; the deterministic Faker seed approach for session-stable pseudonyms is tidy but not novel. |
| Integration Readiness | 1 | Python-only with a CLI interface (python3 pii_scrub.py) that outputs structured JSON session files; could be subprocess-called from a PAI skill with adapter code, but requires Python on the host and is not bun add-able. |
| Overlap Risk | 0 | No PAI skill, tool, or hook covers PII detection or pseudonymization; the security infrastructure (Silas agent, security hooks) handles access control and audit, not content scrubbing before AI transit. |
| Gap Fill | 2 | PAI routes transcripts and documents to AI agents as a core workflow and has no mechanism to scrub PII before those sends; this addresses a clear functional gap in the Capability Manifest. |
Composite: 0.75
Pre-processing Gong, Otter.ai, or Teams transcripts before LLM summarization or analysis: Install via pip install and run pii-scrub scrub <transcript.txt> --session session.json against a real export, then inspect the session JSON to count detected vs. missed entities on your specific format — the transcript-aware chunking pattern genuinely solves spaCy's zero-entity problem on long speaker-turn input, but weak test coverage means false-negative rates on your transcript dialect are unknown until you measure them yourself. You get a go/no-go signal on whether the tool's regex + NER coverage matches your data before committing to it.
Round-trip pseudonymization for document review workflows: Use the CLI's two-step pattern — pii-scrub scrub before sending to an LLM API, pii-scrub restore on the output to re-inject real names — as a shell-script wrapper around any existing LLM call that currently receives raw sensitive documents. The deterministic Faker seed means pseudonyms are stable across a session, so coreference in the model output survives restore. Validate the round-trip on five real documents before relying on it: the restore step only works for entities the scrub step caught, so any missed entity passes through in plain text.
Category: Security & Privacy
In this category: elder-plinius--ST3GG (decent 14/24, watch) — steganography suite
Standing: First PII-handling entry in the category; ST3GG covers steganography for a different privacy use case, so there is no functional overlap within the category.
Density: 6/10 — README (full, 8KB), repo metadata (stars, forks, dates, license, language, archive status), landscape context, and prior appraisal score available; dependency manifest not available, no CI config, no source file listing, no release notes, no commit history detail.
The gap fill score (2) combined with zero overlap makes this the strongest PAI relevance signal of any NOTE-rated repo in the vault. The constraint is entirely on quality: single-developer, no releases, no tests, no manifest, 6 days of commit history. If NorthwoodsSentinel ships a TypeScript/Bun port (consistent with their loam and brook projects) or wraps this in a clean subprocess-friendly binary, it would clear the INTEGRATE threshold without requiring any re-evaluation of PAI fit.