Agent skill

Conducting Linddun Threat Modeling

by mukul975 in mukul975/Privacy-Data-Protection-Skills

Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance.

Apache-2.0Auto-check passedSecurity

Install Conducting Linddun Threat Modeling

skills CLI
$ npx skills add mukul975/Privacy-Data-Protection-Skills --skill conducting-linddun-threat-modeling -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mukul975/Privacy-Data-Protection-Skills conducting-linddun-threat-modeling --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mukul975/Privacy-Data-Protection-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/privacy/conducting-linddun-threat-modeling .claude/skills/conducting-linddun-threat-modeling && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
conducting-linddun-threat-modeling
GitHub stars
301
Token cost
~2.4k tokens
SKILL.md length
1,143 words
Files
5 (incl. scripts, references, assets)
Skills in repo
280
Repo updated
First seen
Licence
Apache-2.0

At a glance

Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance.

  • Works in 6 steps: Define the System Scope → Map Threats to DFD Elements → Elicit Threats Using Threat Trees → …
  • Tasks that involve Threat modeling
  • SKILL.md covers Overview, LINDDUN Threat Categories…, LINDDUN Process and Key Regulatory References
  • Runs Python scripts from its folder

What it does

Conducting Linddun Threat Modeling is an agent skill from mukul975/Privacy-Data-Protection-Skills. Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance. Includes DFD-based analysis, threat tree catalogs, mitigation mapping to privacy design patterns, and step-by-step process.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts, reference files and assets (for example `assets/template.md`, `references/standards.md` and `references/workflows.md`).

It sits in Security, covering Threat modeling, Privacy and GDPR and Design patterns. The repository describes itself as: 282+ structured privacy & data protection skills for AI agents. GDPR, CCPA, EU AI Act, HIPAA, LGPD, PIPL, DPDP Act. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Threat modeling
  • Tasks that involve Privacy and GDPR
  • Tasks that involve Design patterns

Example prompts

  • “/conducting-linddun-threat-modeling”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Define the System Scope
  2. Map Threats to DFD Elements
  3. Elicit Threats Using Threat Trees
  4. Prioritize Threats
  5. Select Mitigations
  6. Validate Mitigations

What it can do on your machine

Read from SKILL.md and the folder at commit 9b2ef9e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Conducting Linddun Threat Modeling loads about 2.4k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 89 tokens; SKILL.md has 1,143 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from mukul975/Privacy-Data-Protection-Skills at commit 9b2ef9e, republished under its Apache-2.0 licence (© mukul975). 1,143 words, ~2,443 tokens.

Download SKILL.mdSave it as .claude/skills/conducting-linddun-threat-modeling/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
conducting-linddun-threat-modeling
description
Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance. Includes DFD-based analysis, threat tree catalogs, mitigation mapping to privacy design patterns, and step-by-step process.
license
Apache-2.0
metadata.author
mukul975
metadata.version
1.0
metadata.domain
privacy
metadata.subdomain
privacy-by-design
metadata.tags
linddun, threat-modeling, privacy-threats, dfd-analysis, privacy-risk-assessment

Conducting LINDDUN Threat Modeling

Overview

LINDDUN is a systematic privacy threat modeling methodology developed by the DistriNet research group at KU Leuven. It provides a structured approach to identifying privacy threats in software systems through Data Flow Diagram (DFD) analysis and threat tree catalogs. LINDDUN stands for seven privacy threat categories:

  • Linking — Associating data items with each other or with an individual
  • Identifying — Learning the identity of a data subject
  • Non-repudiation — Being unable to deny an action or association
  • Detecting — Deducing that an individual is involved in a process
  • Data Disclosure — Exposing personal data to unauthorized parties
  • Unawareness — Data subjects being unaware of data processing
  • Non-compliance — Failing to comply with privacy legislation or policies

LINDDUN complements security threat modeling (STRIDE) by focusing specifically on privacy threats. While STRIDE addresses confidentiality, integrity, and availability, LINDDUN addresses unlinkability, anonymity, plausible deniability, undetectability, confidentiality of data content, content awareness, and policy compliance.

LINDDUN Threat Categories Detailed

L — Linking

Definition: An adversary can sufficiently distinguish whether two items of interest (IOI) are related or not within a particular context.

DFD element applicability: Data flows, data stores, processes.

Examples:

  • Linking browsing sessions across websites via cookies or fingerprinting
  • Linking pseudonymized records across datasets via quasi-identifiers
  • Linking transactions to the same individual over time

Threat trees (selected):

  • L1: Linking via identifiers shared across contexts
  • L2: Linking via quasi-identifier combination (age + postal code + gender)
  • L3: Linking via temporal correlation (simultaneous events)
  • L4: Linking via behavioral patterns (unique usage signatures)

