OrmAI
🎧

Safe database reads for customer-support agents

Give a support copilot read access to orders, tickets, and accounts — with PII masked and destructive operations off the table by construction.

The problem

A support agent needs to look up a customer’s orders and account state, but you can’t hand an LLM raw SQL against production. It might surface passwords, run an expensive scan, or be talked into a write it should never make.

With OrmAI

OrmAI exposes a small typed toolset (db.query, db.get, db.aggregate) restricted to read models. Sensitive fields are masked or denied, row limits cap scans, and writes are simply not in the tool surface for this policy.

The primitives doing the work

Field-level redaction

Passwords, secrets, and tokens are denied; email and phone are masked in every response.

Query budgets

Row caps and statement timeouts keep a chatty agent from melting the database.

Read-only surface

Only query/get/aggregate are mounted — no create/update/delete exists to be misused.

The policy, in a few lines

policy = (
    PolicyBuilder(DEFAULT_PROD)
    .register_models([Order, Ticket, Account])
    .deny_fields("*password*", "*secret*", "*token*")
    .mask_fields(["email", "phone"])
    .max_rows(200)
    .build()   # writes intentionally not enabled

Keep reading


Other use cases