[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AFJM3MBTHM8KFNK0BFD84C":3,"skill-same:01M6AFJM3MBTHM8KFNK0BFD84C":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6AFJM3MBTHM8KFNK0BFD84C","consent-withdrawal",null,"Implementation guide for GDPR Article 7(3) consent withdrawal mechanisms. Covers the equal ease requirement ensuring withdrawal is as easy as giving consent, one-click withdrawal implementation, cascading effects on downstream processing, third-party notification workflows, and technical architecture for real-time consent revocation.","mukul975\u002FPrivacy-Data-Protection-Skills","mukul975","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42860185?v=4","01M6ADEQR8T5M4EEG6C67BQCWF","Mahipal","01M6ADNKWX1HF4Q5DKEXT5M774",336,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34],"consent withdrawal","workflows","architecture","gdpr","privacy","real-time","2026-11-10 10:12:30",false,"---\nname: consent-withdrawal\ndescription: >-\n  Implementation guide for GDPR Article 7(3) consent withdrawal mechanisms. Covers the\n  equal ease requirement ensuring withdrawal is as easy as giving consent, one-click\n  withdrawal implementation, cascading effects on downstream processing, third-party\n  notification workflows, and technical architecture for real-time consent revocation.\nlicense: Apache-2.0\nmetadata:\n  author: mukul975\n  version: \"1.0\"\n  domain: privacy\n  subdomain: consent-management\n  tags: \"consent-withdrawal, article-7-3, right-to-withdraw, cascading-effects, consent-revocation\"\n---\n\n# Implementing Consent Withdrawal\n\n## Overview\n\nGDPR Article 7(3) states: \"The data subject shall have the right to withdraw his or her consent at any time. The withdrawal of consent shall not affect the lawfulness of processing based on consent before its withdrawal. Prior to giving consent, the data subject shall be informed thereof. It shall be as easy to withdraw consent as to give it.\"\n\nThe \"equal ease\" requirement is the most technically demanding aspect. If consent was given with a single checkbox tick during sign-up, withdrawal must be achievable with a comparable level of effort — not buried behind multiple navigation layers, settings pages, or dark patterns.\n\n## Equal Ease Analysis\n\n### Measuring Consent Complexity\n\nQuantify the effort required to give consent and ensure withdrawal meets or exceeds this standard:\n\n| Metric | How to Measure | Target |\n|--------|---------------|--------|\n| Click Count | Number of clicks\u002Ftaps from entry point to completion | Withdrawal clicks \u003C= consent clicks |\n| Page Navigations | Number of page loads between start and completion | Withdrawal pages \u003C= consent pages |\n| Form Fields | Number of inputs required | Withdrawal fields \u003C= consent fields |\n| Time to Complete | Measured in usability testing | Withdrawal time \u003C= consent time |\n| Cognitive Load | Comprehension difficulty of instructions | Withdrawal instructions equally clear |\n| Accessibility | Steps required with keyboard-only navigation | Equal keyboard accessibility |\n\n### CloudVault SaaS Inc. Compliance Analysis\n\n| Action | Method | Click Count | Pages | Fields |\n|--------|--------|-------------|-------|--------|\n| Give consent (sign-up) | Unticked checkbox tick | 1 click | Same page | 0 |\n| Withdraw consent (preference center) | Toggle switch off + confirm | 2 clicks | 1 page | 0 |\n| Withdraw consent (email unsubscribe) | Unsubscribe link click | 1 click | 1 page | 0 |\n\nThe preference center withdrawal requires one additional click (confirmation dialog). This is acceptable because it protects against accidental withdrawal, and the EDPB acknowledges that a confirmation step does not violate equal ease (Guidelines 05\u002F2020, paragraph 116).\n\n## One-Click Withdrawal Architecture\n\n### Withdrawal Entry Points\n\nCloudVault SaaS Inc. provides withdrawal access from multiple locations:\n\n1. **Preference Center**: Settings > Privacy (2 clicks from any page)\n2. **Footer Link**: \"Privacy Choices\" link in page footer (1 click + toggle)\n3. **Email Unsubscribe**: One-click unsubscribe link in every marketing email (1 click, per RFC 8058 List-Unsubscribe-Post)\n4. **Account Dashboard**: Privacy widget showing current consent state (1 click + toggle)\n5. **API Endpoint**: PUT \u002Fapi\u002Fv1\u002Fconsent\u002Fpreferences\u002F{subject_id} for programmatic withdrawal\n\n### Withdrawal Processing Pipeline\n\n```\nTRIGGER: User clicks withdrawal toggle for a specific purpose\n  │\n  ├─► Step 1: Client-Side\n  │     ├─ Display confirmation dialog:\n  │     │   \"Withdraw consent for [purpose name]?\"\n  │     │   \"This will stop [specific processing description].\"\n  │     │   \"You can re-enable this at any time.\"\n  │     │   [Cancel] [Withdraw]\n  │     │\n  │     └─ User clicks [Withdraw]\n  │\n  ├─► Step 2: API Call\n  │     PUT \u002Fapi\u002Fv1\u002Fconsent\u002Fpreferences\u002F{subject_id}\n  │     Body: { decisions: [{ purpose_id: \"pur_analytics_01\", decision: \"withdrawn\", mechanism: \"toggle_switch\" }] }\n  │\n  ├─► Step 3: Backend Processing (within 100ms)\n  │     ├─ Create ConsentDecision record (decision: \"withdrawn\")\n  │     ├─ Validate request (subject exists, purpose exists, consent was previously granted)\n  │     ├─ Update consent state cache (Redis\u002Fin-memory)\n  │     └─ Return success response to client\n  │\n  ├─► Step 4: Cascading Effects (async, within 1 hour)\n  │     ├─ Dispatch withdrawal events to message queue (Kafka\u002FRabbitMQ\u002FSQS)\n  │     ├─ Each downstream system receives withdrawal notification:\n  │     │\n  │     │   Purpose: \"Service Improvement Analytics\" (pur_analytics_001)\n  │     │   ├─ Stop analytics SDK data collection for this user\n  │     │   ├─ Remove user from analytics cohorts\n  │     │   └─ Flag existing analytics data for review\u002Fdeletion\n  │     │\n  │     │   Purpose: \"Product Update Emails\" (pur_marketing_002)\n  │     │   ├─ Remove user from email marketing lists\n  │     │   ├─ Add user to suppression list\n  │     │   ├─ Cancel any scheduled email campaigns for this user\n  │     │   └─ Confirm with email service provider (ESP)\n  │     │\n  │     │   Purpose: \"Industry Benchmarking\" (pur_benchmarking_003)\n  │     │   ├─ Stop data sharing with Datalytics Partners Ltd.\n  │     │   ├─ Notify Datalytics Partners Ltd. via API\n  │     │   ├─ Request confirmation of processing cessation\n  │     │   └─ Flag shared data for deletion per DPA terms\n  │     │\n  │     └─ Log all propagation events with status tracking\n  │\n  ├─► Step 5: Downstream Acknowledgment (within 24 hours)\n  │     ├─ Each downstream system sends acknowledgment\n  │     ├─ System monitors for missing acknowledgments\n  │     ├─ Escalation workflow for unacknowledged withdrawals:\n  │     │   ├─ T+1 hour: Automated retry\n  │     │   ├─ T+4 hours: Alert to engineering team\n  │     │   └─ T+24 hours: Escalate to DPO\n  │     └─ All acknowledgments logged in propagation table\n  │\n  └─► Step 6: User Confirmation\n        ├─ UI updates: toggle shows \"off\" state\n        ├─ Confirmation message: \"Consent withdrawn. Processing will stop within 24 hours.\"\n        ├─ Confirmation email sent to user\n        └─ Consent receipt updated and available for download\n```\n\n## Third-Party Notification Protocol\n\nWhen consent is withdrawn for a purpose involving third-party data sharing:\n\n1. **Immediate API Notification**: Send structured notification to third party via pre-established API endpoint (defined in the Data Processing Agreement).\n\n2. **Notification Payload**:\n```json\n{\n    \"notification_type\": \"consent_withdrawal\",\n    \"subject_reference\": \"hashed_subject_id\",\n    \"purpose_id\": \"pur_benchmarking_003\",\n    \"withdrawal_timestamp\": \"2026-03-14T10:30:00Z\",\n    \"required_action\": \"cease_processing\",\n    \"action_deadline\": \"2026-03-15T10:30:00Z\",\n    \"acknowledgment_required\": true,\n    \"controller\": \"CloudVault SaaS Inc.\"\n}\n```\n\n3. **Expected Response**:\n```json\n{\n    \"acknowledgment\": true,\n    \"received_at\": \"2026-03-14T10:30:05Z\",\n    \"action_status\": \"processing_cessation_initiated\",\n    \"estimated_completion\": \"2026-03-14T12:00:00Z\"\n}\n```\n\n4. **DPA Enforcement**: The Data Processing Agreement with Datalytics Partners Ltd. (Section 8.3) requires acknowledgment within 4 hours and processing cessation within 24 hours. Failure to comply constitutes a DPA breach.\n\n## Handling Re-Consent After Withdrawal\n\nWhen a user withdraws consent and later wants to re-consent:\n\n- Re-consent is permitted and should use the same mechanism as initial consent\n- The consent record must show a clear audit trail: granted → withdrawn → granted\n- If the consent text has changed since the last grant, the new version must be displayed\n- No \"nudging\" or dark patterns to encourage re-consent (EDPB Guidelines 05\u002F2020)\n- A reasonable cooling-off period is not required but may be implemented for fraud prevention\n\n## Key Regulatory References\n\n- GDPR Article 7(3) — Right to withdraw consent; equal ease requirement\n- GDPR Recital 42 — Consent not freely given if withdrawal causes detriment\n- EDPB Guidelines 05\u002F2020 on Consent — Paragraphs 108-120 on withdrawal\n- RFC 8058 — Signaling One-Click Functionality for List Email Headers (List-Unsubscribe-Post)\n- CNIL Enforcement (Google, January 2022) — EUR 150M fine partly for difficult consent withdrawal\n- AEPD Enforcement (CaixaBank, January 2021) — EUR 6M fine for inadequate withdrawal mechanisms\n","# Implementing Consent Withdrawal\n\n## Overview\n\nGDPR Article 7(3) states: \"The data subject shall have the right to withdraw his or her consent at any time. The withdrawal of consent shall not affect the lawfulness of processing based on consent before its withdrawal. Prior to giving consent, the data subject shall be informed thereof. It shall be as easy to withdraw consent as to give it.\"\n\nThe \"equal ease\" requirement is the most technically demanding aspect. If consent was given with a single checkbox tick during sign-up, withdrawal must be achievable with a comparable level of effort — not buried behind multiple navigation layers, settings pages, or dark patterns.\n\n## Equal Ease Analysis\n\n### Measuring Consent Complexity\n\nQuantify the effort required to give consent and ensure withdrawal meets or exceeds this standard:\n\n| Metric | How to Measure | Target |\n|--------|---------------|--------|\n| Click Count | Number of clicks\u002Ftaps from entry point to completion | Withdrawal clicks \u003C= consent clicks |\n| Page Navigations | Number of page loads between start and completion | Withdrawal pages \u003C= consent pages |\n| Form Fields | Number of inputs required | Withdrawal fields \u003C= consent fields |\n| Time to Complete | Measured in usability testing | Withdrawal time \u003C= consent time |\n| Cognitive Load | Comprehension difficulty of instructions | Withdrawal instructions equally clear |\n| Accessibility | Steps required with keyboard-only navigation | Equal keyboard accessibility |\n\n### CloudVault SaaS Inc. Compliance Analysis\n\n| Action | Method | Click Count | Pages | Fields |\n|--------|--------|-------------|-------|--------|\n| Give consent (sign-up) | Unticked checkbox tick | 1 click | Same page | 0 |\n| Withdraw consent (preference center) | Toggle switch off + confirm | 2 clicks | 1 page | 0 |\n| Withdraw consent (email unsubscribe) | Unsubscribe link click | 1 click | 1 page | 0 |\n\nThe preference center withdrawal requires one additional click (confirmation dialog). This is acceptable because it protects against accidental withdrawal, and the EDPB acknowledges that a confirmation step does not violate equal ease (Guidelines 05\u002F2020, paragraph 116).\n\n## One-Click Withdrawal Architecture\n\n### Withdrawal Entry Points\n\nCloudVault SaaS Inc. provides withdrawal access from multiple locations:\n\n1. **Preference Center**: Settings > Privacy (2 clicks from any page)\n2. **Footer Link**: \"Privacy Choices\" link in page footer (1 click + toggle)\n3. **Email Unsubscribe**: One-click unsubscribe link in every marketing email (1 click, per RFC 8058 List-Unsubscribe-Post)\n4. **Account Dashboard**: Privacy widget showing current consent state (1 click + toggle)\n5. **API Endpoint**: PUT \u002Fapi\u002Fv1\u002Fconsent\u002Fpreferences\u002F{subject_id} for programmatic withdrawal\n\n### Withdrawal Processing Pipeline\n\n```\nTRIGGER: User clicks withdrawal toggle for a specific purpose\n  │\n  ├─► Step 1: Client-Side\n  │     ├─ Display confirmation dialog:\n  │     │   \"Withdraw consent for [purpose name]?\"\n  │     │   \"This will stop [specific processing description].\"\n  │     │   \"You can re-enable this at any time.\"\n  │     │   [Cancel] [Withdraw]\n  │     │\n  │     └─ User clicks [Withdraw]\n  │\n  ├─► Step 2: API Call\n  │     PUT \u002Fapi\u002Fv1\u002Fconsent\u002Fpreferences\u002F{subject_id}\n  │     Body: { decisions: [{ purpose_id: \"pur_analytics_01\", decision: \"withdrawn\", mechanism: \"toggle_switch\" }] }\n  │\n  ├─► Step 3: Backend Processing (within 100ms)\n  │     ├─ Create ConsentDecision record (decision: \"withdrawn\")\n  │     ├─ Validate request (subject exists, purpose exists, consent was previously granted)\n  │     ├─ Update consent state cache (Redis\u002Fin-memory)\n  │     └─ Return success response to client\n  │\n  ├─► Step 4: Cascading Effects (async, within 1 hour)\n  │     ├─ Dispatch withdrawal events to message queue (Kafka\u002FRabbitMQ\u002FSQS)\n  │     ├─ Each downstream system receives withdrawal notification:\n  │     │\n  │     │   Purpose: \"Service Improvement Analytics\" (pur_analytics_001)\n  │     │   ├─ Stop analytics SDK data collection for this user\n  │     │   ├─ Remove user from analytics cohorts\n  │     │   └─ Flag existing analytics data for review\u002Fdeletion\n  │     │\n  │     │   Purpose: \"Product Update Emails\" (pur_marketing_002)\n  │     │   ├─ Remove user from email marketing lists\n  │     │   ├─ Add user to suppression list\n  │     │   ├─ Cancel any scheduled email campaigns for this user\n  │     │   └─ Confirm with email service provider (ESP)\n  │     │\n  │     │   Purpose: \"Industry Benchmarking\" (pur_benchmarking_003)\n  │     │   ├─ Stop data sharing with Datalytics Partners Ltd.\n  │     │   ├─ Notify Datalytics Partners Ltd. via API\n  │     │   ├─ Request confirmation of processing cessation\n  │     │   └─ Flag shared data for deletion per DPA terms\n  │     │\n  │     └─ Log all propagation events with status tracking\n  │\n  ├─► Step 5: Downstream Acknowledgment (within 24 hours)\n  │     ├─ Each downstream system sends acknowledgment\n  │     ├─ System monitors for missing acknowledgments\n  │     ├─ Escalation workflow for unacknowledged withdrawals:\n  │     │   ├─ T+1 hour: Automated retry\n  │     │   ├─ T+4 hours: Alert to engineering team\n  │     │   └─ T+24 hours: Escalate to DPO\n  │     └─ All acknowledgments logged in propagation table\n  │\n  └─► Step 6: User Confirmation\n        ├─ UI updates: toggle shows \"off\" state\n        ├─ Confirmation message: \"Consent withdrawn. Processing will stop within 24 hours.\"\n        ├─ Confirmation email sent to user\n        └─ Consent receipt updated and available for download\n```\n\n## Third-Party Notification Protocol\n\nWhen consent is withdrawn for a purpose involving third-party data sharing:\n\n1. **Immediate API Notification**: Send structured notification to third party via pre-established API endpoint (defined in the Data Processing Agreement).\n\n2. **Notification Payload**:\n```json\n{\n    \"notification_type\": \"consent_withdrawal\",\n    \"subject_reference\": \"hashed_subject_id\",\n    \"purpose_id\": \"pur_benchmarking_003\",\n    \"withdrawal_timestamp\": \"2026-03-14T10:30:00Z\",\n    \"required_action\": \"cease_processing\",\n    \"action_deadline\": \"2026-03-15T10:30:00Z\",\n    \"acknowledgment_required\": true,\n    \"controller\": \"CloudVault SaaS Inc.\"\n}\n```\n\n3. **Expected Response**:\n```json\n{\n    \"acknowledgment\": true,\n    \"received_at\": \"2026-03-14T10:30:05Z\",\n    \"action_status\": \"processing_cessation_initiated\",\n    \"estimated_completion\": \"2026-03-14T12:00:00Z\"\n}\n```\n\n4. **DPA Enforcement**: The Data Processing Agreement with Datalytics Partners Ltd. (Section 8.3) requires acknowledgment within 4 hours and processing cessation within 24 hours. Failure to comply constitutes a DPA breach.\n\n## Handling Re-Consent After Withdrawal\n\nWhen a user withdraws consent and later wants to re-consent:\n\n- Re-consent is permitted and should use the same mechanism as initial consent\n- The consent record must show a clear audit trail: granted → withdrawn → granted\n- If the consent text has changed since the last grant, the new version must be displayed\n- No \"nudging\" or dark patterns to encourage re-consent (EDPB Guidelines 05\u002F2020)\n- A reasonable cooling-off period is not required but may be implemented for fraud prevention\n\n## Key Regulatory References\n\n- GDPR Article 7(3) — Right to withdraw consent; equal ease requirement\n- GDPR Recital 42 — Consent not freely given if withdrawal causes detriment\n- EDPB Guidelines 05\u002F2020 on Consent — Paragraphs 108-120 on withdrawal\n- RFC 8058 — Signaling One-Click Functionality for List Email Headers (List-Unsubscribe-Post)\n- CNIL Enforcement (Google, January 2022) — EUR 150M fine partly for difficult consent withdrawal\n- AEPD Enforcement (CaixaBank, January 2021) — EUR 6M fine for inadequate withdrawal mechanisms\n",{"name":5,"license":15,"metadata":40,"description":7},{"tags":41,"author":9,"domain":33,"version":42,"subdomain":43},"consent-withdrawal, article-7-3, right-to-withdraw, cascading-effects, consent-revocation","1.0","consent-management","main","9b2ef9eae161c00a17241d42a388571321b33e9f","skills\u002Fprivacy\u002Fconsent-withdrawal",67,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills","https:\u002F\u002Fgithub.com\u002Fmukul975","Mahipal.engineer","🔐 Cybersecurity | 💻 Dev | 📷 Street Photographer\r\n🎓 MSc | 📚 Research & AI Security","2026-03-17 04:06:52",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill consent-withdrawal",{"tool":59,"command":60},"bunx","bunx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill consent-withdrawal",{"tool":62,"command":63},"pnpm","pnpm dlx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill consent-withdrawal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002FSKILL.md",true,[67,73,79,83],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"assets\u002Ftemplate.md","ASSET","资产文件",4654,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002Fassets\u002Ftemplate.md",{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fstandards.md","REFERENCE","参考文档",3992,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002Freferences\u002Fstandards.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fworkflows.md",6369,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002Freferences\u002Fworkflows.md",{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fprocess.py","SCRIPT","脚本",13895,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fconsent-withdrawal\u002Fscripts\u002Fprocess.py",[90,115,131,144,161,174],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":105,"publishedAt":35},"01M6AG6K8R3XW10ENWH2FH18RH","workplace-email-privacy","Implements email and internet monitoring compliance in the workplace per Barbulescu v Romania (ECHR Grand Chamber), EDPB guidance, and national labour law. Covers acceptable use policies, legitimate expectation of privacy, proportionality testing, and content vs metadata monitoring. Keywords: email monitoring, Barbulescu, workplace privacy, internet monitoring, acceptable use policy, ECHR, proportionality.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fworkplace-email-privacy\u002FSKILL.md",[96,99,102],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":103,"categoryName":104,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[106,107,33,108,109,110,111,112,113,114],"email","workplace email privacy","compliance","content","data","policy","testing","monitoring","metadata",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":125,"publishedAt":35},"01M6AG6FRCBJY7D061BJZMNV49","whistleblower-data","Implements data protection compliance for whistleblowing systems under EU Directive 2019\u002F1937 and GDPR. Covers anonymous reporting channels, identity protection for whistleblowers and accused persons, retention limits, access restrictions, and retaliation prevention. Addresses national transpositions and DPA guidance. Keywords: whistleblower, Directive 2019\u002F1937, anonymous reporting, identity protection, retaliation, retention, reporting channel.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fwhistleblower-data\u002FSKILL.md",[121,124],{"categoryNo":122,"categoryName":123,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师",{"categoryNo":103,"categoryName":104,"taxonomyType":26,"taxonomyTypeDesc":27},[110,126,127,128,108,129,32,33,130],"whistleblower data","identity","reporting","data protection","prevention",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":35},"01M6AG6CJP0PW3X65HC7VP9SR9","vendor-termination-data","Vendor termination data return and deletion procedures per GDPR Article 28(3)(g). Covers data extraction formats, deletion certification requirements, transition planning, residual data handling, and post-termination verification.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-termination-data\u002FSKILL.md",[137],{"categoryNo":122,"categoryName":123,"taxonomyType":26,"taxonomyTypeDesc":27},[110,139,140,141,142,32,33,143],"vendor termination data","planning","verification","extraction","certification",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":151,"publishedAt":35},"01M6AG69E277DXZB2NF6KV17ZA","vendor-risk-scoring","Vendor privacy risk tiering methodology for processor management. Covers scoring factors including data volume, sensitivity, transfer locations, certifications, breach history, and control maturity with weighted risk calculation and tier assignment.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-risk-scoring\u002FSKILL.md",[150],{"categoryNo":122,"categoryName":123,"taxonomyType":26,"taxonomyTypeDesc":27},[152,153,154,155,156,157,158,159,33,110,160],"vendor risk scoring","risk","risk scoring","methodology","risk-scoring","assessment","transfer","certifications","processor",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":35},"01M6AG6655ABFKT2BBWHCP4PAT","vendor-privacy-due-diligence","Pre-contract vendor privacy due diligence per GDPR Article 28(1). Covers risk questionnaires, technical controls assessment, certification review, data flow analysis, and documented sufficiency decisions for processor engagement.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-privacy-due-diligence\u002FSKILL.md",[167],{"categoryNo":103,"categoryName":104,"taxonomyType":26,"taxonomyTypeDesc":27},[33,169,32,170,157,171,172,110,160,153,143,173],"vendor privacy due diligence","review","onboarding","flow","analysis",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":183,"publishedAt":35},"01M6AG62C3VD8SYNGH4N7RHZTE","vendor-privacy-audit","On-site and remote vendor audit procedures per GDPR Article 28(3)(h). Covers audit planning, evidence collection methodologies, finding classification, remediation tracking, and audit report generation for processor compliance verification.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-privacy-audit\u002FSKILL.md",[180,181,182],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":103,"categoryName":104,"taxonomyType":26,"taxonomyTypeDesc":27},[184,185,33,186,141,187,108,32,188,160,189,190,191,140],"vendor privacy audit","audit","report","audit report","remediation","collection","remediation-tracking","classification"]