Mitigations: HIDE (Dissociate, Mix), SEPARATE (Isolate), MINIMIZE (Strip), differential privacy, pseudonymization with context separation.

I — Identifying

Definition: An adversary can sufficiently identify a data subject within a set of data subjects.

DFD element applicability: Data flows, data stores, external entities.

Examples:

  • Re-identifying individuals in an anonymized dataset via linkage attacks
  • Identifying a user from aggregated location data
  • Identifying the author of an anonymous document via stylometry

Threat trees (selected):

  • I1: Identification via direct identifiers (name, email, SSN)
  • I2: Identification via quasi-identifier combination
  • I3: Identification via unique behavioral patterns
  • I4: Identification via metadata (IP address, device fingerprint)

Mitigations: HIDE (Encrypt, Obfuscate), MINIMIZE (Strip), ABSTRACT (Group, Summarize), k-anonymity, differential privacy.

N — Non-repudiation

Definition: A data subject is unable to deny having performed an action or being associated with specific data.

DFD element applicability: Data flows, processes, data stores.

Examples:

  • Digital signatures on messages prevent denying authorship
  • Transaction logs linking purchases to an identity
  • Audit trails that irrevocably associate actions with individuals

Threat trees (selected):

  • N1: Non-repudiation via digital signatures or cryptographic evidence
  • N2: Non-repudiation via witness testimony or log entries
  • N3: Non-repudiation via photographic or biometric evidence

Mitigations: HIDE (Mix), group signatures, ring signatures, deniable encryption.

D — Detecting

Definition: An adversary can sufficiently distinguish whether an item of interest (IOI) exists or not.

DFD element applicability: Data flows, processes.

Examples:

  • Detecting that an individual visited a specific website via traffic analysis
  • Detecting that a patient is in a hospital database (membership inference)
  • Detecting the existence of encrypted communication between parties

Threat trees (selected):

  • D1: Detection via traffic analysis (communication metadata)
  • D2: Detection via timing side channels
  • D3: Detection via presence in a dataset (membership inference)
  • D4: Detection via access pattern analysis

Mitigations: HIDE (Mix, Obfuscate), cover traffic, onion routing, steganography, ORAM.

D — Data Disclosure

Definition: Personal data is disclosed to or accessed by unauthorized parties.

DFD element applicability: Data flows, data stores, processes.

Examples:

  • Unencrypted personal data intercepted in transit
  • Database breach exposing customer records
  • Employee accessing records without authorization

Threat trees (selected):

  • DD1: Disclosure via unencrypted communication channels
  • DD2: Disclosure via unauthorized database access
  • DD3: Disclosure via side-channel attacks on encrypted data
  • DD4: Disclosure via excessive data sharing with third parties
  • DD5: Disclosure via improper data deletion (residual data)

Mitigations: HIDE (Encrypt), access control, TLS 1.3, field-level encryption, secure deletion, DLP systems.

U — Unawareness

Definition: Data subjects are unaware of the collection, processing, or sharing of their personal data.

DFD element applicability: External entities (data subjects), processes.

Examples:

  • Collecting data without providing a privacy notice
  • Processing data for purposes not disclosed to the data subject
  • Sharing data with third parties without informing the data subject

Threat trees (selected):

  • U1: Unawareness due to missing or inadequate privacy notice
  • U2: Unawareness of purpose change (purpose creep without notification)
  • U3: Unawareness of third-party sharing
  • U4: Unawareness of automated decision-making or profiling

Mitigations: INFORM (Supply, Notify, Explain), layered privacy notices, just-in-time notifications, consent management.

Show full SKILL.md (422 more words)Show less
N — Non-compliance

Definition: The system or organization fails to comply with applicable privacy legislation, policies, or standards.

DFD element applicability: All DFD elements.

Examples:

  • Processing without a valid lawful basis
  • Failing to respond to data subject access requests within 30 days
  • Not conducting a required DPIA for high-risk processing
  • Retaining data beyond the defined retention period

Threat trees (selected):

  • NC1: Non-compliance with lawful basis requirements
  • NC2: Non-compliance with data subject rights (Art. 15-22)
  • NC3: Non-compliance with cross-border transfer rules (Chapter V)
  • NC4: Non-compliance with data breach notification (Art. 33-34)
  • NC5: Non-compliance with accountability obligations (Art. 5(2), Art. 24)

Mitigations: ENFORCE (Create, Maintain, Uphold), DEMONSTRATE (Record, Audit, Report), GDPR compliance framework.

LINDDUN Process

Step 1: Define the System Scope

