high complexity v1.0 extracted Encrypted Data Assignments Confidence: 100%
6
Components
43
Shared
0
User Stories
Yes
Analyzed

Description

Coordinators send sensitive personal data - name, address, and medical summaries - to peer mentors as end-to-end encrypted assignments. Each dispatch generates a delivery confirmation on device receipt and a read confirmation when the peer mentor opens it, giving coordinators a live status view of all open assignments. A server-side 10-day reminder fires automatically when no contact has been registered against an assignment, ensuring no referral is silently dropped. Per-tenant asymmetric keys guarantee plaintext never leaves the sender unencrypted, and the server stores only ciphertext at rest.

Sources & reasoning

Section 3.1 explicitly names encrypted assignment dispatch as a Blindeforbundet-unique must-have with delivery and read confirmation requirements and a 10-day auto-reminder. The Fase 2 roadmap in ยง5 confirms v1.0 timing (second phase after MVP). The priority matrix in ยง4 marks this MUST for Blindeforbundet at Fase 2.

No source references โ€” this artifact was included based on reasoning alone (see above).

Analysis

Business Value

Blindeforbundet currently distributes sensitive personal data such as medical summaries through insecure channels, creating GDPR exposure for the organization. End-to-end encrypted assignment dispatch eliminates that risk, satisfies regulatory requirements, and builds trust with both coordinators and the contacts whose data is being shared. Delivery and read confirmations replace manual coordinator follow-up calls, reducing administrative burden and providing an auditable trail. The 10-day reminder closes the gap between assignment dispatch and first contact, improving outcomes for referred individuals and reducing the chance of forgotten referrals during busy periods.

Implementation Notes

Assignments use per-tenant asymmetric key pairs; private keys are stored in Flutter Secure Storage (Keychain on iOS, Keystore on Android) and never sent to the server. The backend stores only ciphertext in the assignments table. Delivery confirmation is written to assignment_deliveries on first sync; read confirmation is written when the peer mentor navigates to the assignment detail screen. The 10-day reminder is a server-side scheduled job querying assignment_deliveries for entries where no linked activity exists after the threshold. The mutation outbox must queue read confirmations when offline and flush on reconnect. Drift local DB stores encrypted assignment ciphertext with SQLCipher, consistent with the offline-first architecture.

Components (49)

User Interface (2)

Service Layer (2)

Data Layer (1)

Infrastructure (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.