Model connections
Add your provider key to a project so that the Playground and hosted comparisons can call a model. Test the key, set cost caps, rotate it and revoke it.
A model connection lets Risicare call a model with your team's key. The Playground and hosted comparisons use it. Your provider bills the tokens. Risicare encrypts the key, and nobody can read it back.
You manage connections in Settings → Model connections. Each project has its own connections.
Manage connections in the dashboard. An API key cannot reach these routes.
You add, test and revoke connections as a signed-in person. The routes of model connections are not in the list of routes that an API key can reach in this release. See the REST API reference.
What a connection holds
| Field | What it holds |
|---|---|
| Name | 1 to 60 characters. It must be unique in the project. |
| Provider | OpenAI or Anthropic. |
| API key | The provider key: 16 to 512 characters, with no space. Risicare stores it encrypted. |
| Monthly cap (USD) | 1 to 100,000. The default is 50. The month is the calendar month in UTC. |
| Cap for one comparison (USD) | Optional. More than 0, and at most the monthly cap. |
A project holds up to 20 active connections. The table in Settings → Model connections shows these columns: Name, Provider, Key, Status, Caps, Spend, Used and Actions.
How Risicare keeps the key
- Risicare encrypts the key with a project data key from AWS KMS. Nobody can read it back, not even an owner. Only the run worker can decrypt it, and only to make a call.
- The key field is a password field. An eye button, labelled Show the key or Hide the key, switches the view while you type.
- After you save, the field is emptied. If the save fails, it is emptied too, and the dialog reads "The key field was emptied. Enter the key again."
- The Key column shows the last 4 characters and a date, for example
…abcd · added 2026-11-02, or…abcd · rotated 2026-11-03after a rotation. It never shows more of the key. - A revoke deletes the encrypted key. The row stays for the history and reads "Key deleted" with the date.
A try or a comparison sends the prompt text and the case values to your provider. See The Allow hosted runs switch.
Add a connection
Open the dialog
In Settings → Model connections, click Add a connection. Only an owner or an admin sees this button.
Describe the connection
Choose a Provider. Enter a Name, for example team-anthropic.
Enter the key and the caps
Enter the API key. Set the Monthly cap (USD). Set the Cap for one comparison (USD) if you want one.
Save and test
Click Save and test. Risicare tests the key once, with a fixed prompt that sends no customer content. The dialog reads "Testing…", then "Test passed: OpenAI answered in 1.2 s." or "Test failed" with the reason. Click Done.
Adding a key, rotating it, changing the caps and revoking a connection need a sign-in less than 15 minutes old. If yours is older, the dialog reads "Sign in again to add a key. Your last sign-in was more than 15 minutes ago." and shows Sign in again.
The dialog also refuses a name that the project already uses, and an add when the project holds 20 active connections.
The status of a connection
| Status | Meaning |
|---|---|
| Ready | The connection can be used for a run. |
| Testing… | A test runs. A new connection and a rotated key start here. |
| Test failed | The connection failed its test. The row gives the reason. |
| Revoked | The key is deleted. |
A try or a comparison does not start on a connection that is Testing… or Test failed.
Test a connection
Click Test again in the row. The result shows under the status. A test sends no customer content, so it needs no switch. These are some reasons that a test fails:
| Reason shown | What to do |
|---|---|
| The provider refused the key. Check the key, then rotate it. | Check the key. Rotate it. |
| The account has no access to the test model. | Ask your provider for access. |
| The provider did not answer in 20 s. | Test again. |
| The provider answered 429: too many requests. Test again in one minute. | Wait, then test again. |
Rotate, change the caps, revoke
- Rotate the key opens a dialog. The new key replaces the old one at once. Comparisons that run now use the new key for their next call. Click Rotate and test.
- Change the caps edits the monthly cap and the cap for one comparison. Click Save the caps. A run stops before a call that could pass a cap.
- Revoke deletes the encrypted key now. Comparisons that use the connection stop, and their verdicts read "No verdict". Type the name of the connection to confirm, then click Revoke. A revoked connection has no actions. To use the provider again, add a new connection.
When a connection reaches its monthly cap, a run is refused: "my-connection reached its monthly cap of $50.00. Runs start again on 2026-12-01, or when an admin raises the cap." The Spend column shows the month so far, for example "$3.20 this month (6.4 %)". It adds up the model calls that Risicare made through the connection in the month.
The Allow hosted runs switch
The first card of the tab is Allow hosted runs. It is Off by default. When it is on, a hosted run sends the prompt text and the dataset cases of the project to the provider of the connection. When it is off, no try and no comparison calls your provider. A connection test still does, and it sends no customer content. A try in the Playground and a hosted comparison both need it.
- Only an owner or an admin, signed in as a person, can change it. Click the switch, then Save. The card shows "Save to apply" until you save. This change also needs a sign-in less than 15 minutes old.
- Other roles see the state and the line "Only an owner or admin can change this."
- A line under the switch says who changed it and when: "Turned on by (name) on 2026-11-02 18:02 UTC." When the dashboard cannot show the name, it reads "an owner or admin". A switch that never changed reads "Off since the project was made."
- When you turn the switch off, the api cancels every queued or running try and comparison. They read "Cancelled: hosted runs were turned off."
Who can do what
| Action | Viewer | Member | Admin | Owner |
|---|---|---|---|---|
| Read the table of connections | Yes | Yes | Yes | Yes |
| Add, test, rotate, change the caps of and revoke a connection | No | No | Yes | Yes |
| Change Allow hosted runs | No | No | Yes | Yes |
A member or a viewer sees the table and no control: "Only an owner or admin can add or change a connection." See Team for the roles.