From faos-clo
<!-- AUTO-GENERATED by export-plugins.py — DO NOT EDIT -->
npx claudepluginhub frank-luongt/faos-skills-marketplace --plugin faos-cloThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
The General Data Protection Regulation (GDPR) is the European Union's comprehensive data protection law (Regulation (EU) 2016/679) that governs the processing of personal data of individuals within the EU/EEA. It applies to any organization worldwide that processes personal data of EU residents, regardless of where the organization is based.
GDPR establishes strict requirements for data controllers (who determine the purposes and means of processing) and data processors (who process data on behalf of controllers). It grants significant rights to data subjects and imposes penalties of up to 20 million EUR or 4% of global annual revenue for non-compliance.
Key scope considerations:
Create a comprehensive inventory of all personal data processing activities:
For each processing activity, establish and document one of six lawful bases:
| Lawful Basis | Article | When Appropriate |
|---|---|---|
| Consent | 6(1)(a) | Freely given, specific, informed, unambiguous; can be withdrawn |
| Contract | 6(1)(b) | Processing necessary for a contract with the data subject |
| Legal obligation | 6(1)(c) | Processing required by EU or member state law |
| Vital interests | 6(1)(d) | Protecting life -- rarely applicable in business contexts |
| Public task | 6(1)(e) | Processing for official authority or public interest functions |
| Legitimate interests | 6(1)(f) | Balanced against data subject rights; requires LIA documentation |
Provide transparent information to data subjects (Articles 13-14):
Conduct a DPIA when processing is likely to result in high risk (Article 35):
When a personal data breach occurs (Articles 33-34):
| Principle | Description |
|---|---|
| Lawfulness, fairness, transparency | Processing must have a lawful basis and be transparent to data subjects |
| Purpose limitation | Data collected for specified, explicit, legitimate purposes only |
| Data minimization | Only process data that is adequate, relevant, and necessary |
| Accuracy | Personal data must be accurate and kept up to date |
| Storage limitation | Data retained only as long as necessary for the stated purpose |
| Integrity and confidentiality | Appropriate security measures to protect personal data |
| Accountability | Controller must demonstrate compliance with all principles |
| Right | Article | Controller Obligation |
|---|---|---|
| Right of access | 15 | Provide copy of personal data and processing details within 1 month |
| Right to rectification | 16 | Correct inaccurate data without undue delay |
| Right to erasure | 17 | Delete data when no longer necessary, consent withdrawn, or unlawful |
| Right to restriction | 18 | Restrict processing while accuracy or lawfulness is contested |
| Right to data portability | 20 | Provide data in structured, machine-readable format |
| Right to object | 21 | Stop processing based on legitimate interests or direct marketing |
| Automated decision-making | 22 | Not be subject to solely automated decisions with legal effects |
| Right to be informed | 13-14 | Receive transparent information about processing |
data_processing_inventory:
organization: "Acme SaaS Ltd."
dpo_contact: "dpo@acme-saas.com"
last_reviewed: "2026-02-20"
record_of_processing_activities: # Article 30
- activity_id: "PA-001"
name: "Customer account registration"
controller: "Acme SaaS Ltd."
processor: null
purpose: "Create and manage user accounts for SaaS platform access"
lawful_basis: "contract" # Art. 6(1)(b)
data_subjects: "Customers (EU residents)"
data_categories:
- "Full name"
- "Email address"
- "Company name"
- "Job title"
- "IP address (at registration)"
special_categories: false
recipients:
- "Auth0 (identity provider, processor)"
- "Stripe (payment processing, processor)"
international_transfers:
- destination: "United States"
safeguard: "EU-US Data Privacy Framework certification"
entity: "Auth0 Inc."
retention_period: "Account data retained for duration of contract + 30 days"
deletion_method: "Automated deletion pipeline triggered by account closure"
security_measures:
- "Encryption at rest (AES-256)"
- "Encryption in transit (TLS 1.3)"
- "RBAC with least privilege access"
- "Audit logging of all access"
dpia_required: false
dpia_reference: null
- activity_id: "PA-002"
name: "Product analytics and usage tracking"
controller: "Acme SaaS Ltd."
processor: "Mixpanel Inc."
purpose: "Understand product usage to improve user experience"
lawful_basis: "legitimate_interests" # Art. 6(1)(f)
legitimate_interest_assessment:
interest: "Improving product based on usage patterns"
necessity: "Analytics essential for data-driven product decisions"
balancing_test: >
Low impact on data subjects; data pseudonymized; opt-out provided;
no sensitive data collected; clear privacy notice provided.
data_subjects: "Platform users (EU and non-EU)"
data_categories:
- "Pseudonymized user ID"
- "Feature usage events"
- "Session duration"
- "Browser and device type"
special_categories: false
recipients:
- "Mixpanel Inc. (processor)"
international_transfers:
- destination: "United States"
safeguard: "Standard Contractual Clauses (SCCs) + supplementary measures"
entity: "Mixpanel Inc."
retention_period: "26 months rolling"
deletion_method: "Automated TTL in Mixpanel"
security_measures:
- "Pseudonymization of user identifiers"
- "IP anonymization enabled"
- "Data Processing Agreement in place"
dpia_required: false
- activity_id: "PA-003"
name: "AI-powered content recommendation"
controller: "Acme SaaS Ltd."
processor: null
purpose: "Provide personalized content suggestions using ML models"
lawful_basis: "consent" # Art. 6(1)(a) -- profiling requires consent
data_subjects: "Platform users who opt in"
data_categories:
- "Content interaction history"
- "Topic preferences"
- "Engagement scores (derived)"
special_categories: false
recipients: []
international_transfers: []
retention_period: "Data retained while consent is active + 30 days after withdrawal"
deletion_method: "Consent withdrawal triggers automated purge pipeline"
dpia_required: true
dpia_reference: "DPIA-2026-003"
dpia:
reference: "DPIA-2026-003"
title: "AI-powered content recommendation engine"
status: "approved"
author: "Data Protection Officer"
date_initiated: "2026-01-10"
date_approved: "2026-02-01"
review_date: "2026-08-01"
processing_description:
nature: >
Machine learning model analyzes user content interaction history to
generate personalized content recommendations. Model runs server-side
and outputs ranked content lists.
scope: >
All platform users who opt in to personalized recommendations.
Estimated 50,000 EU data subjects. Processing is continuous.
context: >
Users expect personalization in modern SaaS platforms. Feature is
opt-in only with clear explanation of how data is used.
purpose: >
Improve user engagement and content discovery by surfacing relevant
content based on historical interaction patterns.
necessity_and_proportionality:
lawful_basis: "Consent (Art. 6(1)(a)) -- explicit opt-in required"
purpose_limitation: "Data used solely for recommendation; not shared or repurposed"
data_minimization: >
Only content interaction events and derived scores used; no
demographic, location, or special category data processed.
accuracy: "Model retrained weekly; stale user profiles purged after 90 days inactivity"
storage_limitation: "Data deleted within 30 days of consent withdrawal"
data_subject_rights: >
Users can withdraw consent at any time; access, delete, and export
their recommendation profile via self-service dashboard.
risk_assessment:
risks:
- risk: "Profiling leads to filter bubbles or discriminatory content selection"
likelihood: "medium"
severity: "medium"
risk_level: "medium"
mitigation:
- "Diversity injection in recommendation algorithm (min 20% exploratory content)"
- "Quarterly bias audit of recommendation outputs"
- "User controls to adjust recommendation parameters"
residual_risk: "low"
- risk: "Unauthorized access to user interaction profiles"
likelihood: "low"
severity: "high"
risk_level: "medium"
mitigation:
- "Encryption at rest and in transit"
- "RBAC with least privilege; only ML team has access"
- "Audit logging of all profile access"
residual_risk: "low"
- risk: "Model inversion attack reconstructs user behavior from recommendations"
likelihood: "low"
severity: "medium"
risk_level: "low"
mitigation:
- "Differential privacy noise added to model outputs"
- "Rate limiting on recommendation API"
residual_risk: "low"
dpo_opinion: >
The processing is proportionate to its purpose. Consent-based approach
with robust opt-out mechanism adequately protects data subject rights.
Bias auditing addresses profiling concerns. Approved with 6-month review.
supervisory_authority_consultation_required: false
Governance:
Lawful Basis and Transparency:
Data Subject Rights:
Data Protection by Design:
Security (Article 32):
Breach Response:
International Transfers: