1 · Name
DoneLetters, digits and _ . : / < > -, up to 128. Dvar sees this name in health checks, so don't include customer names or secrets. Only a member creates a workflow.
Dvar uses this to name topics and draft the rubric. Don't include personal data. You can change it later from Traffic.
2 · Which models should Dvar use to score your traffic?
DoneChange them on the workflow's Models page.
3 · How do we capture traffic?
Doneimport osfrom openai import OpenAI- client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])+ client = OpenAI(base_url=os.environ["DVAR_GATEWAY_URL"],+ api_key=os.environ["OPENAI_API_KEY"]) # passes through, never stored
DVAR_GATEWAY_URL=https://<your gateway>/w/abcl-servicing-intent/v1
One gateway serves every workflow: /w/abcl-servicing-intent/ in the base URL names this one. Fails open: if Dvar fails, your call still goes through.
4 · Connect
DoneConnector pairing
Paired · data plane dp_3f9a…c21e
Last health check 18 s ago · every 60 s · portal.dvarlabs.ai
- An admin opens portal.dvarlabs.ai › Data planes › Get pairing code. It is valid for 15 minutes and works once.
- The admin enters it on this data plane's Dvar connector.
- The Dvar connector swaps it for a revocable data-plane credential (
dvar_dp_…). Never advar_live_key.
Pairing is once per data plane, not per workflow. Health checks send only the workflow name and call counts.
5 · Data sharing
Off by defaultThe Dvar connector's local policy file decides: the file the Dvar connector starts with (-policy; in make demo, link/policy.json in the run folder). The default allows only pairing and health checks to portal.dvarlabs.ai. Every call is logged, allowed or denied. You can change this later.
Masked text (<PERSON_1> stays a token). Once images are on, judge, alternative reply and comparison calls also send the customer's images unmasked. Topic naming and rubric drafting send text only. One rule per provider and purpose covers every workflow. Never a Dvar origin.
- OpenRouter
- judge · Not allowed
- topic naming · Not allowed
- rubric drafting · Not allowed
- alternative reply · Not allowed
- comparison · Not allowed
{
"message": "model_call",
"purpose": "judge",
"destination": "https://openrouter.ai",
"provider": "openrouter"
},
{
"message": "model_call",
"purpose": "topic_naming",
"destination": "https://openrouter.ai",
"provider": "openrouter"
},
{
"message": "model_call",
"purpose": "rubric_drafting",
"destination": "https://openrouter.ai",
"provider": "openrouter"
},
{
"message": "model_call",
"purpose": "alternative_reply",
"destination": "https://openrouter.ai",
"provider": "openrouter"
},
{
"message": "model_call",
"purpose": "comparison",
"destination": "https://openrouter.ai",
"provider": "openrouter"
}Keep the existing rules. Fill in <your model endpoint> if it is there: a policy that fails its schema takes the Dvar connector fully offline.
Allowed by the default policy; a connector admin can remove the rules. Pairing sends a one-time code; health checks send workflow names and call counts only.
Ids and counts only. Lets a member start a talk with a Dvar engineer.
Stored, masked conversations of this workflow. Never the original values.
Turning one on drafts a rule for egress-policy.json. A connector admin applies it. The console does not change the policy.