gdpr-compliant
Apply GDPR-compliant engineering practices across your codebase.
Skill by mouadja02
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mouadja02-gdpr-compliant
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, devops, data, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gdpr-compliant
What's inside
- Skill name
gdpr-compliant- Description
- Apply GDPR-compliant engineering practices across your codebase. Use this skill whenever you are designing APIs, writing data models, building authentication flows, implementing logging, handling user data, writing retention/deletion jobs, designing cloud infrastructure, or reviewing pull requests for privacy compliance. Trigger this skill for any task involving personal data, user accounts, cookies, analytics, emails, audit logs, encryption, pseudonymization, anonymization, data exports, breach response, CI/CD pipelines that process real data, or any question framed as "is this GDPR-compliant?". Inspired by CNIL developer guidance and GDPR Articles 5, 25, 32, 33, 35.
- License
- MIT
- Instructions
- 281 lines in SKILL.md · view on GitHub
Files (4)
- LICENSE
- SKILL.md
- data-rights.md · references/
- security.md · references/
SKILL.md (first lines)
> **Attribution:** Sourced from [github/awesome-copilot](https://github.com/github/awesome-copilot) by [GitHub Community](https://github.com/github), licensed MIT. Modified for this collection.
# GDPR Engineering Skill
Actionable GDPR reference for engineers, architects, DevOps, and tech leads.
Inspired by CNIL developer guidance and GDPR Articles 5, 25, 32, 33, 35.
> **Golden Rule:** Collect less. Store less. Expose less. Retain less.
For deep dives, read the reference files in `references/`:
- `references/data-rights.md` — user rights endpoints, DSR workflow, RoPA
- `references/security.md` — encryption, hashing, secrets, anonymization
---
## 1. Core GDPR Principles (Article 5)
| Principle | Engineering obligation |
|---|---|
| Lawfulness, fairness, transparency | Document legal basis for every processing activity in the RoPA |
| Purpose limitation | Data collected for purpose A **MUST NOT** be reused for purpose B without a new legal basis |
| Data minimization | Collect only fields with a documented business need today |
| Accuracy | Provide update endpoints; propagate corrections to downstream stores |
| Storage limitation | Define TTL at schema design time — never after |
| Integrity & confidentiality | Encrypt at rest and in transit; restrict and audit access |
| Accountability | Maintain evidence of compliance; RoPA ready for DPA inspection at any time |
---
## 2. Privacy by Design & by Default
**MUST**
- Add `CreatedAt`, `RetentionExpiresAt` to every table holding personal data at creation time.
- Default all optional data collection to **off**. Users opt in; they never opt out of a default-on setting.
- Conduct a **DPIA** before building high-risk processing (biometrics, health data, large-scale profiling, systematic monitoring).
- Update the **RoPA** with every new feature that introduces a processing activity.
- Sign a **DPA** with every sub-processor before data flows to them.
**MUST NOT**
- Ship a new data collection feature without a documented legal basis.
- Enable analytics, tracking, or telemetry by default without explicit consent.
- Store personal data in a system not listed in the RoPA.
---
## 3. Data Minimization
**MUST**
- Map every DTO/model field to a concrete business need. Remove undocumented fields.
- Use **separate DTOs** for create, read, and update — never reuse the same object.
- Return only what the caller is authorized to see — use response projections.
- Mask sensitive values at the edge: return `****1234` for card numbers, never the full value.
- Exclude sensitive fields (DOB, national ID, health) from default list/search projections.
**MUST NOT**
- Log full request/response bodies if they may contain personal data.
- Include personal data in URL path segments or query parameters (CDN logs, browser history).
- Collect `dateOfBirth`, national ID, or health data without an explicit legal basis.
---
## 4. Purpose Limitation
**MUST**
- Document the purpose of every processing activity in code comments and in the RoPA.
- Obtain a new legal basis or perform a compatibility analysis before reusing data for a secondary purpose.
**MUST NOT**
- Share personal data collected for service delivery with advertising networks without explicit consent.
- Use support ticket content to train ML models without a separate legal basis and user notice.
---
## 5. Storage Limitation & Retention
**MUST**
- Every table holding personal data **MUST** have a defined retention period.
- Enforce retention automatically via a scheduled job (Hangfire, cron) — never a manual process.
- Anonymize or delete data when retention expires — never leave expired data silently in production.
**Recommended defaults**
| Data type | Max retention |
|---|---|
| Auth / audit logs | 12–24 months |
| Session / refresh tokens | 30–90 days |
| Email / notification logs | 6 months |
| Inactive user accounts | 12 months after last login → notify → delete |
| Payment records | As required by tax law (7–10 years), minimized |
| Analytics events | 13 months |
**SHOULD**
- Add `RetentionExpiresAt` column — compute at insert time.
- Use soft-delete (`DeletedAt`) with a scheduled hard-delete after the erasure request window (30 days).
**MUST NOT**
- Retain personal data indefinitely "in case it becomes useful later."
---
## 6. API Design Rules
**MUST**
- MUST NOT include personal data in URL paths or query parameters.
- `GET /users/{userId}`
- Authenticate all endpoints that return or accept personal data.
- Extract the acting user's identity from the JWT — never from the request body.
- Validate ownership on every resource: `if (resource.OwnerId != currentUserId) return 403`.
- Use UUIDs or opaque identifiers — never sequential integers as public resource IDs.
**SHOULD**
- Rate-limit sensitive endpoints (login, data export, password reset).
- Set `Referrer-Policy: no-referrer` and an explicit `CORS` allowlist.
**MUST NOT**
- Return stack traces, internal paths, or database errors in API responses.
- Use `Access-Control-Allow-Origin: *` on authenticated APIs.
---From mouadja02/skills, MIT.
More from mouadja02/skills
- 0.637score
eval-driven-dev
mouadja02
Improve AI application with evaluation-driven development.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
semantic-kernel
mouadja02
Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
ai-team-orchestration
mouadja02
Bootstraps and runs a multi-agent development team with roles (dev, QA, DevOps), parallel work, and sprint plans that survive context resets.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
python-pypi-package-builder
mouadja02
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
nano-banana-pro-openrouter
mouadja02
Generate or edit images via OpenRouter with the Gemini 3 Pro Image model.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
autoresearch
luiscantero
Runs an autonomous experiment loop on any programming task: you define the goal, metric, and eval command; the agent edits code, measures, and keeps or…
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
structured-autonomy-plan
mouadja02
Use when an autonomous agent run needs a plan before execution — decomposing the goal, setting explicit boundaries and stop conditions, and defining what the…
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
create-agentsmd
mouadja02
Generates a complete AGENTS.md at the repository root following the agents.md format: setup, build, test, style, and PR conventions coding agents need.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
rich-claude-code-tui-clone
mouadja02
Use when building a Python terminal UI inspired by Claude Code with Rich.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
memory-merger
mouadja02
Merges mature lessons from a domain memory file into its instruction file.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
bmm-skills
mouadja02
Routes requests to the BMad Method (v6.12.4) agile framework: persona agents, planning skills (brief, PRFAQ, PRD, UX, spec, architecture, epics, sprint…
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
ai-ready
mouadja02
Installs John Papa's ai-ready skill, which makes a repository AI-ready by generating AGENTS.md, copilot-instructions.md, CI workflows, and issue templates.
SkillAFreshness: A★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 5
- Open issues
- 25
- Last commit (this folder)
- Oct 16, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mouadja02/skills
- Website
- mouadja02.github.io/skills/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mouadja02
- 0.637score
ai-team-orchestration
mouadja02
Bootstraps and runs a multi-agent development team with roles (dev, QA, DevOps), parallel work, and sprint plans that survive context resets.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
python-pypi-package-builder
mouadja02
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
eval-driven-dev
mouadja02
Improve AI application with evaluation-driven development.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
semantic-kernel
mouadja02
Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
nano-banana-pro-openrouter
mouadja02
Generate or edit images via OpenRouter with the Gemini 3 Pro Image model.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
rich-claude-code-tui-clone
mouadja02
Use when building a Python terminal UI inspired by Claude Code with Rich.
SkillAFreshness: A★ 11Claude Code +9
Cite this page
gdpr-compliant skill. Agent Mart. https://agentmart.dev/skills/mouadja02-gdpr-compliant (last updated 2026-10-24)