= Services and responsibilities
Auth / Identity (Keycloak)
- Responsibility: Authentication, user identity, SSO, OIDC tokens.
- Data owned: Keycloak user record (sub), basic profile attributes.
- Notes: Other services store keycloak_id as foreign reference only.
Customer Service (customer profile / account)
- Responsibility: canonical customer profile (name, emails, billing address, company, contact info), payment-customer mapping (e.g., providerCustomerId), invoice delivery preferences, links to internal user records.
- Data owned: customer table (customer_id, keycloak_id, contact info, provider customer id, metadata).
- API examples: GET/PUT customer, attach payment method token, list customer’s subscriptions/orders.
- When to call: read-heavy for CRM and billing, write when profile changes.