Beneficiary Toaster
The Digi-Vrtti one-click scholarship is a web-based application. Seekers have their own login credentials using which they can see the available benefits. Before seekers see the list of benefits they need to ensure that they have uploaded the required Verifiable Credentials (VC) / Documents for benefits, and this will be done using the e-wallet when seekers click on the upload document from wallet button. If all required documents are uploaded, then seekers can see the list of documents with a green colored tick mark and missing documents with a yellow coloured warning mark. After uploading documents, seekers can explore the benefit list and see details of it. If seekers click on the Proceed to Apply button they come up with an application form with prefilled data from their profile.
System Capabilities
User Persona: Beneficiary (End User)
Splash Screen
Enables multilingual access and easy onboarding for new or returning users.
Language selection (default: English)
Buttons for registration and login
User Authentication
Secures access to personalized services and enables seamless onboarding.
Login
Login with username and password
New users see a Terms and Conditions prompt
Registration
New account creation with basic details
Generates a system username and redirects to login
Terms and Conditions Consent
Ensures legal compliance and informed participation by requiring users to accept terms before using the platform.
Displayed on first login
Accept to continue, deny to log out
Home Screen – User Dashboard
Empowers users to manage personal information and prepare necessary documents for benefit applications.
Displays personal details and document status
Document types include:
Missing
Uploaded
Expired
Actions per document:
View in JSON format
Preview original VC image
Delete with confirmation
Document Management and Scanning
Simplifies document collection and reduces dependency on physical paperwork.
Scan & Upload option to open camera
Upload, re-upload, and auto-update document status
Success and error handling included
Explore Benefits
Delivers personalized benefit recommendations and full access to available schemes through smart filters and eligibility checks.
Tabbed View
My Benefits: Shows benefits based on Eligibility SDK results
All Benefits: Displays full catalog with filters:
Gender
Income Range
Caste
Both tabs include:
Search bar
Pagination
View Details
Full description, eligibility, required documents
Document preview (JSON & VC image)
"Proceed to Apply" button
Benefit Application Workflow
Improves accuracy and efficiency in benefit applications while preventing ineligible submissions.
Application Flow
Expired Document Check
Alerts user if documents from required documents are expired
Prevents proceeding until valid documents are uploaded
Eligibility Check
Verifies user eligibility via SDK
If eligible, redirects to pre-filled application form
If not, shows error and blocks access
Form Submission
Users fill in missing details and submit
Redirect to "My Application" upon success
My Application
Enables self-service tracking of benefit application status, reducing manual follow-ups.
List of submitted applications
View detailed status and form data
Profile Management
Provides transparency and control over personal and demographic data used in eligibility checks.
View and edit personal information (e.g., Name, DOB, Income)
Import documents from digital e-wallet
Track document status
Logout
Maintains account security and session control by allowing users to safely exit the system.
Accessible via navbar menu
Redirects to login screen
User Persona: Beneficiary Admin
Field Management Capabilities
Dynamic Field Creation: Create custom form fields without code deployment
Field Type Support: Text, numeric, date, boolean, and dropdown field types
Field Attributes Configuration: Set required, editable, and ordering properties
Dropdown Options Management: Dynamic addition/removal of dropdown options with name-value pairs
Field Validation: Client-side validation for all field properties
Field Editing: In-place editing of existing field configurations
Usage-Aware Deletion: Prevents deletion of fields currently used in mappings
Field Ordering: Numeric ordering system for form field display sequence
Document Configuration Capabilities
Document Type Definition: Configure multiple document types with metadata
VC Schema Management: Define verifiable credential field schemas using JSON
Real-time JSON Validation: Validate VC field schema structure as user types
Multiple Document Support: Manage multiple document configurations simultaneously
Document Metadata: Track document names, labels, types, and subtypes
Bulk Configuration Save: Save all document configurations in single operation
Dynamic Configuration Management: Add/remove document configurations on-demand
Field Mapping Capabilities
Many-to-Many Relationships: Map single fields to multiple document types
Dynamic VC Field Loading: Automatically load VC fields based on document selection
Transformation Rules: JSON-based field value transformation and normalization
Core Field Integration: Include hardcoded system fields (firstName, lastName, dob, middleName)
Nested Mapping Structure: Complex document mapping within field mappings
Mapping Validation: Comprehensive validation of all mapping relationships
Visual Mapping Confirmation: Real-time display of completed mappings
Bulk Mapping Operations: Save all field mappings simultaneously
Security & Data Protection
Encryption Overview
Algorithm:
Uses AES-256-GCM (Advanced Encryption Standard, 256-bit key, Galois/Counter Mode) for all encryption operations.
Provides both strong data privacy and tamper detection.
Scope of Encryption:
All sensitive database fields (e.g., user documents, application data) are always encrypted.
Dynamic/custom field values can be individually configured for encryption. If a field is marked as "encrypted" in its configuration, its values are automatically encrypted before storage and decrypted on access.
Encryption and decryption are handled transparently by backend services and helpers.
Key Management:
Encryption keys are 32-byte, base64-encoded values, provided via environment variables (
ENCRYPTION_KEY).Each encryption operation uses a unique, random initialization vector (IV) for enhanced security.
Configurable Field-Level Security
Custom fields support a flexible
isEncryptedattribute.Administrators can enable or disable encryption for each field as needed, allowing fine-grained control over which data is protected.
Key Rotation
Key rotation is supported to maintain strong security. The project provides a script (scripts/key-rotation.ts) that allows you to re-encrypt all sensitive data with a new encryption key. To rotate keys, set the current and new keys as environment variables, run the script, and update your system to use the new key after successful completion. This process ensures all encrypted data remains protected if a key change is required.
Last updated
