本文へ移動
cccskills
無料GitHub で公開

automated-ropa-generation

Generates Records of Processing Activities automatically from IT system inventories including Active Directory, cloud service catalogs, API gateway logs, and database schemas. Covers automated field population, data flow discovery, and system-to-RoPA mapping. Activate for automated RoPA, system inventory, data discovery, auto-population, IT-driven records.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md16.6 KB
  • assets/template.md5.5 KB
  • references/standards.md4.3 KB
  • references/workflows.md5.4 KB
  • scripts/process.py15.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Automated RoPA Generation

Overview

Manual RoPA creation through interviews and questionnaires is time-consuming, subjective, and prone to omitting processing activities that stakeholders forget or are unaware of. Automated RoPA generation leverages existing IT system inventories, cloud service catalogs, API gateway logs, and database schemas to discover processing activities and pre-populate Art. 30(1) fields. This approach reduces the RoPA creation burden by 60-80% while improving coverage, as it captures processing activities that manual interviews routinely miss (shadow IT, automated data pipelines, third-party integrations).

Data Sources for Automated RoPA Population

Source 1: Active Directory / Azure AD

What it reveals:

  • Organisational structure (departments, teams) for mapping processing owners
  • Group memberships revealing who has access to what systems (recipient categories)
  • Application registrations and service principals (processing system inventory)
  • Conditional access policies (security measures documentation)

Art. 30 fields populated:

FieldData Extracted from AD
Art. 30(1)(a) — Controller identityOrganisation name, department hierarchy, DPO group membership
Art. 30(1)(d) — RecipientsSecurity group memberships reveal internal access patterns
Art. 30(1)(g) — Security measuresConditional access policies, MFA enforcement status

Discovery approach for Helix Biotech Solutions:

Azure AD Tenant: helix-biotech.onmicrosoft.com
├── Enterprise Applications (87 registered)
│   ├── SAP SuccessFactors → HR processing activities
│   ├── Veeva Vault CDMS → Clinical trial data management
│   ├── Salesforce → Customer relationship management
│   ├── Google Analytics → Website analytics
│   ├── ADP Workforce Now → Payroll processing
│   └── ... (82 more applications)
├── Security Groups (134 groups)
│   ├── SG-HR-Payroll (4 members) → Access to payroll data
│   ├── SG-Clinical-Data (12 members) → Access to clinical trial data
│   ├── SG-Finance-AP (6 members) → Access to accounts payable
│   └── ... (131 more groups)
└── Conditional Access Policies (23 policies)
    ├── Require MFA for all users
    ├── Block legacy authentication
    ├── Require compliant device for clinical systems
    └── ... (20 more policies)

Source 2: Cloud Service Catalog

What it reveals:

  • All cloud services (IaaS, PaaS, SaaS) in use
  • Data residency (which regions/countries data is stored in)
  • Service provider identity (processors and sub-processors)
  • Data classification tags (if implemented)

AWS example for Helix Biotech Solutions:

AWS ServiceRegionPersonal Data IndicatorMapped Processing Activity
RDS (PostgreSQL)eu-central-1Tagged: data-classification=confidentialEmployee HR database
S3 Bucket: helix-clinical-dataeu-central-1Tagged: data-classification=restricted, contains-special-category=trueClinical trial document storage
S3 Bucket: helix-marketingeu-central-1Tagged: data-classification=internalMarketing analytics data
Lambda: payroll-processoreu-central-1Invoked by ADP integrationPayroll data transformation
CloudFront DistributionGlobal (edge)Logs contain IP addressesWebsite content delivery
SES (Simple Email Service)eu-west-1Sends to email addressesCustomer and employee email communications

Azure example:

Azure ServiceRegionData ClassificationMapped Processing Activity
Azure SQLWest EuropeConfidentialFinance and accounting database
Azure Blob StorageWest EuropeRestrictedClinical trial imaging data
Azure ADGlobalInternalIdentity and access management
Azure MonitorWest EuropeInternalSystem monitoring (may capture user activity)

Source 3: API Gateway Logs

What it reveals:

  • Which APIs handle personal data (based on request/response inspection)
  • Data flow patterns between systems (upstream and downstream)
  • Third-party API integrations (external recipients)
  • Volume and frequency of data processing (helps assess whether processing is "occasional" for Art. 30(5))

API Gateway analysis for Helix Biotech Solutions:

