All case studies A payments company got a private AI that respects who is allowed to see what Payments Processing · Build

A payments company got a private AI that respects who is allowed to see what

The blocker was not AI capability, it was permissions. Every off-the-shelf option used shared service accounts that gave everyone access to everything. We built a private, on-premise AI where every query carries the asking user's identity, access is deny-by-default, and every answer is auditable.

Industry
Payments Processing
Outcomes
Knowledge unlocked
Engagement
Build
Phased build; V1 validated to controlled staging

The problem

A payments company wanted its team asking questions of company data in plain English. But its data warehouse holds financial records where who-can-see-what genuinely matters, and every off-the-shelf AI integration connected through shared service tokens: one credential, everyone sees everything. For a company that lives on trust, that is not a rollout plan, it is a breach waiting to be written up.

What we built

  • A permission gateway that sits between the AI and the data warehouse. Every request carries a signed token identifying the individual user, and access is deny-by-default: the AI can only see what that specific person is cleared to see.
  • Role-scoped catalogs, so different teams query through different views of the warehouse, each shaped to their clearance.
  • Private by design: local AI models on the company's own hardware behind a private interface, with nothing exposed to the public internet.
  • A tamper-evident audit trail: a hash-chained log of every query and answer, validated end to end, so compliance can reconstruct exactly who asked what and when.
  • The gate before production: 55 automated tests passing, 88 percent code coverage, a clean secret scan, and three independent AI code-review rounds before sign-off to staging.

Stack

Local LLMsMCPOpen WebUIPostgreSQL

Got something like this?

If this case study sounds close to your situation, let's talk. No pitch decks, just a conversation.