Consent Lifecycle | Detailed Flow Mapping
π
Consent Journey Overview
Technical sequence mapping based on RBI specifications and Finvuβs implementation
π Flow Categorization
π― CONSENT_FLOW
Primary business flow
π DATA_FLOW
Secondary flow triggered post consent approval
π€ USER_FLOW
Subset of CONSENT_FLOW (user-facing journey)
TECHNICAL SEQUENCE | RBI SPEC COMPLIANCE
Based on @Rebit_Spec_AA swagger docs | entities mostly follow but have variations (incomplete error msgs, different json keys, etc)
STEP_1 | FIU_TO_AA_CONSENT_INITIATION
FIU -> AA: POST /Consent {ConsentDetails}
AA -> FIU: 200 {ConsentHandle} (dotted response)
STEP_2 | USER_REDIRECTION_TO_AA
FIU shows: Consent Request UI with redirect
Customer clicks: redirected to AA platform using AA_handle (mobileno@finvu)
STEP_3 | AA_USER_AUTHENTICATION
Customer: Account Discovery, Account Linking, Consent Approval process
AA: OTP login verification
AA: UI_OPTIONS = [sweecar_ui | co_created_ui] (sahamati_guidelines_compliant)
STEP_4 | ACCOUNT_LINKING_PROCESS
Customer: selects account (auto_discovery_available OR manual_selection)
Customer: enters FIP_OTP for account linking
Customer: reviews consent details + checkboxes
Customer: APPROVE/DENY consent action
STEP_5 | POST_USER_ACTION_FLOW
Customer: redirected back to FIU platform
AA -> FIP: POST /Consent {consentId, signedConsent} (consent_artefact)
FIP -> AA: 200 {ok} (dotted response)
STEP_6 | FIP_CONSENT_EVALUATION
FIP_FACTORS: [date_range_fair_use_policy | other_business_rules]
FIP_DECISION: APPROVE | REJECT
STEP_7 | CONSENT_NOTIFICATION_CHAIN
AA -> FIU: POST /Consent/Notification {consentStatus: "ACTIVE", consentId, consentHandle}
FIU -> AA: 200 {"OK"}
STEP_8 | DATA_FLOW_INITIATION
FIU -> AA: POST /Consent/fetch {consentId}
AA -> FIU: 200 {signedConsent, status}
STEP_9 | FI_REQUEST_CHAIN
FIU -> AA: POST /FI/request {consentId, KeyMaterial}
AA -> FIU: 200 {sessionId}
AA -> FIP: /FI/request {digitalSignature, keyMaterial}
FIP -> AA: 200 {sessionId, consentId}
STEP_10 | DATA_READY_NOTIFICATION
FIP -> AA: POST /FI/Notification {sessionId, status: READY}
AA -> FIP: 200 {"OK"}
STEP_11 | DATA_FETCH_COMPLETION
AA -> FIP: /FI/fetch {sessionId}
FIP -> AA: 200 {FI}
AA -> FIU: POST /FI/Notification {sessionId, status: READY}
FIU -> AA: 200 {"OK"}
FIU -> AA: POST /FI/fetch {sessionId}
AA -> FIU: 200 {FI}
FINVU_ASSETS_ECOSYSTEM
- JS_SDK: web integration capability
- MOBILE_SDK: mobile app integration
- CORE_AA_PRODUCT: karaf+springboot backend
- EVENT_STREAMING: kafka-based event architecture
KEY_BUSINESS_DEFINITIONS
- CONSENT_HANDLE: temporary identifier for consent session
- CONSENT_ARTEFACT: approved consent stored on AA (key for data requests)
- FAIR_USE_POLICY: FIP rules governing consent approval (date ranges, etc)
- AA_HANDLE: user identifier format = mobileno@finvu
FLOW_STATES_TO_TRACK
INITIATED -> OTP_VERIFIED -> ACCOUNT_LINKED -> CONSENT_SHOWN -> USER_ACTION -> FIP_EVALUATION -> APPROVED/REJECTED -> ARTEFACT_STORED -> DATA_FETCHABLE