Skip to content
Skillpedia
Security48k · #3882

privacy-by-design

Has your agent build apps with privacy from the start. It protects user data by collecting only what's needed and with consent.

What it does

This tool helps build apps that protect user data from the start. It ensures only essential information is collected and users understand how their data is used.

When to use it

  • ✓When creating an app that asks for name, email, or location.
  • ✓When thinking about how to store user information.
  • ✓When the user mentions forms, accounts, or analytics.

Example of what to ask your AI

“How can I ensure the app only collects truly necessary data?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/privacy-by-design/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/privacy-by-design/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It works by setting clear rules about what data to collect and why. It also ensures data is protected with encryption and that users can request its deletion.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill privacy-by-design

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/privacy-by-design/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Privacy by Design

Overview

Integrate privacy protections into software architecture from the beginning, not as an afterthought. This skill applies Privacy by Design principles (GDPR Article 25, Cavoukian's framework) when designing databases, APIs, and user flows. Protects real users' data and builds trust.

When to Use This Skill

  • Use when building apps that collect personal data (names, emails, locations, preferences)
  • Use when designing database schemas, APIs, or authentication flows
  • Use when the user mentions forms, user accounts, analytics, or third-party integrations
  • Use when deploying to production—verify privacy controls before launch

Legal Frameworks

GDPR (EU) — Primary reference. Article 25 mandates "data protection by design and by default." Applies to EU users and often adopted globally.

CCPA (California) — Right to know, delete, opt-out of sale. Similar principles: minimize, disclose, allow control.

LGPD (Brazil) — Aligned with GDPR. Purpose limitation, necessity, transparency. Applies to Brazil users.

Design for the strictest framework you target; it often satisfies others.


Core Principles

1. Data Minimization

Collect only what is strictly necessary. Every field needs a documented justification. Avoid "we might need it later."

2. Purpose Limitation

Store the purpose of each data point. Do not reuse data for purposes the user did not consent to.

3. Storage Limitation

Define retention periods. Implement automated deletion or anonymization when retention expires. Never keep data "forever" by default.

4. Privacy as Default

Opt-in for optional collection, not opt-out. Sensitive settings (analytics, marketing) off by default. No pre-checked consent boxes.

5. End-to-End Security

Encrypt at rest and in transit. Use RBAC. Log access to sensitive data for audit.

6. Transparency

Document what is collected and why. Clear privacy policies. Easy access and deletion for users.


User Rights (GDPR)

Ensure these are implementable from day one:

Right What to build
Access Endpoint or flow to return all user data
Rectification Ability to update/correct data
Erasure Account deletion + data purge (including backups)
Portability Export data in machine-readable format (JSON, CSV)

Deep Dive: Why It Matters

Data minimization — Less data = less breach impact, lower storage cost, simpler compliance. Each field is a liability.

Purpose limitation — Reusing data without consent is illegal under GDPR. Document purpose in schema or metadata.

Retention — Indefinite storage increases risk and violates GDPR. Define retention_days per data type; automate cleanup.

Logging — Logs often leak PII. Redact emails, IDs, tokens. Use structured logging with allowlists.

Third parties — Every SDK (analytics, crash reporting, ads) may send data elsewhere. Audit dependencies; require consent before loading.


Code Examples

JavaScript/Node — Minimal User Model

// BAD: Collecting everything "just in case"
const user = { email, name, phone, address, birthdate, ipAddress, userAgent, ... };

// GOOD: Minimal, documented purpose
const user = {
  email,        // purpose: authentication
  displayName,  // purpose: UI display
  createdAt,    // purpose: account age
};

JavaScript — Consent Before Tracking

// BAD: Track first, ask later
analytics.track(userId, event);

// GOOD: Check consent first
if (userConsent.analytics) {
  analytics.track(userId, event);
}

Python — Safe Logging

# BAD: Logging PII in plain text
logger.info(f"User {user.email} logged in from {request.remote_addr}")

# GOOD: Redact or hash identifiers
logger.info(f"User {hash_user_id(user.id)} logged in")
# Or: logger.info("User login", extra={"user_id_hash": hash_id(user.id)})

SQL — Schema with Purpose and Retention

-- GOOD: Document purpose and retention in schema
CREATE TABLE users (
  id UUID PRIMARY KEY,
  email VARCHAR(255) NOT NULL,  -- purpose: auth, retention: account lifetime
  display_name VARCHAR(100),   -- purpose: UI, retention: account lifetime
  created_at TIMESTAMPTZ,      -- purpose: audit, retention: 7 years
  last_login_at TIMESTAMPTZ    -- purpose: security, retention: 90 days
);

-- Add retention policy (PostgreSQL example)
-- Schedule job to anonymize/delete last_login_at after 90 days

…

FAQ

What is 'Data Minimization'?

It means collecting only the minimum information essential for the app to function, avoiding storing data 'just in case'.

What is 'Privacy by Default'?

It's setting up the app so that the strictest privacy options are automatically enabled, requiring the user to actively choose to share more data.

Do I need to worry about laws like GDPR or LGPD?

Yes, this tool helps comply with these laws, which require data protection and transparency with users.

Details

Original description by the author

Use when building apps that collect user data. Ensures privacy protections are built in from the start—data minimization, consent, encryption.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3882
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills