Organization
The defaults and ceilings every session resolves against, spend limits, credits and billing, and the security boundary. What an administrator sets once so every developer's bare `agent` is safe.
A developer's agent "..." names nothing but a prompt. Everything else comes
from here: the model it runs, the environment it runs in, and how much it may
spend.
Settings
Three organization settings, on the dashboard's Automations page under Settings, or over the API:
curl -X PUT https://api.ellipsis.dev/v1/settings/organization \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"default_model": "claude-sonnet-5",
"default_environment": "cloud_agent_environment",
"budget_ceiling": {"session": 10}
}'| Setting | Applies when | Null means |
|---|---|---|
default_model | Neither the session nor its automation names a model. Resolution: the request, the automation's claude.model, this default, then the platform default. | The platform default model. |
default_environment | Neither the session nor its automation names an environment. A saved environment's name or id. | The built-in basic sandbox. |
budget_ceiling.session | Every session. A request or automation asking for more is refused with 400, never clamped. In dollars, at most the platform ceiling. | The platform ceiling. |
Only organization administrators can change them. Changing the default environment or model affects the next session, never a running one.
Spend limits
Spend is capped at four levels. The first three are always on with defaults; per-developer limits are opt-in.
| Level | What it caps | Where to set it |
|---|---|---|
| Organization | Everything the account spends over the trailing 1, 7, and 28 days | The Limits page |
| Per automation | One automation's trailing spend and its per-session budget | budget in its YAML |
| Per session | A single session, up to the ceiling above | --budget, the request's budget, or an automation's budget.session |
| Per developer | What one person's sessions spend | The Limits page, off by default; cron sessions are exempt |
Windows are rolling, never a calendar reset; a "month" is 28 days. The current defaults and platform ceilings are shown on the Limits page.
budget:
session: 1.00 # one session may spend at most $1
day: 5.00 # this automation's trailing 1-day spend
week: 20.00 # trailing 7 days
month: 50.00 # trailing 28 daysWhen a cap is hit, nothing silently overspends and nothing fails quietly. A
running session that reaches its budget stops immediately and records
budget_hit. A session that would breach a trailing limit never starts: it is
cancelled before a sandbox exists, with the exact limit named, and a blocked
mention gets a reply saying why. Limits release as spend rolls out of the
window, or immediately when you raise them.
Alerts tell you before a limit blocks: a percentage of a limit (80% and 100%
by default) or an absolute dollar threshold per window. They land in the
dashboard's Alerts inbox, your notification emails, your connected Slack
channel, and GET /v1/alerts.
Credits and billing
Installing Ellipsis grants one-time credit: $100 for organizations, $10 for personal accounts. Usage draws down credit first, and credit never expires.
When credit runs out, what happens depends on whether a card is on file. With
no card, new sessions are blocked and recorded as payment_required until you
add a card or buy credit on the Billing page; Ellipsis emails you at 25% and
10% remaining. With a card, sessions keep running and usage bills monthly in
arrears, with remaining credit applied first. Credit packs are sold at face
value; buying credit does not add a card.
Every session is billed for what it used, at cost, plus a platform fee:
| Component | Rate |
|---|---|
| Model tokens | The model's own token prices, passed through at cost. Zero on your own Anthropic key or Bedrock account. |
| Sandbox compute | CPU and memory, for the sandbox's allocated resources over its lifetime, passed through at cost. |
| Platform fee | 10% of the session's actual token and compute cost. |
Every session shows its own four-way breakdown; the Usage page aggregates per billing period and its Fees tab shows the current rate card. With your own Anthropic key or Bedrock connection (the Models page), the token line drops to zero; compute and the fee are unchanged, and every budget above keeps working.
Security
- Where code runs. Every session runs in its own isolated, ephemeral sandbox, destroyed at the end. Sessions never share a machine. The only thing reused is the cached environment image (your repositories plus your declared setup); nothing from a running agent is ever cached.
- GitHub. Each sandbox gets its own token, minted from your installation, alive for one hour, narrowed per automation down to read-only. GitHub mints the reduced token, so nothing in the sandbox can exceed it, not a tool and not a prompt injection. No personal credential is ever involved.
- Secrets. Stored values are write-only and enter only the sandboxes whose environment names them. Session logs are not redacted; keep scripts from printing them.
- Model keys. A real provider key never enters a sandbox. Sessions reach models through Ellipsis with a per-session token. On your own Anthropic key or Bedrock role, prompts go to your account; the key is stored write-only, and the Bedrock role is assumed with short-lived credentials visible in your CloudTrail.
- Retention. The session timeline, log, cost breakdown, config snapshot, and conversation snapshots persist after the sandbox. Transcripts are kept indefinitely by default; an administrator sets a retention window on the Sessions page's Settings tab, after which step records and logs are deleted while sessions stay listed with their recap and cost.
The .ellipsis repository
A repository named .ellipsis in your organization holds the files that
apply org-wide: slack.yaml, which routes Slack channels and DMs to
automations (Build a custom Slackbot),
and code_review.yaml, which scopes review for every repository that has no
file of its own (Code review).