Produce share-safe copies of memory files under /tmp with PII redacted (paths, emails, session IDs, dates) and credentials scanned (tokens, keys); never mutates originals. Use when the user says "sanitize memory for sharing", "redact memory PII", or "scan memory for credentials".
Scanned 9/6/2026
Install to Claude Code
npx -y skills add OutlineDriven/odin-codex-plugin --skill memory-sanitize --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Memory Sanitize?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/outlinedriven-memory-sanitize-odin-codex-plugin)More formats (shields.io, HTML) on the badges page.
---
name: memory-sanitize
description: Produce share-safe copies of memory files under /tmp with PII redacted (paths, emails, session IDs, dates) and credentials scanned (tokens, keys); never mutates originals. Use when the user says "sanitize memory for sharing", "redact memory PII", or "scan memory for credentials".
# auto-invoke: explicitly permitted — safety preserved: skill never mutates originals; copies to /tmp only
---
Redact PII and scan for credentials in memory files — write copies to `/tmp`, never touch originals.
## Scope
Memory-dir-only. Does not read session histories. Structural audit (orphans, duplicates) belongs in `memory-clean`; run that first if the directory is messy. This skill is a best-effort redactor, not a formal DLP tool — the user is the final reviewer.
## Path resolution
```sh
SKILL_SCRIPTS="${MEMORY_SANITIZE_SKILL_SCRIPTS:-$HOME/.claude/claude/skills/memory-sanitize/scripts}"
MEMORY_DIR=$("$SKILL_SCRIPTS/resolve-paths.sh" memory_dir)
```
`SESSION_HISTORY_GLOB` is not used by this skill. Abort on non-zero exit. Override `MEMORY_SANITIZE_SKILL_SCRIPTS` if installed outside `$HOME/.claude`.
## Workflow
### 1. Resolve memory dir (above)
### 2. Run sanitizer
```sh
DST="/tmp/memory-sanitized-$(date +%s)"
"$SKILL_SCRIPTS/sanitize-memory.sh" "$MEMORY_DIR" "$DST"
```
The script writes redacted copies under `$DST/` and emits a JSON report to stdout:
```json
{
"files": [
{ "source": "feedback_foo.md", "redactions": 3, "credentials": 0 },
{ "source": "MEMORY.md", "redactions": 1, "credentials": 1 }
],
"total_redactions": 4,
"total_credentials": 1
}
```
Read `references/REDACTION-RULES.md` for the full pattern table and severity tiers.
### 3. Show diff and credential hits
```sh
difft "$MEMORY_DIR" "$DST"
```
For each file with credential hits, show the specific line(s) with the hit pattern highlighted. **If any credential remains in the source originals (zero redaction applied despite a credential pattern match), abort with a critical warning** and recommend the user manually remediate the original before sharing.
### 4. Present to user
Render:
```
Sanitized N files → $DST
N redactions applied (paths, emails, session IDs, dates)
N credential hits (see above)
Original files are unchanged. Review the diff before sharing.
```
Wait for user acknowledgement before exiting.
## Boundary fences
- Read-only on originals. Writes only to `/tmp/memory-sanitized-<ts>/`.
- Does not update `MEMORY.md` in the originals — sanitized copies are not a replacement.
- Does not read session histories.
- Security limitation: pattern-based scanning misses novel or obfuscated formats — the user is the final reviewer before sharing.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!