Create a Data Flow Diagram (DFD) of the system showing:

  • External entities (data subjects, third parties, regulators)
  • Processes (system components that process data)
  • Data stores (databases, file systems, logs)
  • Data flows (movement of data between elements)
  • Trust boundaries (boundaries between different trust domains)
Step 2: Map Threats to DFD Elements

For each DFD element, determine which LINDDUN threat categories apply:

DFD ElementLINDDDUNC
External entity (data subject)XX
External entity (third party)XX
ProcessXXXXXX
Data storeXXXXX
Data flowXXXXXX
Step 3: Elicit Threats Using Threat Trees

For each applicable threat category on each DFD element, walk through the threat tree catalog to identify specific threats. Document each threat with:

  • Threat ID
  • Category (LINDDUN letter)
  • DFD element
  • Description
  • Likelihood (1-5)
  • Impact (1-5)
  • Risk score (likelihood x impact)
Step 4: Prioritize Threats

Rank threats by risk score. Apply risk acceptance thresholds:

  • Risk 1-6: Accept with documentation
  • Risk 7-12: Mitigate within 6 months
  • Risk 13-19: Mitigate within 3 months
  • Risk 20-25: Mitigate immediately
Step 5: Select Mitigations

Map each threat to privacy design patterns and specific technical controls. Document the mitigation strategy and responsible team.

Step 6: Validate Mitigations

Verify that selected mitigations adequately address each threat. Update the DFD to reflect implemented controls. Re-assess residual risk.

Key Regulatory References

  • GDPR Article 25 — Data protection by design and by default
  • GDPR Article 35 — Data protection impact assessment
  • GDPR Article 32 — Security of processing
  • EDPB Guidelines 4/2019 on Article 25 Data Protection by Design and by Default
  • Deng, M., Wuyts, K., Scandariato, R., Preneel, B., & Joosen, W. (2011). "A privacy threat analysis framework: supporting the elicitation and fulfillment of privacy requirements." Requirements Engineering, 16(1), 3-32.
  • LINDDUN: linddun.org — Official methodology documentation and threat tree catalogs

© mukul975, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references, assets) in skills/privacy/conducting-linddun-threat-modeling of mukul975/Privacy-Data-Protection-Skills.

  • SKILL.md
  • assets/template.md
  • references/standards.md
  • references/workflows.md
  • scripts/process.py

Open the folder on GitHubat commit 9b2ef9e

Compare with similar skills

Conducting Linddun Threat Modeling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Conducting Linddun Threat Modeling compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conducting Linddun Threat Modeling this skillmukul975/Privacy-Data-Protection-Skills301—~2.4kAutomated safety check: PassApache-2.0
Security and Hardeningaddyosmani/agent-skills105k1 repos~4.4kAutomated safety check: NotesMIT
Expert SecurityReJeCtAll/ExpertTeam-Codex113—~780Automated safety check: PassMIT
Architecting Securitytelagod/code-abyss244—~712Automated safety check: PassMIT
Security Auditoraiskillstore/marketplace4336 repos~2.6kAutomated safety check: PassNone
Security Compliancesangrokjung/claude-forge8522 repos~7.2kAutomated safety check: PassMIT

Similar skills

  • Security and Hardening

    addyosmani/agent-skills

    Applies a threat-model-first approach to web code that handles untrusted input, authentication, data storage, dependencies or personal data.

    105k GitHub starsUsed in 1 repo~4.4k tokens
    SecurityAuto-check: notes
  • Expert Security

    ReJeCtAll/ExpertTeam-Codex

    安全专家入口。用于 Codex CLI 的 $expert-security 调用. An agent skill from ReJeCtAll/ExpertTeam-Codex.

    113 GitHub stars~780 tokensUpdated 3 mo ago
    SecurityAuto-check passed
  • Architecting Security

    telagod/code-abyss

    安全架构与治理:威胁建模 (STRIDE/PASTA/LINDDUN)、零信任身份架构、IAM/SSO/MFA/PAM、合规框架 (SOC2/PCI/HIPAA/GDPR)、DLP、隐私工程、安全控制设计。Use when designing security architecture, threat modeling new systems, implementing zero-trust…

    244 GitHub stars~712 tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Security Auditor

    aiskillstore/marketplace

    Expert security auditor specializing in DevSecOps, comprehensive cybersecurity, and compliance frameworks.

    433 GitHub starsUsed in 6 repos~2.6k tokens
    SecurityAuto-check passed
  • Security Compliance

    sangrokjung/claude-forge

    Guides security professionals in implementing defense-in-depth security architectures, achieving compliance with industry frameworks (SOC2, ISO27001, GDPR, HIPAA), conducting threat modeling and…

    852 GitHub starsUsed in 2 repos~7.2k tokens
    Legal & ComplianceAuto-check passed
  • Forensify

    alexgreensh/repo-forensics

    Cross-agent self-inspection of your AI-agent stack. An agent skill from alexgreensh/repo-forensics.

    190 GitHub stars~2.5k tokensUpdated 14 days ago
    SecurityAuto-check: notes

