This section provides an overview of the core entities in the system and their relationships.

Core Entities

Users

Users represent individuals who interact with CoreBanq. Key characteristics:

  • Can be associated with multiple customers
  • Have role-based access rights
  • Link to personal data through personas
  • Support multiple authentication methods

Credentials

Authentication methods associated with users:

TypeDescriptionUsage
EmailPrimary email addressRequired
PhoneMobile numberOptional
TOTPTime-based One-Time PasswordOptional
TelegramTelegram accountOptional
WhatsAppWhatsApp numberOptional

When a second credential is verified, 2FA is automatically activated for the user.

Customers

Represent organizations in the system:

  • Private individuals
  • Companies
  • Organizations
  • Financial institutions

Personas

Store personal information separately:

  • Identity details
  • Contact information
  • Document records
  • Enhanced privacy controls

Connect personas to other entities:

  • User → Persona (personal data)
  • Customer → Persona (stakeholder data)
  • Shareholder → Persona (ownership data)

Entity Relationships

Common Fields

All entities share these standard fields:

FieldTypeDescription
idUUIDUnique identifier
created_attimestampCreation timestamp
created_byUUIDCreator reference
modified_attimestampLast update time
modified_byUUIDModifier reference
activebooleanStatus flag
metadatajsonbCustom attributes

Security Features

  • Role-based access control
  • Data segregation
  • Audit logging
  • Field-level permissions
  • Customer scoping

For detailed information on each entity’s attributes and methods, refer to their respective API documentation sections.