API EndpointMethodPersonal Data FieldsUpstream SystemDownstream SystemDaily Volume
/api/v2/employeesGET/POSTemployee_id, name, email, departmentSAP SuccessFactorsInternal HR portal340 requests
/api/v2/patients/{id}/recordsGETpatient_id, diagnosis, treatmentVeeva Vault CDMSClinical reporting dashboard1,200 requests
/api/v2/ordersPOSTcustomer_name, email, billing_addressSalesforceSAP ERP890 requests
/api/v1/analytics/eventsPOSTip_address, user_agent, page_urlWebsite (JS tracker)Google Analytics45,000 requests
/api/v2/vendor/paymentsPOSTvendor_name, bank_account, tax_idSAP ERPBanking API (Deutsche Bank)120 requests

Source 4: Database Schemas

What it reveals:

  • Exact data categories stored (column names and types)
  • Table relationships revealing data flows
  • Personal data identification through column name pattern matching
  • Data volume and growth patterns

Schema analysis approach:

  1. Connect to each database identified in the cloud catalog.
  2. Extract table schemas (column names, data types, constraints).
  3. Apply personal data identification patterns to column names.
  4. Map identified personal data columns to Art. 30(1)(c) data categories.

Personal data column name patterns:

PatternData CategoryArt. 9 Special Category
*name*, *first_name*, *last_name*, *full_name*NameNo
*email*, *e_mail*Email addressNo
*phone*, *mobile*, *telephone*Phone numberNo
*address*, *street*, *city*, *postcode*, *zip*Postal addressNo
*dob*, *date_of_birth*, *birth_date*Date of birthNo
*ssn*, *social_security*, *tax_id*, *national_id*National identifierNo
*salary*, *compensation*, *bank_account*, *iban*Financial dataNo
*ip_address*, *ip_addr*IP addressNo
*diagnosis*, *medical*, *health*, *condition*Health dataYes
*genetic*, *dna*, *genome*Genetic dataYes
*biometric*, *fingerprint*, *facial*Biometric dataYes
*ethnicity*, *race*, *ethnic_origin*Racial/ethnic originYes
*religion*, *religious*, *belief*Religious beliefsYes
*union*, *trade_union*Trade union membershipYes
*political*, *party*Political opinionsYes
*criminal*, *conviction*, *offence*Criminal data (Art. 10)Art. 10

Automated Field Population Logic

Art. 30(1)(a) — Controller Identity

Source: Azure AD tenant configuration + organisation management. Automation: Fully automated from AD tenant metadata.

Art. 30(1)(b) — Purposes

Source: Application descriptions in AD enterprise application registry + API documentation. Automation: Partially automated. The system name and description provide a starting point, but specific purpose articulation requires human refinement to meet Art. 5(1)(b) specificity requirements.

Approach: Generate a draft purpose from the application description, flag it as "DRAFT — requires DPO review," and assign to the processing owner for refinement.

Art. 30(1)(c) — Data Subject and Data Categories

Source: Database schema analysis + API request/response schemas. Automation: Highly automated for data categories (column name matching). Data subject categories require inference from table context.

Art. 30(1)(d) — Recipients

Source: AD security groups (internal recipients) + API gateway logs (external integrations) + cloud service catalog (processors). Automation: Highly automated. AD groups reveal internal access. API gateway reveals external data flows. Cloud catalog identifies processors.

Art. 30(1)(e) — International Transfers

Source: Cloud service region configuration + API gateway destination IPs + CDN configuration. Automation: Highly automated. If a cloud service is deployed in a non-EEA region, or API calls route to non-EEA endpoints, the system flags a potential international transfer.

Art. 30(1)(f) — Retention Periods

Source: Database table statistics (oldest records), backup retention policies, lifecycle management rules. Automation: Partially automated. Can detect actual retention (how long data exists) but not intended retention (how long it should exist). Flags discrepancies between actual and policy retention.

Art. 30(1)(g) — Security Measures

Source: Cloud security configuration (encryption settings, access policies), AD conditional access policies, WAF rules, certificate configuration. Automation: Highly automated for technical measures. Organisational measures require manual documentation.

Automation Coverage Summary

Art. 30(1) FieldAutomation LevelHuman Review Required
(a) Controller identityHigh (90%)Verify legal entity name, DPO current
(b) PurposesLow (30%)Purpose must be articulated specifically
(c) Data subject categoriesMedium (60%)Verify inferred categories
(c) Personal data categoriesHigh (85%)Verify pattern-matched columns
(d) RecipientsHigh (80%)Verify external recipients, add DPA references
(e) International transfersHigh (85%)Verify transfer mechanisms
(f) Retention periodsLow (25%)Define policy retention, not just actual
(g) Security measuresMedium (70%)Add organisational measures

Implementation Architecture

┌─────────────────────┐  ┌──────────────────┐  ┌────────────────────┐
│   Azure AD / Okta   │  │  Cloud Catalog   │  │  API Gateway Logs  │
│  (Org structure,    │  │  (AWS/Azure/GCP   │  │  (Data flows,      │
│   app registrations,│  │   service list,   │  │   external calls,  │
│   security groups)  │  │   regions, tags)  │  │   volumes)         │
└────────┬────────────┘  └────────┬─────────┘  └─────────┬──────────┘
         │                        │                       │
         ▼                        ▼                       ▼
