Personal Data Protection logo

Personal Data Protection

OrganizationPopular
hashgraph-online
personal-data-protection

Personal-data-protection compliance reference for engineers building applications subject to Singapore PDPA, Indonesia UU PDP, Thailand PDPA, Malaysia PDPA, Philippines DPA (RA 10173), or Vietnam PDPL (91/2025/QH15). Use when reviewing or modifying code that touches personal data — signup/auth/consent, data export, account deletion, retention/purging, admin access to personal-data stores, third-party processors, breach response, or privacy/T&C documents.

Overview

Publisherhashgraph-online
Repositoryawesome-codex-plugins
Skill namepersonal-data-protection
Stars
1.3K
Forks
360
Bundled files
63
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 63 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by hashgraph-online on GitHub. Read the source before you install it.

Installation

Install the Personal Data Protection AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/AltByteSG/personal-data-protection-skill/skills/personal-data-protection
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git /tmp/awesome-codex-plugins
mkdir -p .claude/skills
cp -r /tmp/awesome-codex-plugins/plugins/AltByteSG/personal-data-protection-skill/skills/personal-data-protection .claude/skills/personal-data-protection
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Personal Data Protection in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Personal Data Protection on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Personal Data Protection is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Personal Data Protection Compliance — Layered Reference

⚠ Reference material, not legal advice

This skill is engineering reference material, not legal advice. The maintainers and contributors are not licensed to practise law in Singapore, Thailand, Indonesia, Malaysia, the Philippines, Vietnam, or any other jurisdiction. No attorney–client relationship is created by use of this skill.

Do not rely on this skill as your sole source of truth for personal-data-protection compliance. Always (a) verify any statute citation, threshold, or obligation against the official source, and (b) engage a qualified Data Protection Officer or privacy lawyer before making compliance decisions that materially affect your obligations or your users' rights.

Source-text posture: this skill does not reproduce or republish any of the underlying statutes. It provides engineer-facing interpretation and short attributed quotations of operative phrases under fair-dealing principles, with links to the official sources. Anyone planning to package or redistribute the content beyond similar engineering-reference use should read DISCLAIMER.md § Copyright in source materials — Malaysia's PNMB-published Act 709 / Act A1727 carry the strictest publisher's notice of the populated jurisdictions and may require prior permission.

By using this skill you accept the full disclaimer in DISCLAIMER.md, including the "use at your own risk" terms and the maintainers' zero liability for any decision taken in reliance on this content.

This skill helps engineers ship features that comply with personal-data-protection statutes in Singapore, Thailand, Indonesia, Malaysia, the Philippines and Vietnam. It is organised by where in the stack the obligation lives rather than by statute section number — engineers shouldn't need to learn statute references to do their job.

Step 1 — Identify the active jurisdiction(s)

On first use in a project, check for .pdp-compliance.json at the project root. If present, use personalDataProtection.jurisdictions and load only the matching jurisdictions/<code>/README.md files. If absent, ask the user which jurisdiction(s) apply. The answer depends on where the application's users are located, not where the company is registered.

"Which personal-data-protection regimes does this application need to comply with? Pick all that apply: Singapore (PDPA 2012), Indonesia (UU PDP 27/2022), Thailand (PDPA B.E. 2562), Malaysia (PDPA 2010 with 2024 Amendments), Philippines (DPA / RA 10173), Vietnam (PDPL 91/2025/QH15). If users span multiple jurisdictions — and note Vietnam applies to Vietnamese citizens wherever they are —, pick all relevant — the strictest rule will usually win."

Once selected, suggest creating .pdp-compliance.json in the project root so future sessions and local guardrails do not need to re-ask:

json
{
  "personalDataProtection": {
    "jurisdictions": ["sg-pdpa"],
    "mode": "strictest-wins",
    "reviewPolicy": "warn"
  }
}

Then load only the relevant jurisdictions/<code>/README.md files. Cross-jurisdiction comparison lives in jurisdictions/_index.md.

Codes: sg-pdpa, th-pdpa, id-pdp, my-pdpa, ph-dpa, vn-pdpl — all populated. Per-jurisdiction status and the full comparison grid live in jurisdictions/_index.md.

