← ClaudeAtlas

privacy-threat-oraclelisted

Deterministic, rule-based privacy decision engine — evaluates a proposed action (which identity/compartment it's taken from, who can see it, what sensitive content it contains) against a threat model of adversary classes and identity compartments, and reports a recommendation (proceed / proceed_with_modification / decline) with a stated residual risk and reason. Its five-class content-sensitivity vocabulary (direct_pii, secret, metadata, inference_cue, stylometric) matches privacy-linter's own leak_class values for the first three, so privacy-linter's --json output plugs in directly as the content-sensitivity input via --from-linter-json; stylometric matches style-obfuscator's --emit-findings bridge instead, and inference_cue is a reserved class neither tool currently produces (see "How this works" for the full breakdown). Runs entirely locally, no model or network call — a rule table over a fixed schema, not an LLM judgment call. Use when the user wants to check whether sharing/posting something crosses an i
Hefrock/agent-skills · ★ 0 · AI & Automation · score 68
Install: claude install-skill Hefrock/agent-skills
# Privacy Threat Oracle The governance layer of the Privacy OS spine (`Projects/Privacy OS - Threat-Model Decision Engine` in the source vault): a living threat model — adversary classes, identity compartments, cost-to-defend tiers — encoded as data, plus a deterministic decision layer over it. Where `privacy-linter` answers "does this content contain a leak," this answers "given who this identity is and who'd see it, should this disclosure happen at all." ## Why this is deterministic-only, not model-based Unlike `privacy-linter`'s own still-unbuilt inference-cue class (`privacy-linter`'s `SKILL.md` names it as deliberately out of scope, blocked on a local-model decision that hasn't been made — nothing in this repo produces it yet), this project's core design doesn't have the same wall: v1 evaluates *already-structured* facts about a proposed action (which compartment, which exposure, which content classes) against a fixed rule table — not raw disclosure content run past an external model. See `references/decision-rubric.md` for why the rule table is a ranked ordering rather than a weighted scoring function (the source project's own Open Question #2), and why structured-only input (not free text) is the deliberate v1 scope (Open Question #3). ## How this works ```bash python scripts/oracle.py \ --source-compartment personal --target-compartment public_professional \ --target-exposure public_internet --content-class direct_pii ``` 1. **Compartment violation check** —