
Data model underpins the microservice system that connects Client Applications, End Users, Banks, and their Consents in a secure and regulated manner.

Enables tracking of relationships between users, client apps, banks, and consent activities

Ensuring each entity is uniquely identified and traceable for auditing, security, and operational needs.

Client-App

User

Reference Banks

Onboarding Credentials

Consent Details

This entity represents third-party applications that integrate with your system (e.g., apps using account aggregation).

A client app initiates registration with your system.

After successful KYC and validation, a Client Unique Reference is assigned.

The client is stored in the Client-App table with its status.

Client Unique Reference A system-generated ID to uniquely identify the client.

Client Name Human-readable name of the client app (e.g., “Accountant HelpSquad”).

Other KYC Details This includes registration info, contact, license, type (company/individual), etc.

Status Current client status (active, inactive, pending, etc.)

This entity stores details of individual users registered via client apps.

A user signs up through a Client-App

After identity/KYC checks, the system generates a Unique User Reference.

The user is associated with their client via the Client-App Unique Reference.

The User table stores this relation.

Username Name or handle used by the end user.

Unique User Reference System-generated user ID.

Status Active, inactive, suspended, etc.

Other KYC Details e.g., email, phone number, national ID.

Client-App Unique Reference Links the user to the registering client app.

This table stores the list of banks the system can communicate with.

Admin or automated process adds banks during onboarding.

Bank details are persisted with a unique Bank Reference.

Status is updated as onboarding progresses.

Bank Name e.g., HSBC, Lloyds, Barclays.

Bank Details API endpoints, mTLS setup info, dynamic registration support, etc.

Generated Bank Reference System-generated unique ID for internal references.

Onboarding Status Indicates if onboarding is complete, pending, failed, etc.

These are sensitive details stored securely after successful onboarding of a TPP with a bank.

After dynamic or manual TPP registration with a bank, the system receives a Client ID/Secret.

These are stored against the Bank Reference in encrypted form.

Onboarding is considered successful once these are present and verified.

Bank Reference Links the credential to a specific bank.

Client ID Issued by the bank after registration.

Client Secret Confidential key for secure communication.

Status Active, expired, revoked, etc.

This table handles PSU consent information related to accessing bank data.

When a user grants consent, a Consent ID is created.

Upon redirection (or decoupled auth), the Code is sent to the callback.

The system exchanges the Code for an Access Token.

The consent record is stored and associated with User, Client-App, and Bank.

Consent Reference Unique system-generated ID.

User Reference Ties the consent to a specific user.

Client-App Reference Links to the app that requested consent.

Bank Reference Specifies the bank to which consent is given.

Consent ID ID issued by the bank (ASPSP).

Code Temporary auth code returned after user consent.

Access Token Final token used to access account APIs.