Once the user has chosen, persist that choice in .pdp-compliance.json when the project allows file changes. If the project cannot accept that file, persist the choice somewhere project-specific (a comment in the project's AGENTS.md, CLAUDE.md, or equivalent project-instruction file) so subsequent sessions don't need to re-ask.

Step 2 — Pick the right entry point

You're starting work on something. Open the matching checklist:

TaskChecklist
Adding or modifying a feature that touches personal datachecklists/new-feature.md
Adding a column / field that holds personal datachecklists/new-data-field.md
Adding a third-party SDK or vendor that will process personal datachecklists/new-vendor.md
Responding to a security incidentchecklists/breach-response.md

You want depth on a specific layer. Open the matching layer file:

LayerWhat it covers
01 Non-technicalDPO, staff acceptable-use, vendor contracts, complaint handling
02 ArchitectureData residency, isolation, encryption, secret handling, defence-in-depth
03 Data modelConsent records, audit records, retention markers, deletion conventions, PII inventory
04 Controls and processesAccess control, retention sweeps, log hygiene, breach detection signals
05 Feature / UXSignup consent, settings, account deletion, data export, primer dialogs, EXIF strip
06 DisclosurePrivacy policy, T&C, OS permission strings, contextual notices
07 OperationalIncident response, retention sweeps, backups, vendor reviews, monitoring

Layer files are universal across all populated jurisdictions — implementation patterns are shared. Jurisdiction-specific obligations live in jurisdictions/<code>/obligations/.

Jurisdiction files

Once the active jurisdiction is known, open its files directly from this table rather than following links from one file to the next. Each README.md states scope, statute version and verification date; statute-map.md maps sections to layers; the obligation files hold the per-statute rules.

Templates to copy into a project: INCIDENT_RESPONSE.md.template (breach runbook) and pdp-nudge.sh.template (changed-file reminder hook).

Critical thresholds (commit to memory)

These vary by jurisdiction — the active one(s) determine which apply.

Singapore PDPAThailand PDPAIndonesia UU PDPMalaysia PDPAPhilippines DPAVietnam PDPL
Breach notification window to authority3 calendar days after assessing as notifiable (s26D(1))72 hours from awareness (s37(4))72 hours from awareness — to both subject AND regulator (Pasal 46(1))72 hours from discovery to Commissioner (s12B(1) + JPDP Guideline 25 Feb 2025); 7 days post-Commissioner to affected subject72 hours from knowledge / reasonable belief — to both NPC AND affected subject (§ 38 IRR + NPC Circular 16-03 § 12)72 hours from detection of the act (Điều 23(1)) — no assessment step
Significant-scale / risk threshold≥ 500 affected individuals"Risk to rights and freedoms"; "high risk" triggers individual notificationAlways notify subject; "certain circumstances" trigger public notification (Pasal 46(3))"Significant harm" triggers subject notification (s12B(2)) — no fixed scale thresholdInformation-type-driven: SPI or identity-fraud-enabling info, acquired by unauthorised person, real risk of serious harm (NPC Circular 16-03 § 11); ≥ 100 persons triggers § 35 penalty aggravationNone — harm-based trigger covering national defence/security and the subject's life, health, honour, dignity, property (Điều 23(1)); Điều 23(3) also covers purpose-creep and rights failures
Maximum financial penalty capSGD 1M / 10% SG turnover (s48J(3))THB 1M / 3M / 5M tiered (s82–84); plus criminal up to 1 year + THB 1M (s79)2% of annual revenue per violation (Pasal 57(3)); plus corporate criminal — fines up to 10× + suspension / dissolution (Pasal 70)RM 1M / 3 years per principle breach (s5(2), raised by A1727 from RM 300k / 2y); per-offence not turnover-based; offences stack₱5M / 6 years for combination or series (§ 33); ₱4M / 6 years for SPI offences (§§ 25(b), 26(b)); ≥ 100 persons triggers maximum-period aggravation (§ 35)5% of revenue for cross-border violations (Điều 8(4)) — highest here; 10× the gain for buying/selling data (Điều 8(3))
Individual criminal liabilityYes (s48D/E/F) — SGD 5,000 / 2 yearsYes (s79–81); s81 catches director / manager omissions, broader than SGYes (Pasal 67–68): up to 6 years + IDR 6B; corporate liability extends to dissolution (Pasal 70(4))Yes (s130 unlawful collecting RM 500k / 3y); s133 deeming liability for directors / managers unless they prove no-knowledge + due-diligence defenceYes — § 34 makes responsible officers personally liable for the prison terms of corporate offences (in addition to the corporate fine); § 30 concealment is its own offence (1.5–5 years + ₱500k–₱1M)Yes — Điều 8(1) routes to criminal prosecution; Điều 7 prohibits appropriating, intentionally disclosing or losing data, and buying/selling it

How to use the layer ↔ obligation split

The pattern is implement once, check against multiple jurisdictions.

A new-feature checklist run looks like:

  1. Identify what personal data the feature touches.
  2. Walk the universal layers/ to plan the implementation (data model, access controls, UX, disclosure, operational).
  3. For each active jurisdiction, walk jurisdictions/<code>/obligations/ to verify the implementation satisfies the statute-level obligations. Note where multiple jurisdictions disagree — usually the strictest rule controls.
  4. Update the project's privacy policy / consent records / runbook as needed.

Statute version

Each jurisdiction's README.md records:

  • Which version of the statute the obligation files reflect
  • When the content was last verified against official sources
  • Pending amendments to watch for

When statutes amend, this skill is updated and tagged. See the upstream CHANGELOG.md and pin to a version if you need stability.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 3 more files.

Frequently asked questions

What does the Personal Data Protection AI skill do?

Personal-data-protection compliance reference for engineers building applications subject to Singapore PDPA, Indonesia UU PDP, Thailand PDPA, Malaysia PDPA, Philippines DPA (RA 10173), or Vietnam PDPL (91/2025/QH15). Use when reviewing or modifying code that touches personal data — signup/auth/consent, data export, account deletion, retention/purging, admin access to personal-data stores, third-party processors, breach response, or privacy/T&C documents.

Why use Personal Data Protection on TypingMind?

Because you install it once and use it with any model. Personal Data Protection is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Personal Data Protection in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/AltByteSG/personal-data-protection-skill/skills/personal-data-protection. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Personal Data Protection?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Personal Data Protection?

As many as you like. As long as a model supports skills, you can use Personal Data Protection with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Personal Data Protection AI skill free?

Yes. It is published on GitHub by hashgraph-online under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