┌────────────────────────────────────────────────────────────────────┐
│                    RoPA Auto-Generation Engine                     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐    │
│  │ AD Parser    │  │ Cloud Parser │  │ API Log Analyzer     │    │
│  └──────┬───────┘  └──────┬───────┘  └──────────┬───────────┘    │
│         │                  │                      │               │
│         ▼                  ▼                      ▼               │
│  ┌────────────────────────────────────────────────────────────┐   │
│  │              Field Mapping and Population Engine            │   │
│  │  • Pattern matching for personal data columns              │   │
│  │  • Data flow graph construction                            │   │
│  │  • Transfer detection (non-EEA region identification)      │   │
│  │  • Security control extraction                             │   │
│  └────────────────────────┬───────────────────────────────────┘   │
│                           │                                       │
│                           ▼                                       │
│  ┌────────────────────────────────────────────────────────────┐   │
│  │              Draft RoPA Generator                          │   │
│  │  • Creates draft entries with populated fields             │   │
│  │  • Flags fields requiring human review                     │   │
│  │  • Assigns to processing owners for validation             │   │
│  └────────────────────────┬───────────────────────────────────┘   │
└───────────────────────────┼───────────────────────────────────────┘
                            │
                            ▼
┌────────────────────────────────────────────────────────────────────┐
│                Database Schema Scanner                              │
│  (Connects to identified databases, extracts schemas,              │
│   applies PII detection patterns)                                  │
└────────────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌────────────────────────────────────────────────────────────────────┐
│               RoPA Management Platform                             │
│  (OneTrust / TrustArc / Collibra / Custom)                        │
│  Draft entries queued for DPO and processing owner review          │
└────────────────────────────────────────────────────────────────────┘

Limitations and Risk Mitigation

  1. False positives in PII detection: Column names like "company_address" may be flagged as personal data when they are business data. Mitigation: human review of all auto-detected PII columns.

  2. Missing context for purposes: Automated systems cannot infer the business purpose of processing from technical metadata alone. Mitigation: purposes are always flagged as "DRAFT" and require human articulation.

  3. Shadow IT blind spots: Systems not registered in AD or cloud catalogs will not be discovered. Mitigation: combine automated discovery with periodic manual questionnaires to capture unregistered processing.

  4. Encrypted or tokenised data: If data is encrypted at the column level or tokenised, schema analysis may not detect personal data. Mitigation: maintain a manual register of encryption/tokenisation mappings.

  5. Consent and lawful basis: Cannot be determined from technical metadata. Always requires legal/DPO input.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Implements 42 CFR Part 2 protections for substance use disorder patient records. Covers written consent requirements stricter than HIPAA, re-disclosure prohibition, court order procedures, qualified service organization agreements, and 2024 amendments aligning Part 2 with HIPAA. Keywords: 42 CFR Part 2, substance use disorder, SUD records, re-disclosure, consent, Part 2 amendments.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Guides assessment of third-country adequacy decisions under GDPR Article 45 for international data transfers. Covers the current EC adequacy decisions list, adequacy assessment criteria, partial adequacy handling, and monitoring of adequacy decision reviews. Keywords: adequacy decision, Article 45, third country, adequate protection, EC adequacy list.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Implements age-gating mechanisms for online services to restrict access based on user age. Covers hard gates versus soft gates, neutral age prompts, re-verification triggers, circumvention prevention, and regulatory requirements under GDPR, COPPA, UK Online Safety Act, and DSA. Keywords: age gate, age restriction, neutral prompt, children, online services, access control.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Evaluates and implements age estimation and verification technologies for online services. Covers facial age estimation, digital ID verification, self-declaration with risk assessment, AI-based age estimation, and the accuracy versus privacy tradeoff. Includes ICO guidance and euCONSENT framework. Keywords: age verification, age estimation, facial analysis, digital ID, children, online safety.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Preparing EU AI Act compliance documentation for high-risk AI systems. Covers Annex III classification, technical documentation under Art. 11, conformity assessment, risk management systems, and CE marking requirements. Keywords: EU AI Act, high-risk AI, Annex III, conformity assessment, CE marking.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Implements GDPR Art. 22 automated decision-making and AI Act Art. 14 human oversight requirements for AI systems. Covers identification of solely automated decisions, meaningful human intervention design, logic explanation mechanisms, and contestation procedures. Keywords: Art. 22, automated decision, human oversight, AI Act, profiling, contestation.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

mukul975 のスキルをすべて見る

このスキルの問題を報告する