Skip to main content

privacy-dfd

Create or update Microsoft privacy compliance Data Flow Diagrams (DFDs) and data inventory tables for services. Use when: privacy review, data flow diagram, DFD, data inventory, GDPR, data classification, privacy compliance, 1CS privacy artifact, data handling attestation.

معلومات المصدر

المستودع
microsoft/rayfin
آخر نشاط في المصدر
٨ أكتوبر ٢٠٢٦ في ٢٠:٤٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٤٢
التفرعات
٦٩

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
7 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
privacy-dfd
description
Create or update Microsoft privacy compliance Data Flow Diagrams (DFDs) and data inventory tables for services. Use when: privacy review, data flow diagram, DFD, data inventory, GDPR, data classification, privacy compliance, 1CS privacy artifact, data handling attestation.
argument-hint
Describe the service or component to diagram, or ask to update an existing DFD/inventory.
# Privacy DFD and Data Inventory Produce Microsoft privacy compliance artifacts — a **Mermaid Data Flow Diagram (DFD)** and a **Markdown data inventory table** — for a service or system under privacy review. ## When to Use - Creating a new privacy DFD for a service - Updating an existing DFD after architecture changes - Building a data inventory table for privacy review - Preparing 1CS privacy review artifacts - Answering privacy review key questions (Who, What, Where, When, Why, How, AI/ML) - Classifying data elements with Microsoft taxonomy ## Outputs 1. **Mermaid DFD** (`.mmd` file) — a single `flowchart LR` showing all privacy-relevant data flows 2. **Data Inventory Table** (`.md` file) — a Markdown table listing every data element the service collects, processes, stores, or transmits ## Procedure ### Step 1: Gather Context Before diagramming, collect evidence from code and docs. Identify: - **Personas**: Who interacts with the system? (Builders, App Users, Admins, platform services) - **Data stores**: Databases, caches, blob storage, telemetry sinks - **External dependencies**: Platform shared services, identity providers, CDNs, gateways - **Data flows**: What data moves between components, in what direction, with what classification? - **Auth flows**: Token issuance, refresh, validation, session management - **Telemetry**: What events are emitted, where do they go, what properties do they carry? Evidence sources to check: - Architecture docs and RFCs - Controller and API endpoint code - Auth/identity modules - Database models and schema definitions - Telemetry/logging configuration - CLI and extension code (for developer tool telemetry) - UX extension code (for portal interactions) ### Step 2: Classify Data Elements Apply [Microsoft data classifications](./references/classifications.md) to every data element. Use the official taxonomy — do not invent classifications. Key rules: - If classification is uncertain, include the element but mark as `Requires confirmation` in Comments - A single data element can have multiple classifications (e.g., a JWT may be EUPI + Access Control Data) - Distinguish between data at rest (>= 48 hrs) and data in transit/processing (< 48 hrs) - Identify the [data subject](./references/data-subjects.md) for each personal data element ### Step 3: Build the DFD Create a **single** `flowchart LR` Mermaid diagram. Follow the [DFD conventions](./references/dfd-conventions.md). Key requirements: - Use subgraphs to group related components (e.g., "Platform Shared Services", "Workload Boundary", "Runtime Integrations") - Label every edge with: data classification(s) and sample reference numbers cross-referencing the inventory table (e.g., `Sample #1, #3`) - Show external clients, platform shared services, the service boundary, dependent Azure services, and data stores - Include telemetry flows (where telemetry data goes, what classification) - Mark direction-uncertain flows with a comment `%% direction uncertain` - Include a title comment at the top with service name and date ### Step 4: Build the Data Inventory Create a Markdown table with the [required columns](./references/inventory-columns.md). Key requirements: - Number each row with a `#` column that matches the DFD edge sample references - Provide concrete sample data (realistic but fake values) - Fill in all columns — use `N/A` variants from the legend when a column does not apply - For GDPR DSR processing, specify the mechanism (agents, API call, manual, etc.) - For retention, specify exact periods or policies - For geo-boundary questions, state whether within or outside ### Step 5: Validate Completeness Check the artifacts against the [privacy review key questions](./references/key-questions.md): 1. **Who** — Is every data subject identified? Are collection sources clear? 2. **What** — Is every data element classified? Are controls and mitigations noted? 3. **Where** — Are all storage locations identified with geo-boundary status? 4. **When** — Are retention periods specified for all persisted data? 5. **Why** — Is the purpose of each data collection clear? 6. **How** — Are notice/consent mechanisms documented? Is data usage clear? 7. **AI/ML** — Is AI usage explicitly stated (including "No AI" if applicable)? Also verify: - Every processing component in the DFD has both inbound and outbound arrows - Every external data transfer has labeled data type plus classification - The DFD sample reference numbers match the inventory row numbers - No data flows are invented — all are evidenced from code or docs - Uncertain flows are marked as such ### Step 6: Document Confidence For each data flow or element, assess confidence: - **High**: Directly evidenced in code with clear implementation - **Medium**: Evidenced in architecture docs or partially implemented - **Low**: Inferred from naming, comments, or design docs only Mark anything uncertain with "Requires confirmation" in Comments. ## Constraints - Do not invent data flows not evidenced in code or architecture docs - Treat platform internals (Fabric, Azure services) as opaque external systems - Do not create threat models — this is a privacy review, not a security review - If the service has no AI/ML features, state that explicitly - Use the prior analysis as a starting point but verify claims against source code - Prefer completeness over minimalism — the output should be ready for export as a privacy review artifact ## References - [Data Classifications](./references/classifications.md) — Microsoft Enterprise Data Taxonomy - [Data Subjects](./references/data-subjects.md) — Data subject definitions - [Inventory Columns](./references/inventory-columns.md) — Required columns and value options - [DFD Conventions](./references/dfd-conventions.md) — Mermaid diagram shape and labeling rules - [Key Questions](./references/key-questions.md) — Privacy review key questions and data lifecycle - [Personal Data](./references/personal-data.md) — Which classifications constitute personal data
عرض على GitHub