Help us improve
Share bugs, ideas, or general feedback.
From randori
This skill should be used when creating data flow diagrams, when the user mentions "DFD", "data flow diagram", "trust boundaries", "data flows", "Mermaid diagram", or needs to visualize how data moves through the system.
npx claudepluginhub allsmog/randori-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/randori:dfd-generationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create Mermaid-compatible data flow diagrams (DFDs) that visualize how data moves through a system, crossing trust boundaries between components.
Drafts personalized cold emails, warm intros, follow-ups, updates, and communications for investor outreach during fundraising to angels, VCs, accelerators.
Share bugs, ideas, or general feedback.
Create Mermaid-compatible data flow diagrams (DFDs) that visualize how data moves through a system, crossing trust boundaries between components.
| Element | Mermaid Syntax | Description |
|---|---|---|
| External Entity | [/ Name /] | Actor outside the system boundary (user, API consumer, external service) |
| Process | (( Name )) | Application component that transforms data |
| Data Store | [( Name )] | Database, cache, file storage, or queue |
| Data Flow | --> or -.-> | Data movement between elements |
| Trust Zone | subgraph "Zone Name" | Security boundary grouping |
Data flows that cross trust boundaries are the primary targets for threat analysis:
--> = Normal data flow (within same trust zone)-.-> = Trust boundary crossing (different trust zones — HIGHER PRIORITY for threats)| Zone | Trust Level | Examples |
|---|---|---|
| Untrusted | None | Internet, public APIs, user browsers |
| DMZ | Low | Load balancers, API gateways, reverse proxies |
| Application | Medium | Application servers, microservices |
| Data | High | Databases, caches, internal storage |
| Management | Highest | Admin interfaces, CI/CD, secret vaults |
From the technical scope (S2):
Assign each element to a trust zone based on:
For each pair of connected elements:
graph LR
%% External entities
user[/End User/]
admin[/Admin/]
stripe[/Stripe API/]
%% Trust zones
subgraph "Untrusted Network"
user
admin
end
subgraph "DMZ"
gateway((API Gateway))
end
subgraph "Application Layer"
api((API Server))
worker((Background Worker))
end
subgraph "Data Layer"
db[(PostgreSQL)]
cache[(Redis)]
s3[(S3 Storage)]
end
%% Data flows
user -->|"HTTPS<br/>credentials, PII"| gateway
admin -->|"HTTPS + MFA<br/>admin commands"| gateway
gateway -->|"HTTP<br/>authenticated requests"| api
api -->|"SQL/TLS<br/>user data"| db
api -->|"Redis Protocol<br/>session data"| cache
api -.->|"HTTPS<br/>payment data"| stripe
worker -->|"SQL<br/>batch operations"| db
api -->|"AWS SDK/TLS<br/>file data"| s3
User → [HTTPS] → Load Balancer → [HTTP] → App Server → [SQL/TLS] → Database
API Gateway → [gRPC/mTLS] → Service A → [AMQP] → Queue → Service B → [SQL] → DB
API Gateway → [Invoke] → Lambda → [SDK] → DynamoDB
→ [SDK] → S3
→ [HTTPS] → External API