Banking

Customer secrets masked, money movement approved by a person.

In banks, agents pay card debt, prepare credit files, write call-centre notes and answer complaints. BDDK’s Information Systems Regulation requires data to stay in the country (Art. 25) and an audit trail (Art. 13). Banking Law Art. 73 protects customer secrecy. Thulpar runs in front of the model as an OpenAI-compatible gateway. TCKN and IBAN values are found by checksum and masked, a transfer above the threshold waits for four-eyes approval, and every decision is reported in the BDDK evidence pack.

Policy template

tr-banking-bddk

Recommended install

On-premise, Standard or Performance tier. The tr-banking-bddk template. The kvkk and bddk evidence profiles.

Surfaces
OpenAI-compatible gatewayCheck APIEmbedded in Aginies
Regulatory basis
  • BDDK Information Systems Regulation Art. 13, 25, 27
  • Banking Law Art. 73 (customer secrecy)
  • KVKK 6698 Art. 6, 9, 12
  • DORA Art. 9, 17–20 (for EU subsidiaries)
Policy template

The locality requirement

Cloud guardrail APIs carry prompts and answers abroad. That conflicts with Art. 25.

Watch the runs →
Runs

The scenarios below are derived from the product’s real rules.

Every scenario is an agent run written to the product’s real rules. It shows the stage, the rails, the decision, the finding, the approval and the ledger entry step by step.

3 scenarios →
Banking

What comes up in practice

The locality requirement

Cloud guardrail APIs carry prompts and answers abroad. That conflicts with Art. 25.

Approval on money movement

A payment an agent starts must wait for a person. That approval belongs in the infrastructure layer, where application code cannot skip it.

Audit-ready evidence

The auditor asks which policy version, which detector and which decision applied. The answer has to be a signed evidence pack.

Runs

3 scenarios

The player opens on the flagship scenario. Pick the others below.

Card-debt payment agent · Mobile banking assistantgatewaytr-banking-bddkstandart
Decision trailCard Assistant · bank-assistant · vLLM · data centre
U
01inputuser
“Pay my whole card debt from account TR72 0006 1000 5197 8645 7841 32.”
A
02tool_callagent
cards:get_debt and accounts:list read calls; the crm-read group is open.
T
03tool_resulttool
Debt 4,350 TRY; the balance suffices.
A
04tool_callagent
The bank:transfer {amount: 4350, currency: "TRY", to: TR72…} call.
S
05tool_callsystem
Two approvals in 6 minutes; the run resumes, the transfer executes; the approvals are approval events on the ledger.
M
06output_chunkmodel
Streamed answer: “Your debt is paid; 4,350 TRY from account ****4132…” the IBAN masked inside the sentence.
A
07memory_writeagent
The agent writes “customer pays on the 5th of each month” to memory; no PII.
Thulpar · Rails

A customer pays card debt from the mobile channel; the IBAN is masked and a transfer above the threshold passes four-eyes approval.

cards:get_debtaccounts:listbank:transferotp:send
Controls: GR-PII-01 · GR-TOOL-02 · GR-TOOL-01 · GR-LOG-01
Evidence ledger0000…0000
Simulation · runs in your browser · no request leaves the pageadded latency: 0 ms · 7 steps · SHA-256 chain
Controls exercised in these scenarios

7 GR-*

idcontrolOWASPrails
GR-PII-01PII and special-category detection + masking (TCKN, IBAN, phone, health) on input/tool/output/logLLM02 / — / MCP10pii.detect, pii.redact, file.metadata_pii
GR-TOOL-02Durable human approval on high-impact actions, four eyesLLM06 / ASI02, ASI09labels.sink
GR-TOOL-01Tool-call privilege policy (default deny)LLM06 / ASI02, ASI03 / MCP02tool.authz, tool.args
GR-LOG-01Tamper-evident event log (model/tool/policy/approval/hit), ≥ 6 months, auditor export— / — / MCP08
GR-INJ-02Indirect injection from tool/RAG output: untrusted label, no new tool call without policyLLM01, LLM08 / ASI01, ASI06 / MCP06, MCP10injection.indirect, file.hidden_text
GR-IFC-01Information-flow labels (integrity, confidentiality, tenant, PII class) enforced at sensitive sinksLLM02 / ASI01, ASI03 / MCP10labels.sink, pii.detect
GR-OUT-01Output handling: no raw HTML, code sandbox, schema validationLLM05 / ASI05 / MCP05code, schema, regex, secrets, file.analyze, file.type, file.active_content, yara

The full catalogue and evidence packs →

See it in your own environment.

A one-hour technical demo: your scenario, your policy pack, on a closed-circuit install. Then the install kit and a trial licence for a pilot.