- Draw the external entities
External entities, sources and destinations of data outside your system, are drawn as rectangles at the edges of the board. Label each one: 'User,' 'Payment Gateway,' 'Third-party API,' 'Admin.' External entities are the starting and ending points of all data flows.
- Draw the processes
Processes, transformations that happen inside your system, are drawn as circles or rounded rectangles in the center of the board. Label each one with a verb-noun pair: 'Validate Request,' 'Generate Report,' 'Store User Session.' Number each process: 1.0, 1.1, 2.0, etc. for reference.
- Draw the data stores
Data stores, databases, caches, queues, files, are drawn as two parallel horizontal lines (open-ended rectangle). Label each one with the store name: 'Users DB,' 'Redis Cache,' 'S3 Bucket,' 'Message Queue.' The store label should match how it's named in the system.
- Draw the data flows as arrows
Arrows connect entities, processes, and stores. Each arrow represents a data flow. Label every arrow with the data it carries: 'Authentication token,' 'User profile JSON,' 'Payment confirmation,' 'Error response.' Unlabeled arrows are ambiguous, label all of them.
- Mark trust boundaries
Draw a dashed box around processes that operate in the same trust zone. Trust boundaries separate zones with different security or permission levels. This is required for threat modeling. Label each boundary: 'Public internet,' 'Internal network,' 'Secure enclave.'
- Add data classification notes
For flows that carry sensitive data (PII, payment data, credentials), mark the arrow with a classification label: PII, PCI, CONFIDENTIAL. These are required for compliance documentation and security review.
- Snap the board
Open BoardSnap. The DFD has rectangles (external entities), circles (processes), parallel-line shapes (data stores), labeled arrows, trust boundary dashes, and classification markers. BoardSnap AI reads the DFD elements and their relationships.