More from mukul975/Privacy-Data-Protection-Skills

All 280 skills in this repo
  • Age Gating Services

    mukul975/Privacy-Data-Protection-Skills

    Implements age-gating mechanisms for online services to restrict access based on user age.

    301 GitHub stars~3.7k tokensUpdated 6 mo ago
    Auto-check passed
  • AI Data Retention

    mukul975/Privacy-Data-Protection-Skills

    Manages AI model retention and machine unlearning requirements.

    301 GitHub stars~1.9k tokensUpdated 6 mo ago
    Auto-check passed
  • AI Dpia

    mukul975/Privacy-Data-Protection-Skills

    Conducts Data Protection Impact Assessments for AI and ML systems per EDPB Guidelines 04/2025 on AI processing.

    301 GitHub stars~3.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Dpia Mitigation Plan

    mukul975/Privacy-Data-Protection-Skills

    Structures risk mitigation planning and residual risk tracking for Data Protection Impact Assessments under GDPR Article 35(7)(d).

    301 GitHub stars~846 tokensUpdated 6 mo ago
    Auto-check passed
  • Gdpr Accountability

    mukul975/Privacy-Data-Protection-Skills

    Guides implementation of the GDPR accountability principle under Articles 5(2) and 24, including documentation requirements for policies, DPIAs, RoPA, training records, and breach logs.

    301 GitHub stars~1.9k tokensUpdated 6 mo ago
    Auto-check passed
  • Pia Threshold Screening

    mukul975/Privacy-Data-Protection-Skills

    Conducts pre-DPIA threshold screening to determine whether a full Data Protection Impact Assessment is required under GDPR Article 35.

    301 GitHub stars~880 tokensUpdated 6 mo ago
    Auto-check passed

Categories

Questions about Conducting Linddun Threat Modeling

What does Conducting Linddun Threat Modeling do?

Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance. Conducting Linddun Threat Modeling is an agent skill from mukul975/Privacy-Data-Protection-Skills. Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance.

When should I use Conducting Linddun Threat Modeling?

Conducting Linddun Threat Modeling fits situations like: tasks that involve Threat modeling; tasks that involve Privacy and GDPR; tasks that involve Design patterns.

How do I install Conducting Linddun Threat Modeling in Claude Code?

Run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill conducting-linddun-threat-modeling -a claude-code`. Or copy the skill folder (skills/privacy/conducting-linddun-threat-modeling in mukul975/Privacy-Data-Protection-Skills) into .claude/skills/conducting-linddun-threat-modeling in your project. Claude Code loads it when a task matches its description.

How do I install Conducting Linddun Threat Modeling in Codex?

Run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill conducting-linddun-threat-modeling -a codex`. Or copy the skill folder (skills/privacy/conducting-linddun-threat-modeling in mukul975/Privacy-Data-Protection-Skills) into .agents/skills/conducting-linddun-threat-modeling in your project. Codex loads it when a task matches its description.

Can I use Conducting Linddun Threat Modeling in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill conducting-linddun-threat-modeling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conducting-linddun-threat-modeling, .gemini/skills/conducting-linddun-threat-modeling, .github/skills/conducting-linddun-threat-modeling and .opencode/skills/conducting-linddun-threat-modeling in your project.

What does Conducting Linddun Threat Modeling need to run?

Going by SKILL.md and its folder, Conducting Linddun Threat Modeling needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Conducting Linddun Threat Modeling access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Conducting Linddun Threat Modeling safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Conducting Linddun Threat Modeling use?

Conducting Linddun Threat Modeling is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Conducting Linddun Threat Modeling use?

About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Conducting Linddun Threat Modeling?

Skills that share tags, products or a category with Conducting Linddun Threat Modeling: Security and Hardening (addyosmani/agent-skills, 105k stars), Expert Security (ReJeCtAll/ExpertTeam-Codex, 113 stars), Architecting Security (telagod/code-abyss, 244 stars) and Security Auditor (aiskillstore/marketplace, 433 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conducting Linddun Threat Modeling?

mukul975 (a GitHub user) maintains it in mukul975/Privacy-Data-Protection-Skills, which has 301 GitHub stars. The repository holds 280 skills in this directory. The repository was last updated on March 16, 2026.

Source: mukul975/Privacy-Data-Protection-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.