Driver Honorarium & NDA Management
Feature Detail
Description
This feature manages the formal administrative process for peer mentors who act as volunteer drivers, covering both the registration of driver honorarium payments and the digital signing of non-disclosure agreements (NDAs) required before sensitive personal information can be shared. The honorarium registration screen captures driving engagements and calculates applicable payment based on configured rates. The NDA flow presents the agreement document, captures a legally sufficient digital signature, stores a timestamped record, and gates access to sensitive assignment data until a valid NDA is on file. This feature is particularly critical for Blindeforbundet where drivers transport members and may be entrusted with sensitive health information.
Analysis
Driver honorarium and NDA compliance are legally and ethically mandatory for organisations whose volunteers transport members or receive access to sensitive personal data including health records and addresses. Without a formalised digital process, organisations rely on paper NDAs that are difficult to track and may not be on file when needed for audit or incident investigation. Digitising the NDA flow eliminates paper management overhead and enables real-time enforcement: the system can automatically block access to encrypted assignments for peer mentors whose NDA has expired or was never completed. The honorarium registration component ensures drivers are fairly compensated according to organisational policy and that payment records are captured accurately for accounting integration, reducing the manual reconciliation work currently performed by coordinators.
The NDA signing flow uses a document presentation screen that renders the agreement text from a Supabase-hosted template, followed by a signature capture widget using the `signature` Flutter package or a PIN-based confirmation for accessibility. The signed agreement metadata (user ID, timestamp, document version hash) is stored in the `nda_agreements` table; the actual signature image is stored in Supabase Storage under a restricted access policy. A Supabase Edge Function or RLS policy on `encrypted_documents` checks for a valid NDA record before allowing read access. Driver honorarium records are written to `driver_honorariums` with links to the relevant activity or assignment. The Document Signing Infrastructure component handles secure storage and retrieval. Per-organisation honorarium rates are stored in configuration and applied at calculation time within the Honorarium Service.
Dependencies
Definition of Done
Components (6)
User Stories (6)
As a As a Peer Mentor (Likeperson)
I want I want to see a clear breakdown of how my driver honorarium amount is calculated — including the rate per trip, the number of trips, and the total — before I confirm submission
So that So that I can verify the amount is correct and understand how the payment is derived, giving me confidence that the system is applying the right rate for my organisation
- Given a peer mentor is on the Driver Honorarium Screen, when they enter the number of trips, then the honorarium breakdown (rate per trip × number of trips = total) updates in real time
- Given the organisation has tiered rates (e.g. higher rate above a threshold), when the trip count crosses the threshold, then the breakdown clearly shows both rate tiers and their respective amounts
- Given the peer mentor views the calculation, when they tap an information icon next to the rate, then a tooltip or modal explains the rate source and when it was last updated by the organisation
- +1 more
As a As a Peer Mentor (Likeperson)
I want I want to view a history of all driver honorarium records I have submitted, including the date, associated activity, number of trips, and amount for each entry
So that So that I can track my total compensation over time, verify that all my driving engagements have been recorded, and reference past records if questions arise about payment
- Given a peer mentor opens the Driver Honorarium Screen, when they navigate to the history tab or section, then all their past honorarium submissions are listed in reverse chronological order
- Given the history list is displayed, when the peer mentor taps an entry, then a detail view shows the full record including trip count, rate applied, total amount, associated activity/assignment, submission timestamp, and accounting sync status
- Given a peer mentor has no prior honorarium records, when they view the history, then an empty state message is shown explaining that submitted records will appear here
- +1 more
As a As a Peer Mentor (Likeperson)
I want I want to see whether my NDA is currently valid, when it was signed, and when it expires
So that So that I know whether I can access sensitive assignments and can proactively renew the agreement before it expires and blocks my access
- Given a peer mentor with a valid NDA on file navigates to their NDA status, when the screen loads, then it displays the date signed, document version, and expiry date (if applicable)
- Given a peer mentor whose NDA expires within 30 days, when they view their NDA status, then a prominent warning banner is displayed encouraging them to re-sign
- Given a peer mentor with an expired NDA, when they view their NDA status, then the status is clearly shown as 'Expired' with a call-to-action button to begin re-signing
- +1 more
As a As a Peer Mentor (Likeperson)
I want I want to register a driver honorarium record for a driving engagement I performed, with the applicable rate calculated automatically based on the number of trips
So that So that I receive fair compensation according to organisational policy and the payment record is captured accurately for accounting integration without requiring manual reconciliation by coordinators
- Given a peer mentor opens the Driver Honorarium Screen, when the screen loads, then it displays the current applicable honorarium rate configured for their organisation
- Given the peer mentor enters the number of driving trips, when the value is entered, then the honorarium amount is calculated automatically and displayed before submission
- Given the peer mentor submits the honorarium record, when the Honorarium Service validates and saves it, then a record is written to driver_honorariums linked to the relevant activity or assignment with the correct calculated amount
- +3 more
As a As a Peer Mentor (Likeperson)
I want I want to re-sign the NDA when my existing agreement has expired so that my access to sensitive assignment data is restored immediately after completing the signing process
So that So that I can continue fulfilling my duties as a volunteer driver without prolonged disruption and my organisation maintains continuous compliance coverage
- Given a peer mentor with an expired NDA attempts to access an encrypted assignment, when the system detects expiry via the NDA Validation Service, then access is blocked and a clear 'NDA Expired' message with a re-sign button is shown
- Given the peer mentor taps the re-sign button, when the NDA Signing Screen opens, then it displays the latest version of the agreement document
- Given the peer mentor completes the re-signing process, when the new record is saved to nda_agreements, then access to encrypted assignments is restored in the same session without requiring logout
- +1 more
As a As a Peer Mentor (Likeperson)
I want I want to be guided through reading and digitally signing the NDA agreement before I can access sensitive personal information about contacts
So that So that my organisation has a legally sufficient record of my consent to handle sensitive data, and I can unlock encrypted assignments that contain health and address information
- Given a peer mentor without a valid NDA on file attempts to open an encrypted assignment, when the system checks NDA status, then the peer mentor is redirected to the NDA Signing Screen before the assignment content is revealed
- Given the NDA Signing Screen is displayed, when it loads, then the full current NDA agreement text is rendered, fetched from Supabase Storage, with the document version hash visible
- Given the peer mentor has scrolled to the end of the agreement, when they submit a digital signature or PIN confirmation, then the signed record (user_id, timestamp, document_version_hash, signature_storage_reference) is persisted to the nda_agreements table
- +3 more