privacy-review skill + end-of-session Stop hook (premium hides the body, not the fact) - #222
Merged
Merged
Conversation
Encode the hard-won lesson that premium gating hides the BODY, not the FACT: the title, slug/URL, description, premium_teaser, tags, and any listing README all ship PUBLIC in clear. A gated "Targeting Director at LangChain" doc still broadcasts a job search via its public fields. - privacy-review skill: the mental-model table (what premium encrypts vs what ships public), the two-pass review (clear-fields leak audit + third-party-lens read as employer/competitor/recruiter/search engine), the dispositions (publish / de-identify into a case study / draft:true / keep off the repo + purge git), and the purge procedure. - privacy-review-reminder.sh Stop hook: fires at session end when premium/career/personal content was touched and no privacy review ran, so nothing sensitive ships by accident. Ships a --selftest (3 assertions) per the every-hook-proves-it-bites tenet; registered in settings.json. - manage-premium-content: a prominent "premium is NOT a privacy guarantee" cross-link at the top. Verified: hook --selftest passes, make validate-hook-tests green (33 hooks), and 3 live-fire tests (fires on sensitive+no-review, silent otherwise). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WRtyLha5c6gN3VJ6cEqRPu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Direct outcome of a near-miss this session: a
premium: truecareer doc titled "Targeting: Director, Deployed Engineering (LangChain)" was nearly published. Premium gating would have encrypted the body, but the title, URL, description, and teaser ship public in clear, broadcasting an active job search at a named company (and the current employer in the body). We caught it by hand and kept the doc off the repo. This encodes that check so it's never a lucky catch again.What
privacy-reviewskill — the mental model + review process:draft: true· publish.privacy-review-reminder.shStop hook — fires at session end when premium/career/personal content was touched and no review ran; silent otherwise (and once the skill has run). Ships a--selftest(3 assertions) per the every-hook-proves-it-bites tenet; registered insettings.json.manage-premium-content— a prominent "premium is NOT a privacy guarantee" cross-link.Verification
--selftest: 3 assertions pass.make validate-hook-tests: green (all 33 validator hooks ship a passing selftest).🤖 Generated with Claude Code
https://claude.ai/code/session_01WRtyLha5c6gN3VJ6cEqRPu