Encrypted Assignment Dispatch
Feature Detail
Description
This feature enables coordinators to securely dispatch sensitive personal information - including names, addresses, and medical summaries (epikrise) - to peer mentors via end-to-end encrypted messages. Each assignment includes delivery confirmation and read confirmation so coordinators have full visibility into whether the peer mentor has received and opened the assignment. An automatic reminder is triggered after 10 days if no contact has been established, ensuring no assignment falls through the cracks. Coordinators have a status overview of all open assignments at any time.
User Flow
Analysis
Handling sensitive personal data through informal channels (email, SMS, paper) creates significant GDPR and data-security risk for member organisations. A purpose-built encrypted dispatch system eliminates that risk entirely, giving organisations legal defensibility and user trust. For Blindeforbundet specifically, this was identified as a critical capability - coordinators routinely share medical information with peer mentors and currently have no secure digital channel to do so. Delivery and read confirmations remove ambiguity about whether a peer mentor has received an assignment, reducing failed contacts and improving service quality for the end user (the contact receiving support).
Encryption should use asymmetric keys (e.g. libsodium / NaCl box) with per-user keypairs generated and stored securely on-device (iOS Keychain / Android Keystore). The server stores only encrypted ciphertext and never holds plaintext sensitive data. Delivery confirmation is a server-side receipt (message reached the device); read confirmation is a client-side signal sent when the peer mentor opens the assignment detail screen. The 10-day auto-reminder is implemented as a scheduled backend job. Flutter BLoC manages local assignment state; the REST API exposes assignment CRUD and status-update endpoints. The Assignments Repository handles local caching for offline resilience.
Components (40)
Shared Components
These components are reused across multiple features
Service Layer (9)
Data Layer (12)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.