privacy-audit
Skill4 starsChanged 3 months agoMITView on GitHub
Audit an app, website or backend for personal-data compliance (GDPR, ePrivacy, children's privacy) and produce the store privacy disclosures from the code. Builds a data inventory from the codebase and SDKs, checks lawful basis, consent, transparency, rights, retention, account deletion, processors and international transfers, then drafts the privacy policy, Apple App Privacy answers plus PrivacyInfo.xcprivacy, and Google Play Data safety answers. Use when the user asks about GDPR, privacy policy, "what data do we collect", consent banner, cookies or tracking, ATT, Apple nutrition labels, privacy manifest, Play Data safety form, account deletion, data subject requests, DPA or sub-processors, analytics/SDK privacy impact, kids' privacy, or before a store submission or a client handover.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- liuyi0808/android-reviewtheir own version, first seen Oct 13, 2026
- johnsmithCA-sta/privacy-audittheir own version, first seen Sep 30, 2026
- lglucas/ai-dev-operating-systemtheir own version, first seen Sep 28, 2026
- dweinstein/mobile-security-skillstheir own version, first seen Mar 11, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- dweinstein/mobile-security-skills★ 40same name
- liuyi0808/android-review★ 17same name
- lglucas/ai-dev-operating-system★ 12same name
- johnsmithCA-sta/privacy-audit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- ai-act-auditSkill
- project-workshop-generatorSkill
- store-listingSkill
- store-review-preflightSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 3 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Inventory first: Every claim ties to a row in the data inventory (assets/data-inventory-template.md).
- Distinctive: line 17
Protect real data: Never print personal data, keys or tokens found in the repo.
- Very specific: line 31
Read references/01-detection-signals.md.
- Very specific: line 37
Read references/02-gdpr-core.md (bases, special categories, consent) and references/03-eprivacy-consent-tracking.md (device access, SDK …
- Distinctive: line 39
Done when: every activity has a basis and every SDK that stores or reads device identifiers is classified as strictly necessary, …
- Very specific: line 49
Read references/09-transfers-vendors.md.
- Distinctive: line 51
Done when: every vendor row carries role, DPA status, region and mechanism, or ❓ with the owner of the answer.
- Very specific: line 61
Read references/04-apple-privacy.md and references/05-google-data-safety.md.
- Very specific: line 63
If the repo already contains store-declaration documents (e.g.
- Very specific: line 71
Done when: every 🔴/🟠 has evidence, citation and a concrete fix with effort (S/M/L), and the report lists what could not be verified.
- Very specific: line 75
Read references/00-method.md first in every run: verdict scale, evidence classes, legal-status snapshot (as of 2026-11-05), scope limits.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Privacy Audit
Find what personal data the product really handles, then compare that inventory with what the product tells people (policy, labels, consent) and what the law asks.
Output: a report from assets/report-template.md, plus the drafts the user asked for (policy, store worksheets, manifest).
Ground rules
- Inventory first. Every claim ties to a row in the data inventory (
assets/data-inventory-template.md). No inventory row, no finding. - Evidence or ❓. A verdict needs a path and line, a command output, a console value the user confirmed, or a vendor-doc citation. Otherwise ❓ with the exact thing to check.
- Respect confidence tags.
V= source read on 2026-11-05.T-s= statutory text from training knowledge (stable, low drift).T= training knowledge on practice, guidance or vendor behaviour: re-verify before 🔴. - Protect real data. Never print personal data, keys or tokens found in the repo. Cite variable names and paths only.
- State the role. Record whether the audited party is controller, processor or joint controller for each processing activity; developers building for clients are usually processors and the client is the controller. Findings address the right party.
- Conservative verdicts, no legal conclusions. The report is an engineering-level screening, not legal advice. Prefer 🟠 with a question over a confident 🔴 on judgement calls (lawful basis, necessity, legitimate interest).
Workflow
Step 1 — Frame
Record: product type (mobile, web, backend), stack, controller/processor role, audience (adults, minors, employees), regions of users, special data (health, biometrics, location, children), existing documents (privacy policy, RoPA, DPA), store distribution. Ask unknowns in one batch.
Done when each of those seven items is written down or listed as an open question.
Step 2 — Build the data inventory
Read references/01-detection-signals.md. Search the repo for collection points, storage, outbound data flows and SDKs; read references/06-sdk-catalog.md for each SDK found. Fill assets/data-inventory-template.md.
Done when (a) every personal-data field, identifier and permission found has a row with category, source, purpose, recipient, location, retention (or "unknown") and evidence path, and (b) every third-party domain and SDK in the code appears in the vendor table.
Step 3 — Lawful basis, consent and tracking
Read references/02-gdpr-core.md (bases, special categories, consent) and references/03-eprivacy-consent-tracking.md (device access, SDK consent gating). For each processing activity assign the Art. 6 basis (plus Art. 9 condition when special data) and test the consent mechanism in code.
Done when every activity has a basis and every SDK that stores or reads device identifiers is classified as strictly necessary, consent-gated, or gap.
Step 4 — Transparency, rights, retention, deletion
Compare the privacy policy to the inventory (Art. 13 content). Read references/08-rights-retention-deletion.md and trace the account-deletion path through every system that holds the data.
Done when the policy-vs-inventory table has no unexplained row, and the deletion trace lists each system as deleted, anonymised, retained-with-reason, or gap.
Step 5 — Vendors and transfers
Read references/09-transfers-vendors.md. For each vendor: role, DPA, data region, transfer mechanism.
Done when every vendor row carries role, DPA status, region and mechanism, or ❓ with the owner of the answer.
Step 6 — Special regimes
Open references/07-children-sensitive-ai.md when the inventory shows minors, health, biometrics, precise location, third-party AI processing, employees, or user-generated content. For Italian users also open references/10-italy-notes.md.
Done when each triggered regime has verdicts with citations; each non-triggered regime is ⚪ with a reason.
Step 7 — Store disclosures
Read references/04-apple-privacy.md and references/05-google-data-safety.md. Derive answers from the inventory into assets/apple-privacy-worksheet.md, assets/play-data-safety-worksheet.md and, for iOS, a manifest based on assets/privacy-manifest.example.xcprivacy. Compare with answers the user already submitted.
If the repo already contains store-declaration documents (e.g. docs/compliance/), diff them row by row against the worksheets: omissions (an optional field in the policy missing from the Play form) and category mismatches are the usual findings.
Done when both worksheets are complete and every difference from the live console answers and from in-repo declaration documents is a finding.
Step 8 — Report and drafts
Fill assets/report-template.md. When requested, draft the privacy policy from assets/privacy-policy-skeleton.md using only inventory facts. Order findings: 🔴, 🟠, store-blocking disclosures, 🟡.
Done when every 🔴/🟠 has evidence, citation and a concrete fix with effort (S/M/L), and the report lists what could not be verified.
Reference navigation
Read references/00-method.md first in every run: verdict scale, evidence classes, legal-status snapshot (as of 2026-11-05), scope limits.
| File | Use |
00-method.md | Method, verdicts, legal snapshot |
01-detection-signals.md | Where personal data hides in code, by stack |
02-gdpr-core.md | GDPR articles as audit checks |
03-eprivacy-consent-tracking.md | Device access, consent, SDK gating, ATT, UMP |
04-apple-privacy.md | App Privacy labels, manifest, ATT, Apple data rules |
05-google-data-safety.md | Data safety form, User Data policy, Families |
06-sdk-catalog.md | What common SDKs collect and how to declare it |
07-children-sensitive-ai.md | Minors, special data, location, AI processing |
08-rights-retention-deletion.md | Rights handling, retention, deletion cascades |
09-transfers-vendors.md | Roles, DPAs, regions, SCCs, DPF |
10-italy-notes.md | Italian specifics |
Hand-offs: store review readiness → store-review-preflight (if installed); generative-AI transparency and prohibited practices → ai-act-audit (if installed).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

