Concepts
Platform#
A platform is you: the product that embeds FinBaze. It owns keys, allowed origins, embed settings and the list of companies. Sandbox and live are separate platforms with separate data.
Company#
A company is one of your customers' businesses. It has its own ledger, tax obligations and documents. You create it with createPlatformCompany and your own externalId:
- The same
externalIdalways returns the same company, so the call is safe to retry. company.idis the profile id used by every other operation.- A company belongs to exactly one platform. It cannot be seen by FinBaze accounts outside that platform.
Users#
A platform user is a person in your product who works on one or more companies. You identify them with your own externalUserId. Users are hidden: FinBaze never sends them email, never shows a login page and they cannot sign in to FinBaze directly. Their only way in is a token that your backend mints for them.
Access is per company, with a role:
| Role | Can |
|---|---|
admin | Everything, including submitting filings and managing access |
member | Day-to-day bookkeeping |
viewer | Read only |
Disable a user (upsertPlatformUser(disabled: true)) or remove their access and every embed session of theirs is revoked within seconds.
Isolation#
A user token only sees the companies the user has access to, and only inside your platform. A secret key only sees your platform's companies. Neither can reach another platform's data.