Digital Certificate Management
Feature Detail
Description
Digital Certificate Management provides peer mentors with a centralized view of their earned certifications, including current validity status, expiry dates, and renewal reminders. The feature merges digital certificate display, automated expiry alerts, and a parallel physical card system that acknowledges HLF's tradition of issuing physical certification cards as a valued recognition artefact. Certificates are stored securely and can be presented digitally during peer mentor activities, while the physical card issuance process is tracked within the same interface to maintain a unified record.
Analysis
Certificate expiry is a direct operational risk: HLF policy automatically removes peer mentors with lapsed certifications from the organization's public listings, and coordinators must manually track renewals today. Automated expiry alerts and in-app certificate status eliminate this manual tracking burden, reducing the risk of active peer mentors operating with expired credentials. The parallel physical card tracking system respects the cultural significance of the physical card as an 'adelsmerke' (badge of honour) while providing the digital infrastructure needed for scale. Together, these capabilities increase peer mentor retention by making the renewal pathway frictionless and the achievement tangible.
The CertificateService handles creation, renewal, and expiry checking; it integrates with Certificate Storage (infrastructure) for secure file hosting of digital certificate assets. The Certificate Screen lists all certificates with colour-coded validity indicators; the Certificate Card Widget renders individual certificates with expiry date and a download/present action. The Expiry Alert Widget triggers push notifications via the Push Notification Service at configurable lead times (e.g., 60, 30, 7 days before expiry). The physical card parallel workflow is modelled as a boolean flag on the certification record and surfaced as a status badge in the UI. Row-level Supabase policies restrict certificate writes to coordinators and admin roles. Integration with the peer mentor pause flow should automatically flag mentors whose certificates expire as unavailable.
Dependencies
Definition of Done
Components (6)
User Stories (11)
As a As a user
I want I want to see the physical card issuance status on each certificate record, indicating whether the physical card has been ordered, dispatched, or is pending
So that So that peer mentors know when to expect their physical card and coordinators can manage the physical card dispatch process within the same interface as the digital record
- Given a certificate record is created, when the physical card has not yet been issued, then the Certificate Card Widget displays a 'Physical card pending' badge
- Given a coordinator marks a physical card as dispatched, when the record is saved, then the status badge on the certificate card updates to 'Physical card dispatched' for both the coordinator and the peer mentor
- Given a peer mentor views their certificate screen, when the physical card has been dispatched, then they see 'Physical card dispatched' and the date it was sent
- +2 more
As a As a Peer Mentor (Likeperson)
I want I want to download my digital certificate as a PDF or image file through a secure, time-limited link
So that So that I can store a local copy, share it when required for peer mentor activities, and present it digitally without needing to carry the physical card
- Given a peer mentor taps the 'Download' button on a certificate card, when the Certificate Service generates the signed URL, then the download begins within 3 seconds
- Given a signed URL is generated, when the URL expires after the configured time limit, then attempting to access the expired URL returns an authorization error and the mentor is prompted to request a new link
- Given the peer mentor's device is offline, when they attempt to download a certificate, then a clear offline error message is displayed and no download is attempted
- +2 more
As a As a user
I want I want to see the physical card issuance status on each certificate record, indicating whether the physical card has been ordered, dispatched, or is pending
So that So that peer mentors know when to expect their physical card and coordinators can manage the physical card dispatch process within the same interface as the digital record
- Given a certificate record is created, when the physical card has not yet been issued, then the Certificate Card Widget displays a 'Physical card pending' badge
- Given a coordinator marks a physical card as dispatched, when the record is saved, then the status badge on the certificate card updates to 'Physical card dispatched' for both the coordinator and the peer mentor
- Given a peer mentor views their certificate screen, when the physical card has been dispatched, then they see 'Physical card dispatched' and the date it was sent
- +2 more
As a As a Coordinator
I want I want to configure the lead-time intervals at which expiry reminder notifications are sent to peer mentors (e.g. 60, 30, and 7 days before expiry)
So that So that reminder timing can be tuned to the organization's renewal process length and mentor responsiveness, ensuring reminders are sent at the most effective intervals
- Given a coordinator accesses certificate reminder settings, when they update the lead-time intervals, then the new values are saved and applied to all future expiry checks for their organization
- Given the lead-time configuration is updated, when the next expiry check runs, then notifications are scheduled according to the new intervals and not the previous default values
- Given a coordinator sets a lead-time of 90 days, when a certificate is 90 days from expiry, then a reminder notification is triggered
- +2 more
As a As a user
I want I want to tap on a certificate card to view its full details, including certificate name, issuing body, issue date, expiry date, associated course, and physical card status
So that So that I have all the information needed to understand the certification's scope and take appropriate follow-up actions such as renewal or physical card verification
- Given a user taps on a certificate card, when the detail view opens, then the certificate name, issuing body, issue date, expiry date, and associated course are all displayed
- Given the certificate detail view is open, when the certificate has a digital asset (PDF or image) stored, then a 'Download' button is visible and generates a signed URL for secure access
- Given the certificate detail view is open, when the 'Present' action is tapped, then the certificate asset is displayed in full-screen mode suitable for in-person presentation
- +3 more
As a As a Peer Mentor (Likeperson)
I want I want to see all my earned certifications on a single screen with clear colour-coded indicators showing whether each certificate is valid, expiring soon, or expired
So that So that I can immediately understand my certification status and take action before any certificate lapses, preventing automatic removal from the organization's public listings
- Given a peer mentor navigates to the certificate section, when the Certificate Screen loads, then all certificates associated with their account are displayed as individual cards sorted by expiry date ascending
- Given a certificate is valid with more than 60 days remaining, when the card is rendered, then the validity indicator is displayed in green with the exact expiry date
- Given a certificate is within the expiry lead-time window (e.g. 60, 30, or 7 days), when the card is rendered, then the validity indicator is displayed in amber with a warning label showing days remaining
- +4 more
As a As a user
I want I want to tap on a certificate card to view its full details, including certificate name, issuing body, issue date, expiry date, associated course, and physical card status
So that So that I have all the information needed to understand the certification's scope and take appropriate follow-up actions such as renewal or physical card verification
- Given a user taps on a certificate card, when the detail view opens, then the certificate name, issuing body, issue date, expiry date, and associated course are all displayed
- Given the certificate detail view is open, when the certificate has a digital asset (PDF or image) stored, then a 'Download' button is visible and generates a signed URL for secure access
- Given the certificate detail view is open, when the 'Present' action is tapped, then the certificate asset is displayed in full-screen mode suitable for in-person presentation
- +3 more
As a As a Coordinator
I want I want to view a summary of certificate validity status across all peer mentors within my organizational scope, with filters for expired, expiring soon, and valid certificates
So that So that I can proactively identify mentors at risk of lapsing and intervene before automated removal from listings disrupts active peer support relationships
- Given a coordinator navigates to the certificate management view, when the screen loads, then all peer mentors within their organizational scope are listed with their certificate validity status
- Given the coordinator applies the 'Expiring soon' filter, when the filter is active, then only peer mentors with at least one certificate within the expiry lead-time window are shown
- Given the coordinator applies the 'Expired' filter, when the filter is active, then only peer mentors with at least one expired certificate are shown, and those who have been auto-flagged as unavailable are visually distinguished
- +3 more
As a As a Coordinator
I want I want to create a new certificate record for a peer mentor, including uploading the digital certificate asset and setting the issue and expiry dates
So that So that the peer mentor's certification achievement is formally recorded in the system and they immediately gain access to their digital certificate and expiry reminders
- Given a coordinator opens the certificate issuance form for a peer mentor, when all required fields (certificate type, issue date, expiry date) are completed and saved, then the certificate record is created and immediately visible on the peer mentor's Certificate Screen
- Given a coordinator uploads a digital certificate asset, when the file is saved, then it is stored securely in the Certificate Storage bucket with access scoped to the certificate owner and the coordinator
- Given a certificate record is created with an expiry date, when the record is saved, then the expiry reminder schedule is automatically initialized with the default lead-time intervals (60, 30, 7 days)
- +4 more
As a As a Coordinator
I want I want the system to automatically flag a peer mentor as unavailable when their certificate expires, and to notify me so I can follow up on their renewal status
So that So that mentors with lapsed credentials are not assigned new contacts while expired, and I have visibility into which mentors need urgent certification follow-up to restore their active status
- Given a peer mentor's certificate reaches its expiry date, when the Certificate Service runs the daily expiry check, then the mentor's availability status is automatically set to unavailable with the reason 'Certificate expired'
- Given the automatic unavailability flag is triggered, when the coordinator next opens the app, then they receive a notification listing all peer mentors newly flagged as unavailable due to certificate expiry
- Given a peer mentor is automatically flagged as unavailable, when they open the app, then they see a notification explaining the reason (certificate expired) with a direct link to the relevant certificate card and renewal pathway
- +3 more
As a As a Peer Mentor (Likeperson)
I want I want to receive push notification reminders when my certificate is approaching its expiry date at configurable intervals (e.g. 60, 30, and 7 days before expiry)
So that So that I have sufficient lead time to complete the renewal process before my certificate lapses and I am automatically removed from the organization's listings
- Given a certificate is 60 days from expiry, when the scheduled expiry check runs, then a push notification is sent to the peer mentor's device with the certificate name and expiry date
- Given a certificate is 30 days from expiry, when the scheduled check runs, then a second push notification is sent with an increased urgency level
- Given a certificate is 7 days from expiry, when the scheduled check runs, then a critical push notification is sent with a deep link to the certificate renewal screen
- +4 more