← ClaudeAtlas

leak-guardlisted

Stop the developer's own machine leaking into a repository that is about to be made public. Home paths, "~/" roots and email addresses are caught in the open by a CI-runnable scanner; private project names are caught by a list held OUTSIDE the repository, because a committed denylist of the names you are hiding is an index pointing at them. Use when setting up a repo that will go public, when a scan reports a hit, or when someone asks how to remove something already pushed.
agigante80/forge-kit · ★ 0 · Code & Development · score 60
Install: claude install-skill agigante80/forge-kit
<!-- leak-guard-version: 4 --> # Leak guard A repository governed by forge-kit is usually about to become public, and nothing in the ordinary workflow stops the developer's own machine arriving with it. This is the guard for that. The mechanism is boring, which is why it keeps working. Real names arrive as sample data, because the fastest way to write a realistic project list is to list the projects you have, and the result looks like sample data forever afterwards. Absolute paths arrive inside pasted output: a traceback, a `ps` line, a test failure. Each carries a working directory, and under a home directory that path is not neutral. The username identifies a person, and **the segments above the project are worse**, because a path can name an employer, a client, a filing scheme, or a category its owner considers private. The project name at the end is the only part anyone meant to publish. ## Two halves, split by whether the check needs a secret **A denylist of the private names cannot live in the repository it protects.** A public file enumerating the names you have been hiding tells a reader exactly what to search the history for. It converts a guard into an index. That single constraint forces the whole design. | | Public half | Private half | |---|---|---| | Asset | `check-public-leaks.sh` | `check-private-leaks.sh` | | Catches | path shapes, unlisted `~/` roots, addresses | private project and folder NAMES | | Needs a secret | no | yes, a list of the names | | Wh