Beneficiary Toaster

Overview

The Digi-Vrtti one-click scholarship is a web-based application that enables beneficiaries to discover and apply for available benefits. Users authenticate with their credentials to access personalized services. Before viewing benefits, users must upload required Verifiable Credentials (VC) / Documents, which can be imported from their e-wallet. The system displays document status with visual indicators: green checkmarks for uploaded documents and yellow warnings for missing documents.

After uploading documents, users can explore the benefit catalog and view detailed information. Clicking "Proceed to Apply" opens a pre-filled application form populated with data from their profile.


System Capabilities

User Persona: Beneficiary (End User)

Splash Screen

  • Purpose: Enables multilingual access and easy onboarding

  • Features:

    • Language selection (default: English)

    • Registration and login buttons

User Authentication

  • Purpose: Secures access to personalized services

  • Login: Username and password authentication

  • Registration: New account creation with basic details

    • System generates username automatically

    • Redirects to login after registration

  • Terms and Conditions: Displayed on first login

    • Accept to continue, deny to log out

Home Screen – User Dashboard

  • Purpose: Manage personal information and document status

  • Features:

    • Display personal details and document status

    • Document status indicators:

      • Missing documents

      • Uploaded documents

      • Expired documents

    • Document actions:

      • View in JSON format

      • Preview original VC image

      • Delete with confirmation

Document Management and Scanning

  • Purpose: Simplify document collection and reduce physical paperwork dependency

  • Features:

    • Scan & Upload option (opens camera)

    • Upload, re-upload functionality

    • Automatic document status updates

    • Success and error handling

Explore Benefits

  • Purpose: Deliver personalized benefit recommendations

  • Tabbed View:

    • My Benefits: Shows benefits based on Eligibility SDK results

    • All Benefits: Full catalog with filters:

      • Gender

      • Income Range

      • Caste

  • Features:

    • Search bar

    • Pagination

    • View Details: Full description, eligibility, required documents

    • Document preview (JSON & VC image)

    • "Proceed to Apply" button

Benefit Application Workflow

  • Purpose: Improve accuracy and prevent ineligible submissions

  • Application Flow:

    1. Expired Document Check: Alerts if required documents are expired; prevents proceeding until valid documents are uploaded

    2. Eligibility Check: Verifies user eligibility via SDK

      • If eligible: Redirects to pre-filled application form

      • If not eligible: Shows error and blocks access

    3. Form Submission: Users fill missing details and submit

      • Redirects to "My Application" upon success

My Application

  • Purpose: Enable self-service tracking of benefit application status

  • Features:

    • List of submitted applications

    • View detailed status and form data

Profile Management

  • Purpose: Provide transparency and control over personal data

  • Features:

    • View and edit personal information (Name, DOB, Income, etc.)

    • Import documents from digital e-wallet

    • Track document status

Logout

  • Purpose: Maintain account security and session control

  • Access: Via navbar menu

  • Action: 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 isEncrypted attribute

  • 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