Models & Privacy
The Models & Privacy page lets you run your agents on your own model provider account (OpenAI, Anthropic, Google Gemini, OpenRouter, and others), choose the model Autessa uses by default, and replace personal and health information with placeholders before anything is sent to a model.
What it's for
- Bring your own key. Connect the API key for a provider account you already have. Your agents can then run on any model that account can use, and your provider bills you for the tokens directly. Autessa charges a lower per-task rate for tasks that run entirely on your own model.
- Choose a company default model. Background work that has no model picker of its own (synthetic data, sandbox simulated users and judges, automated evaluations, and the AutessaScript
llmhelper) runs on this model. New agents also start with it. - Strip PII and PHI. One company-wide switch replaces personal and health information (email addresses, phone numbers, Social Security numbers, and more, plus anything you describe in custom rules) with placeholders before prompts are sent to a model. The real values go back into the answer before you see it. This works for Autessa models and for your own.
Navigating here
From the builder sidebar, open the Company section and click Models & Privacy. Only people with permission to manage team members can see and change this page. Anyone else who opens it is asked to contact an admin.
You don't need this permission to use a connection. Anyone who can edit an agent, multi-agent, or LLM Call tool can choose one of the company's connected models for it.
The page has four sections: Model connections, Default model, PII & PHI stripping, and Pricing and coverage.
Key concepts
Model connections
A connection is one API key for one provider account, saved under a name you choose. The name is how the connection appears in model pickers. You can add as many connections as you like, including several for the same provider (for example, separate OpenAI keys for production and testing).
Supported providers:
| Provider | Notes |
|---|---|
| OpenAI | |
| Anthropic | |
| Google Gemini | |
| Azure OpenAI | Requires your Azure OpenAI endpoint, such as https://your-resource.openai.azure.com. The model is your deployment name. |
| xAI (Grok) | |
| Perplexity | |
| OpenRouter | One key reaches hundreds of models from many vendors. |
| Groq | |
| Mistral | |
| DeepSeek | |
| Together AI | |
| Fireworks AI | |
| Custom (OpenAI-compatible) | Any service that accepts OpenAI-style chat requests, such as a self-hosted model server. Requires a base URL. |
Every preset uses the provider's standard address. Use Use a different base URL if you need a different one, such as a regional or proxy endpoint. Base URLs must use https and must be reachable on the public internet. Addresses on private networks are rejected.
Each connection in the list shows its provider, its masked key (for example, ••••a1b2), its base URL if you set one, its default model, and a status badge:
- Connected: the last test succeeded.
- Last test failed: the provider rejected the last test. The message under the connection explains why.
- Not tested: the connection hasn't been tested yet.
How your key is stored
- Keys are encrypted at rest with an encryption key unique to your company.
- Keys are write-only. Once you save a key, nobody can view it again. Only its last four characters are ever shown. To change a key, replace it.
- Keys are tested when saved. Autessa sends a short message to the provider, or lists its models when you didn't give a default model. The connection is saved even if the test fails, so you can fix it later.
Choosing a model per agent
The Model Type field on agents and multi-agents, the Critic Model field on Critic agents, and the Model field on LLM Call tools all use the same searchable picker. It lists:
- Autessa models: Small Instruction Following, Big Instruction Following, Big Instruction Following Reasoning, and any privately hosted models your company has access to.
- One group per connection: the models that provider lists for your key, with the connection's default model first. You can also type any model ID and choose Use model id: …, which is useful when a provider doesn't list its models or you need a model that isn't listed yet.
When you choose a connection's model, the agent still remembers the Autessa model it had before. That Autessa model is the fallback only if the connection is deleted. The picker then shows "Connection removed — runs on …" with the Autessa model's name.
The company default model
The Default model is either Autessa built-in models (the default) or a model from one of your connections. It is used for:
- generating synthetic data;
- sandbox simulated users and judges;
- automated evaluations;
- the AutessaScript
llmhelper; - preselecting the model for new agents.
What runs on your model, and what doesn't
Your connections are used by:
- agents, multi-agents, Critic agents' critics, and LLM Call tools that are set to one of your models;
- conversation compaction for those agents and multi-agents (summarizing older turns in long conversations);
- the work that uses the company default model: evaluations, sandbox, synthetic data, and AutessaScript
llm.
These always use Autessa models, whatever you configure here:
- the builder copilots (the agent, database, script, and app builders);
- Analytics Ask;
- Video Studio;
- embeddings for semantic search and indexing of your tables and files.
No automatic fallback
When a call is set to run on your key, it never falls back to an Autessa model. You chose where that data goes, so Autessa won't send it elsewhere. If your provider rejects the request, the conversation stops with a plain-language error that names the provider and says what to do next. For example: "OpenAI rejected the API key (HTTP 401). Update it in Company → Models & Privacy."
Pricing
The Pricing and coverage section shows your company's current rates.
- Your own model (BYOK). A task where every model call ran on your own connections is billed at the BYOK per-task rate (10¢ by default; the page shows your rate) instead of your normal per-task rate. Your provider bills you for the tokens. A task that used any Autessa model, even for one step, is billed at the normal rate.
- PII/PHI stripping. A flat surcharge (25¢ by default; the page shows your rate) is added to each task where stripping actually replaced something. A task with nothing to strip isn't charged the surcharge.
- Voice, semantic search, call redaction, and evaluation surcharges are unchanged.
Both show up on each task's cost receipt as Your own model (BYOK) for the base line and PII/PHI stripping as its own line. See Billing.
PII and PHI stripping
When stripping is On, each prompt is scanned before it is sent to a model, whether that model is yours or Autessa's. Each piece of personal data found is swapped for a numbered placeholder of its type, such as [SSN_1] or [EMAIL_2]. The model only ever sees the placeholders. When the reply comes back, the placeholders are replaced with the original values, including in streamed replies and tool calls, so you and your tools see the real data.
These are always detected while stripping is on:
- email addresses
- phone numbers
- Social Security numbers
- credit card numbers
- IP addresses
- IBANs
- dates of birth
Custom rules cover anything else, such as employee IDs, case numbers, or patient record numbers. Each rule has:
- Name: a label for you, such as "Employee ID".
- Type: the placeholder name, in capital letters with underscores, such as
EMPLOYEE_ID. Each rule needs its own type. - What to remove: a plain-language description of what to look for, such as "Employee IDs: the letter E followed by six digits, e.g. E123456."
Custom rules are matched by Autessa's own privately hosted model, so the text being checked isn't sent to a third-party provider for detection.
Stripping applies to the same features listed under what runs on your model: agents, multi-agents, critics, LLM Call tools, compaction, evaluations, sandbox, synthetic data, and AutessaScript llm. It doesn't apply to the builder copilots, Analytics Ask, Video Studio, or embeddings.
How to add a model connection
- Open Company → Models & Privacy and click Add connection.
- Choose the Provider. The Name fills in with the provider's name. Change it if you'll have more than one connection for the same provider.
- For Azure OpenAI and Custom (OpenAI-compatible), enter the Base URL. For other providers, leave it alone or click Use a different base URL to override the standard address.
- Paste the API key.
- Optionally, enter a Default model (for example, a model ID like
gpt-5.5, or your Azure deployment name). It's suggested first in model pickers, and the test sends it a short message. - Optionally, click Test connection to check the key before saving.
- Click Save connection. The connection is tested again as it saves. If the test fails, the connection is still saved and a warning explains why. Fix the key or settings with Edit.
OpenRouter and custom endpoints
- OpenRouter gives one key access to models from many vendors. Model IDs include the vendor, such as
anthropic/claude-sonnet-4.5oropenai/gpt-5.5. The picker lists every model your OpenRouter key can use, so search by vendor or model name. - Custom (OpenAI-compatible) works with any service that accepts OpenAI-style chat completion requests: self-hosted model servers, inference gateways, or other providers not in the list. Enter the address up to and including the version path (often ending in
/v1). It must be a publichttpsaddress. Many self-hosted servers don't list their models. If so, type the model ID in the picker.
How to test, edit, or delete a connection
- Test re-runs the check against the provider and updates the status badge and the "Tested" time.
- Edit lets you rename the connection, change its base URL or default model, or paste a new key under Replace API key. Leave the key blank to keep the current one. The connection is tested again when you save a new key or base URL.
- Delete removes the connection and its stored key. Agents, multi-agents, and tools that used one of its models go back to the Autessa model chosen for them. If the connection provides your company's default model, the default switches back to Autessa built-in models.
How to choose a model for an agent
- Open the agent, multi-agent, or LLM Call tool in the editor.
- Click the Model Type field (Critic Model for a critic, Model on an LLM Call tool).
- Search the list, or type a model ID.
- Pick an Autessa model, a model listed under one of your connections, or Use model id: … to use exactly what you typed.
- Save the agent or tool. The field shows the model ID with the connection's name under it.
How to set the default model
- Open Company → Models & Privacy and find Default model.
- Open the Model picker and choose a model from one of your connections, or Autessa built-in models to go back to Autessa's.
- The change saves right away. The connection that provides the default shows a Default model badge in the list.
How to turn on PII/PHI stripping and add custom rules
- Open Company → Models & Privacy and find PII & PHI stripping.
- Turn the switch On. It applies to model calls made from then on. The section shows the per-task surcharge.
- To remove more kinds of data, click Add rule and fill in Name, Type, and What to remove. Describe the pattern as specifically as you can, and include an example.
- Click Save rules. Use Discard changes to undo unsaved edits, or Remove to delete a rule.
- Run a test conversation that contains sample data, and check that the agent still behaves correctly with placeholders in place of the real values.
Troubleshooting
| What you see | What to do |
|---|---|
| "… rejected the API key" | The key is wrong, revoked, or lacks access. Click Edit on the connection, paste a working key under Replace API key, and save. |
| "… rate-limited the request" | Your provider account has hit its rate or spend limit. Autessa doesn't retry, so it won't use up more of your quota. Wait and try again, or raise the limit with your provider. |
| "… rejected the request" / model not found | The model ID chosen for the agent doesn't exist for that key or provider. Check the spelling in the agent's model picker, or pick one from the list. Some models also need extra access enabled on your provider account. |
| Azure OpenAI: deployment not found | For Azure, the model is the deployment name you created in Azure, not the underlying model's name. Enter that deployment name as the model ID. Also check that the base URL is your resource's endpoint. |
| "… returned an error" or "… request failed" | The provider had an error or timed out. Try again shortly. |
| The base URL is rejected when saving | The address must start with https:// and be reachable on the public internet. Addresses on private or internal networks aren't allowed. |
| The picker says the provider doesn't list its models | Type the model ID into the picker and choose Use model id: …. |