Architecture
Two ways to connect. Nothing leaves by default.
Option A
Beside Ray's calls, inside Razorpay's network
An SDK in Ray's service records every call. Ray's providers stay as they are.
Razorpay network
Ray service
The Dvar SDK wraps its calls
Redactor
PII → tokens, before storage
Collector and eval store
Traces, gold, rubric, gates
Model providers
Today's, plus open models on Dvar
Option B
Ray calls the gateway
Change the base URL. The gateway routes each step to the model the evals chose, in your network or Dvar Cloud.
Razorpay network (or Dvar Cloud, if you choose it)
Ray service
base_url = …/w/ray-settlements/v1
Dvar gateway (Go)
Routes per workflow; keys never stored; fails open
Redactor → collector → eval store
Same as option A
Model providers
Frontier and open models, per the route
Stays in your network
Raw chats, tool results, the eval store, provider keys.
Redaction
Before anything is stored. Stored traces never hold a name, phone, email or account number.
What leaves
Nothing by default. Calls go to Ray's providers, or to Dvar's open models if routed.
In this demo
A TypeScript copy of the gateway runs in this app; every benchmark call went through it. Production uses Dvar's Go gateway.