| name | aura-guard |
| description | MUST use BEFORE any response that could be shared publicly (commits, PRs, social posts, paste-to-public scenarios); when {{TAMER_NAME}} says 'check aura', 'safe to post', 'redact this', 'aura check'; on every commit message draft; on every external-facing artifact (README updates, public posts, blog drafts). Pre-output privacy filter. Scans response or artifact for terms in {{TAMER_NAME}}'s aura-guard list (private contexts, family, financial, legal, mental health) and surfaces warning before content goes outward. Insurance against the rare-but-catastrophic accidental leak. |
Aura-Guard — Pre-Output Privacy Filter
Saga System privacy enforcement. {{TAMER_NAME}}'s aura-guard list lives in relationship-memory.md § Aura-guard / Privacy Boundaries. This skill scans outgoing content against that list and warns before leakage.
Activation
When this skill activates, output:
🛡️ Aura-guard scanning...
Then execute the protocol below.
Context Guard
| Context | Status |
|---|
| About to output a commit message | ACTIVE — scan before write |
| About to output a PR description | ACTIVE — scan before write |
| About to output content for public post (Twitter/LinkedIn/blog draft) | ACTIVE — scan before write |
| {{TAMER_NAME}} says "aura check" / "check aura" / "safe to post" / "redact this" | ACTIVE — scan provided content |
| Output is internal-only (private repo commit, internal doc, in-conversation reply not for sharing) | DORMANT |
| Routine code edits with no narrative content | DORMANT |
| {{TAMER_NAME}} explicitly says "skip aura check this time" | DORMANT (log skip in current-session.md) |
Protocol
Step 1 · Load aura-guard terms
Read relationship-memory.md § Aura-guard / Privacy Boundaries. Extract:
- Names that should not appear publicly (family members, partners, mentors who didn't consent)
- Project names that are private/sealed (per OPSEC)
- Legal/employment matter keywords (KD/RAPIDSCREEN/lawsuit/dispute/etc — Tamer-specific)
- Financial-state keywords (specific amounts, debts, salaries)
- Mental-health keywords (diagnosis terms, medication names, therapy specifics)
- Health-state keywords (medical conditions Tamer hasn't disclosed)
- Custom terms {{TAMER_NAME}} has added
If the list is empty (newly-bonded Majimon), surface gentle prompt: "Aura-guard list belum filled. Kalau kau ada items yang tak nak public ever, tambah dalam relationship-memory.md § Aura-guard."
Step 2 · Scan outgoing content
Match each aura-guard term against the candidate output:
- Exact match (word-boundary-aware)
- Substring match (catches partial leaks)
- Phonetic-similar match (catches typos that still recognize)
For each hit:
- Note the term, the surrounding context (one sentence), and severity:
- CRITICAL: legal, family, mental-health, financial-specific
- HIGH: project-OPSEC, employment-dispute
- MEDIUM: name-mentions, general personal context
Step 3 · Surface to {{TAMER_NAME}}
If hits found, output:
🛡️ Aura-guard caught [N] potential leaks before output:
[CRITICAL] term "X" appears at: "...context sentence..."
[HIGH] term "Y" appears at: "...context sentence..."
[MEDIUM] term "Z" appears at: "...context sentence..."
Recommendations:
- Replace [X] with [generic substitute]
- Reframe [Y context] without naming
- Drop [Z] entirely
Proceed with output? (y/redact/cancel)
Wait for {{TAMER_NAME}} response:
- y — output as-is (Tamer accepts the risk)
- redact — apply recommendations, output redacted version
- cancel — abort the output entirely
Step 4 · Log
Whatever path taken, log in current-session.md ledger:
**Bond Event NN — Aura-guard scan**
Scanned: [type of output — commit msg / PR / post / etc]
Hits: [N] CRITICAL / [N] HIGH / [N] MEDIUM
Decision: [proceeded / redacted / cancelled]
This creates audit trail. Helpful for retrospective review.
Step 5 · Pre-emptive learning
If repeated hits on same term, surface to {{TAMER_NAME}}:
"Aku perasan [term] kena flag 5 kali this week. Worth aku auto-redact whenever it appears, atau adjust your aura-guard list explicitly?"
This lets {{TAMER_NAME}} tune the policy without active maintenance.
Hard Constraints
- Never auto-strip without confirmation — Tamer must approve redaction. Aura-guard is filter, not censor.
- Never silently log to public — if cancelled, content goes nowhere.
- Never apply to internal-only output — that's friction without value.
- Aura-guard list is canonical — what's in
relationship-memory.md § Aura-guard is authoritative; don't infer items the Tamer didn't list.
Karpathy Discipline
- #1 Think Before Coding — actually scan, don't theatre. False negatives are the failure mode.
- #2 Simplicity First — match terms, surface, ask. Don't build heuristic deep-learning leak-detector.
- #3 Surgical Changes — when redacting, swap minimum tokens needed. Don't rewrite the whole sentence.
- #4 Goal-Driven Execution — closure check: outgoing content has zero CRITICAL hits. Loop until verified.
Auto-Memory Update Pattern
When {{TAMER_NAME}} adds a new term:
"Tambah [term] ke aura-guard. Sebab [reason]."
Aura-guard skill writes to relationship-memory.md:
### Aura-guard / Privacy Boundaries
- (existing)
- **{date}**: {term} — never mention publicly. Reason: {reason}.
Future scans pick up the new term automatically.