Redaction and cleanup
Use when user says "redact", "clean up for sharing", "remove sensitive info", "prepare for external", when sharing .forge/ artifacts with investors or external reviewers, when sanitizing documents before external publication, or when pricing/credentials/strategy must be removed before sharing.From its SKILL.md
npx -y skills add aneja5/forge-skills --skill redaction-and-cleanupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.9 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Redaction and Cleanup
Overview
Prepare .forge/ documents for external sharing by copying them to .forge/redacted/ and replacing sensitive information with consistent placeholders. Original files are NEVER modified. The redaction manifest documents every change for internal reference.
When to Use
- Sharing documents with investors, advisors, or partners
- Preparing materials for external review or cross-validation
- Publishing case studies or documentation based on internal artifacts
- Any situation where internal data must not leave the organization
When NOT to Use
- Documents are already public — no redaction needed
- User wants to delete files — that's not redaction
- The sensitive data IS the deliverable (e.g., a security audit for the client)
Common Rationalizations
| Thought | Reality |
|---|---|
| "I'll just manually remove the sensitive parts" | Manual redaction misses things. Automated scan + manifest catches more |
| "It's fine, the recipient is trusted" | Trust the person, redact the document. People forward things |
| "I'll edit the originals and restore later" | You won't. Original files must be untouched — copy first, always |
| "Only pricing needs redacting" | Credentials, internal metrics, employee names, strategy details — audit first |
| "A quick find-and-replace is enough" | Inconsistent placeholders leak information through correlation |
Red Flags
- Original files modified in place (SAFETY VIOLATION — must copy first)
- Placeholder values are inconsistent (same entity gets different placeholders)
- Grep after redaction still finds sensitive terms
- Manifest is missing (no record of what was changed)
- Redaction categories not defined before scanning (ad-hoc misses patterns)
SAFETY RULE
NEVER modify original files in place. All redaction happens on copies in .forge/redacted/. Original files in .forge/ must remain untouched. If you are about to edit a file outside .forge/redacted/, STOP.
Core Process
Step 1: Define redaction categories
With the user, define what to redact and what to keep:
Redact (typical):
- Pricing, margins, unit economics
- API keys, credentials, connection strings
- Internal strategy, competitive positioning details
- Employee names, internal team structure
- Specific customer names (unless public case study)
- Internal metrics, revenue numbers
Keep (typical):
- Public pricing from competitors
- Architecture patterns and technology choices
- General cost categories (without specific numbers)
- Role titles (without names)
- Publicly available data
Step 2: Define placeholder format
Use consistent, identifiable placeholders:
- Company names:
[COMPANY-A],[COMPANY-B](consistent across all docs) - Prices:
[PRICE-TIER-1],[PRICE-TIER-2] - People:
[TEAM-MEMBER-1],[TEAM-MEMBER-2] - Metrics:
[INTERNAL-METRIC] - Credentials:
[CREDENTIAL-REDACTED]
Consistency rule: the same entity gets the same placeholder everywhere.
Step 3: Scan all files
Scan every file in .forge/ for matches against redaction categories. For each match, record:
- File path
- Line number
- Original content (summary, not full text)
- Redaction action (replace with which placeholder)
Step 4: Generate manifest
Write .forge/redaction-manifest.md:
- Redaction categories defined
- Placeholder mapping (which entity → which placeholder)
- Per-file change list
- Total changes count
Step 5: Copy and redact
- Create
.forge/redacted/directory - Copy all files from
.forge/to.forge/redacted/(preserving structure) - Apply redactions to the copies only
- Do NOT copy
.forge/redaction-manifest.mdto redacted/ (it contains the mapping)
Step 6: Verify
Run grep on .forge/redacted/ for every term in the redaction categories. Zero matches required. If any remain, fix and re-verify.
Step 7: Sync check
If documents are updated later, the redacted copies are stale. Note in the manifest: "Redacted on [date]. If originals change, re-run redaction."
Output
.forge/redaction-manifest.md— what was redacted, placeholder mapping.forge/redacted/*— cleaned copies of all documents
Verification
- Original files in
.forge/are unchanged - All files copied to
.forge/redacted/before any edits - Placeholders are consistent (same entity → same placeholder across all files)
- Grep confirms zero remaining matches for redacted terms in
.forge/redacted/ - Manifest documents every change with file and line reference
- Redaction manifest is NOT copied to
.forge/redacted/ -
.forge/redaction-manifest.mdwritten
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most privacy data protection skills give in ~1.1k tokens
Counted across 120 of the 151 authors here whose files we hold, read 2026-09-06
- Log every PHI access and modificationin 9 of 120, across 4 files
- Sanitize stack traces before sending to error trackingin 9 of 120, across 4 files
- Make the audit log insert-only and immutablein 9 of 120, across 4 files
- Encrypt personal data at rest and in transitin 8 of 120, across 6 files
- Enable row-level security on PHI and PII tablesin 8 of 120, across 3 files
- Tag PHI and PII columns at schema levelin 8 of 120, across 3 files
- Require authentication on all PHI endpointsin 7 of 120, across 2 files
- Configure session timeoutin 7 of 120, across 2 files
- Run the deployment checklist before every deploymentin 7 of 120, across 3 files
- Log only opaque record IDs, not namesin 7 of 120, across 3 files
- Document processing in records of processing activitiesin 7 of 120, across 4 files
- Return generic errors and log details server-sidein 6 of 120, across 2 files
Said here and by no other author read
- Copy originals to a redacted directory before any edits
- Apply redactions only to copies
- Define redaction categories with the user before scanning
- Define a consistent placeholder format before redacting
- Use the same placeholder for the same entity everywhere
- Scan every file against the redaction categories
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.