AI explanations

Bring your own AI provider key, and get any incident or finding explained with the fix for your setup.

Developers Available on every plan Updated 25 October 2026

These pages describe ShellOrbit as it runs today. Breaking changes to the HTTP API are announced before they ship, and existing request and response shapes stay supported.

Add your own AI provider, and every incident and finding gets an Explain with AI button: what happened, whether and where it affects you, the fix step by step, and how to check it worked. Your provider bills you for the model calls; ShellOrbit charges nothing extra.

Providers

AI explanations: Provider, What you add
ProviderWhat you add
OpenAI (ChatGPT), Anthropic, Google Gemini, Mistral, Groq, DeepSeek, xAI, OpenRouter, Together AIAn API key
Azure OpenAIAn API key and your resource URL, https://<resource>.openai.azure.com/openai/v1
Google Cloud Vertex AIA service account JSON key, the project ID, and the region, such as us-central1 or global
AWS BedrockAn access key ID and secret access key, an optional session token, and the region
Local or self-hosted (Ollama, LM Studio, vLLM)The model’s URL, reachable over public https, for example through a tunnel, and a key if it needs one
Custom OpenAI-compatibleThe base URL, how it takes the key (Authorization: Bearer or an api-key header), and the key

Any URL you give must be public https. ShellOrbit runs in the cloud, so it cannot reach localhost or a private network, and it does not follow redirects.

Add a provider

  1. Open Settings, AI & MCP. Owners and admins can change it; everyone else sees the status.
  2. Choose the provider, type the model ID (suggestions are offered, any model works), and pick an effort.
  3. Enter the credentials and press Test and save. ShellOrbit makes one tiny call with them and saves only if it works; otherwise the provider’s reason is shown and nothing is kept.

To change the model or effort later, leave the credentials empty to keep the saved ones. Remove deletes them.

Model and effort

AI explanations: Provider, Effort
ProviderEffort
Anthropic, and Claude models on Vertex AIProvider default, low, medium, high, xhigh, or max
AWS BedrockFor anthropic.* models as for Anthropic; other models use the provider default
OpenAI and every OpenAI-compatible providerProvider default, low, medium, or high, sent as reasoning_effort

Higher effort gives more considered answers and takes longer. If a model does not accept the effort you chose, the test call says so: pick another level or the provider default.

What is sent

Only what ShellOrbit already shows you about that one item:

  • An incident: the advisory (title, summary, severity, CVEs, CISA status and deadline, the published fix) and where it matched your account, with the evidence.
  • A finding: its title, severity, source, the kind of key, the masked value such as sk_…a1b2, where it was found, and the fix.

Never a secret: ShellOrbit does not hold one in full. Your provider processes the request under your account and its own terms.

Your credentials

Stored encrypted with a separate key, used only for these explanations, never shown again (only the last four characters), and deleted when you remove them or delete the account. Each explanation is kept 7 days.

Limits

AI explanations: Limit, Value
LimitValue
Explanations30 an hour per account
Test and save10 an hour per account
Test call15 seconds, 16 output tokens
ExplanationUp to 2,000 output tokens (4,000 for Anthropic models at high effort or above), and up to 4 minutes

API

AI explanations: Method, Path, Notes
MethodPathNotes
GET/v1/ai/settingsProvider, model, effort, last four characters of the key, and the provider list
PUT/v1/ai/settingsOwners and admins. Tests the credentials, then saves
DELETE/v1/ai/settingsOwners and admins. Removes the credentials
POST/v1/ai/explanations{"kind": "incident" or "finding", "id": "..."}. Returns 202 with an id; 409 if no provider is set up
GET/v1/ai/explanations/{id}running, done with the text, or failed with the reason

These routes use a dashboard session. An API key can read the GET routes only.