One database per brokerage
Every brokerage is set up with its own dedicated Neon Postgres database. Your clients, enquiries, and files physically live apart from every other brokerage, not in shared tables separated only by a column.
You're trusting us with your clients' financial lives, so here are the direct answers: where your data lives, how the AI agent stays inside the advice boundary, and how every automated action is recorded. We don't hold SOC 2, ISO or PCI certification, and we won't pretend otherwise. We'll show you exactly what is built instead.
Your brokerage gets its own dedicated database. The only thing in the small platform database is reference and routing data, plans, staff logins, and the lender and loan-product catalogue. Your clients' data never sits next to another brokerage's.
Every brokerage is set up with its own dedicated Neon Postgres database. Your clients, enquiries, and files physically live apart from every other brokerage, not in shared tables separated only by a column.
Uploaded documents go to that brokerage's own private, isolated file storage. There is no shared pool to read across, so one brokerage's files are never a lookup away from another's.
There is no shared table to leak from, so the most common data-leak path in shared systems, a forgotten filter exposing another brokerage's rows, cannot occur by construction. Links between the platform database and a brokerage's own database are immutable string identifiers, not live relationships, so no query path reaches from one brokerage into another. This is a structural data-separation guarantee against the shared-pool leak, not a claim that no software bug of any kind can ever exist.
Every AI provider and model an agent can use comes from a platform-curated catalogue, filtered by your per-brokerage residency setting. If you operate where external providers or data retention are restricted, you're served within those limits, and nobody can point the AI at an arbitrary, un-vetted model.
Data-residency rules vary by industry and country, so they follow the module built for your market, not one hardcoded setting for the whole platform. The Australian mortgage module carries its country's residency posture; a future module for another country brings its own.
Across the platform, doubt resolves to the safe action. A call that cannot resolve its language, market, or policy will not start, and a trace the platform cannot confidently place is dropped rather than sent.
The shortcut is to write compliance rules into the AI's prompt and hope the model obeys. A prompt instruction is a suggestion, not a guarantee. TomoBroker pins the boundary to deterministic code the model cannot argue with.
The AI agent does not give personal financial advice. There is no "advise" or "submit" action for it to call, so it cannot recommend a specific loan, assess suitability, or lodge anything, even when a client pushes for it. It hands off to an accountable broker instead.
Two deterministic guards run every turn: an input-side guard matches a client's message against the disclosure rules for your market and forces the required disclaimer plus a human-handoff offer; an output-side guard redacts regulated-advice phrasing from the AI's free text. When voice is enabled, the required disclosure is spoken word-for-word and guaranteed to complete. None of it is generated by the model, so it cannot drift or be talked out of.
Dates, calculations, matching, and state changes run in deterministic tools, not in the model's free text. The model cannot invent a rate, a repayment, or a date, because those come from the same engine the dashboard uses.
When the AI acts, it runs on the same rails your team does: one brokerage, one enquiry, the same permissions and audit trail. Every action is attributable, which actor, for which client or enquiry, under which market, with which model, and you can reconstruct it long after the fact.
What is recorded
Observability is built to watch the platform without harvesting private financial conversations. Content stays off unless someone deliberately turns it on for a brokerage.
When AI-run traces are exported for observability, the system sends identifiers and classifications, not the conversation. Content is turned on only when an operator deliberately enables it for a specific brokerage; it is never on by default.
Each brokerage's traces go to that brokerage's own separate project, carrying the dedicated-database isolation through into monitoring. Export is fail-closed: a region mismatch or a registration the platform cannot verify means the trace is discarded, not sent to the wrong place.
Logs are redacted of secrets and personal information. Secret masking strips credentials from anything exported while leaving legitimate content intact. The cost and usage ledger records metadata about model calls and refuses content-bearing fields; it never stores the conversation.
Honest note: V1 ships with no live external monitoring instance connected, a null sink. Connecting a real one, and ever enabling content, are deliberate operator steps, not the default.
TomoBroker holds no SOC 2, ISO, or PCI certification to cite, and we do not claim one. The posture on this page is built into the platform and by design, not externally certified or audited. We would rather say that plainly than imply a compliance badge we do not hold.
Short, honest answers. Anything not covered here, ask us and we will send you the detail.
Each brokerage is set up with its own dedicated Neon Postgres database and private, isolated file storage. Your clients, enquiries, and uploaded files live apart from every other brokerage. A small platform database holds only reference and routing data, plans, staff logins, and the lender and loan-product catalogue, and never holds one brokerage's client data next to another's.
See the isolation, the audit records, and the AI guardrails on a call, and ask us anything the page did not answer. Book a demo, or start free and explore the platform yourself.