Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.masker.dev/llms.txt

Use this file to discover all available pages before exploring further.

Masker exposes a standard OpenAI-compatible /v1/chat/completions endpoint. If your voice platform supports a “Custom LLM,” “Custom OpenAI-compatible base URL,” or similar setting, you can drop Masker into the request path without writing any code, installing an SDK, or adding extra headers. You paste one URL, and every conversation turn flows through the compliance firewall automatically.

How it works

Your voice platform sends POST /v1/chat/completions requests to Masker instead of OpenAI directly. Masker intercepts each request, tokenizes PHI in the messages array, forwards the masked request to your configured upstream model, and rehydrates tokens in the response before returning it to your platform. The request and response shapes are identical to the OpenAI Chat Completions API — your platform never needs to know Masker is in the middle.

Base URL format

https://try.masker.dev/agents/custom/s/<your-session>/v1
Your platform will append /chat/completions to this base URL automatically. Do not add the suffix yourself. For a portal-provisioned agent, use the agent-specific URL shown in the Masker portal:
https://masker-voice.fly.dev/proxy/{agent_id}/v1/chat/completions
The /s/<your-session>/ path segment in the demo URL pins requests to the browser tab that minted the token, so events appear in the correct Masker dashboard session. In production, the {agent_id} segment in the portal URL serves the same scoping role.

Generic setup steps

1

Get your Masker URL

For the public demo, open try.masker.dev and copy the session URL shown for your tab:
https://try.masker.dev/agents/custom/s/<your-session>/v1
For a production deployment, open the Masker portal, create an agent, and copy the proxy URL from the agent detail page.
2

Find your platform's Custom LLM or base URL setting

Look for a setting labelled one of the following — the exact name varies by platform:
  • Custom LLM URL
  • Custom LLM base URL
  • OpenAI-compatible base URL
  • LLM Server URL
  • Proxy URL
This is where you paste the Masker URL.
3

Paste the Masker base URL

Paste your Masker URL into the field. Do not append /chat/completions — your platform adds that automatically.
https://try.masker.dev/agents/custom/s/<your-session>/v1
Do not add an Authorization header or API key pointing at Masker. Authentication is handled by the agent ID or session token in the URL path. If your platform requires an API key field, you can leave it blank or enter a placeholder — Masker ignores it.
4

Set a model name

Enter any OpenAI-shaped model string in the model field, for example gpt-4o-mini. Masker forwards this value to your configured upstream provider — the string just needs to be valid for whatever model API you have set up on the Masker side.
5

Save and test

Save your platform’s configuration. Start a test conversation that includes PHI — a name, phone number, or date of birth. Check the Masker dashboard to confirm the tokenized version appears on the public side of the firewall, and verify in your LLM provider’s logs that only tokens — not raw PHI — reached the model.

What your platform needs to support

Masker works with any voice platform that meets these requirements:
RequirementNotes
Custom base URL or Custom LLM URL fieldThe platform must let you override the LLM endpoint
OpenAI Chat Completions request formatPOST /v1/chat/completions with messages array
Automatic /chat/completions suffix (or accepts full URL)Most platforms append it; some accept the full path
No special headers, no SDK, no webhook configuration required for basic operation. Vapi additionally sends assistant-request events — if your platform has a similar webhook mechanism, contact hello@masker.dev to discuss native support.

Session token pinning

The /s/<token>/ segment in the URL path is how Masker ties a stream of requests to a specific session in the dashboard. Each browser tab on try.masker.dev mints its own token. In the Masker portal, each agent has a stable agent ID that serves the same purpose. This means you can have multiple agents or sessions running simultaneously and each appears as a separate row in the dashboard — no request headers or cookies needed.
If your platform is not listed in the Vapi, ElevenLabs, or Bolna integration guides, this page covers everything you need. If you run into a platform-specific issue, file an issue at github.com/maskerdev/masker.