000

The API opens in waves.Join the waitlist

Security models for high-risk work

Models that readwhat attackers write,governedby your rules.

Review this diff for exploitable bugs before we merge the upload handler.

autter-large1.2 s

Found 2 findings in api/upload.go.

F-11 critical: path traversal, filepath.Join with a client name and no Clean check (line 52).

F-12 medium: 10 MB limit enforced after the file is read into memory (line 41).

+ patch, regression test, CWE references.

Your LLMRefused

I can't help identify exploitable vulnerabilities in code, as this could enable attacks. Consider using an approved static analysis tool.

  • 131kcontext, one call
  • < 5 msadded by the router
  • 0prompts stored
Context window 131k tokensRouter overhead < 5 ms p99Cached input from $0.30 / 1MPrompts stored by default 0API shapes OpenAI + AnthropicBilling prepaid credits

Product

A model that answers.

A hosted model that actually reads exploit code, attacker logs and malware, without the refusal theatre that blocks legitimate security work.

Start with a credit pack

What Large wrote back on a sample diff

high · F-07

Token compared with bytes.Equal, not in constant time

auth/verify.go:142

The HMAC check uses bytes.Equal on a user-supplied value. Use hmac.Equal.

Benchmark

Scores like a gated cyber model.Open to anyone.

On CyberGym, autter-large scores 88.1%, 2.5 points above OpenAI's dedicated GPT-5.5-Cyber. autter-flash scores 84.2% at a third of the price.

  1. autter-largeAutter, open to anyone88.1%
  2. GPT-5.5-CyberOpenAI's dedicated cyber model, gated85.6%
  3. autter-flashAutter, open to anyone84.2%
  4. GPT-5.6-SolOpenAI's latest general model83.6%
  5. DeepSeek-V4-ProDeepSeek's top open-weight model83.3%
  6. Claude Mythos PreviewAnthropic, preview access83.1%

CyberGym, pass rate. Higher is better.

How it was built

150,000

working CVE exploits, proved in a sandbox

Trained on 150,000exploits we wrote ourselves.

Not scraped write-ups: working exploits, each tied to a CVE and proved in a sandbox before it taught the model anything.

Read the story

One-line setup

Drop-in replacement.

Compatible with OpenAI's Chat Completions and Responses APIs and Anthropic's Messages API. Change the base URL, keep the code.

Get started

from openai import OpenAI

client = OpenAI(
    base_url="https://inference.autter.dev/v1",
    api_key=os.environ["AUTTER_KEY"],
)

r = client.chat.completions.create(
    model="autter-large",
    messages=[{"role": "user", "content": f"Review this diff:\n{diff}"}],
    stream=True,
)
model autter-largebase URL inference.autter.dev

How it works

One request,start to settle.

Scroll to follow a call from your SDK through the router and the model to the ledger. The router adds under 5 ms; the model reads the whole input in one context.

  1. 01/

    Your SDK

    OpenAI or Anthropic shape, unchanged. Only the base URL and the key differ.

  2. 02/

    Router

    inference.autter.dev checks the key and holds credits for the maximum cost. Under 5 ms at p99.

  3. 03/

    Model

    autter-large or autter-flash reads the whole input in one context and streams the answer back.

  4. 04/

    Ledger

    The hold settles at the real cost and the entry is yours to export. Nothing is stored unless you asked.

Findings

Findingsother modelsrefuse to give.

Severity, location and one sentence of reasoning per finding. Schema-validated, ready for a ticket, a SIEM or a training set.

See the models

Audit the payments-service repository and return every finding as JSON.

Findings returned

  • critical{"id":"F-11","title":"Path traversal in upload handler","where":"api/upload.go:52"}F-11
  • critical{"id":"F-01","title":"SQL built by concatenation","where":"api/users.go:88"}F-01
  • high{"id":"F-05","title":"Workflow runs PR code with secrets","where":".github/workflows/ci.yml:31"}F-05
  • high{"id":"F-07","title":"Non-constant-time token compare","where":"auth/verify.go:142"}F-07
  • medium{"id":"F-23","title":"Secret-shaped string committed","where":"deploy/values.yaml:17"}F-23

+ 14 more rows

payments-service-findings.jsonl19 findings · 28 KB · JSON Lines
DownloadOpen ticket

Ledger

Unlimited.Not unaccounted.

Every request is held at its maximum cost, settled at its real cost, and written to a ledger you can export. Keys are scoped and revocable.

Read the docs

Live ledgerHeld at the maximum cost, settled at the real cost. Prompts never stored.
ModelTokensCostState
autter-flash2,114$0.0046Settled
autter-large48,902$0.2210Settled
autter-large131,072$0.6550Held
autter-flash917$0.0021Settled
autter-large12,400$0.0710Refunded
org · acme-secexport · JSON

Privacy

We keepthis much.

Your prompt lives only for the length of the request. Stored conversations exist only when you ask for them, encrypted, for 30 days, deletable at any time.

Data handling
  • Promptsstored by default
  • Outputslogged
  • Training signaltaken from your data

The Autter platform

The models behindevery Autter review.

autter.dev reviews every pull request with your repository's context, attributes AI-written lines, and ties production errors back to the change that caused them. Autter Models are the same models, exposed through an API so your own pipelines can call them.

Hosted today. Want the hosted version today? Everything the models do is live on autter.dev now, with every edge case already handled, so you can use it there while the API opens in waves.

Use it on autter.dev How Autter works

autterapp.autter.dev
  1. 01/

    Review

    Pull request reviews grounded in your codebase, learnings and risk.

  2. 02/

    Attribute

    Line-level AI authorship from the coding agents you already use.

  3. 03/

    Observe

    Runtime incidents linked to deploys, commits and the fix.

Autter platformReviews, provenance, runtime
Same models, your APIautter-largeautter-flash

Integrations

Works with your stack.

Use the SDKs and coding tools you already run. Export ledger and audit metadata as JSON to whatever reads it.

View compatibility guide

SDKs05
  • OpenAI SDKChat Completions and Responses, in every language the SDK ships.SDK
  • Anthropic SDKMessages API with streaming, unchanged.SDK
  • Pythonpip install openai or anthropic, set base_url.SDK
  • TypeScriptNode and edge runtimes, streamed responses.SDK
  • GoThe official clients, net/http streaming.SDK
Coding tools03
  • curlThree lines to a first answer.CLI
  • Claude CodePoint the base URL at inference.autter.dev.CLI
  • CodexSame base URL swap, same key.CLI
Data out04
  • JSON exportOne object per request: tokens, cost, state.LEDGER
  • WebhooksTop-ups, holds and settlements as they happen.EVENTS
  • Responses APIprevious_response_id, encrypted, 30 days.MEMORY
  • Messages APIThe Anthropic request shape, relayed natively.API

Prepaid credits

Pay for what you read.

Buy a credit pack, spend it per token at the model rates. No monthly fee, credits never expire.

See full pricing

Per token

Credits are spent at these rates.USD per million tokens. Thinking tokens on Large count as output. Images are priced as tokens.
ModelInputCachedOutput
Autter Large 131k ctx$3.00$0.50$5.00
Autter Flash 131k ctx$1.00$0.30$2.00

01/ Try it

Kick the tyres on a real repo.

$10one-off

Includes:

  • $10 of usage
  • Both models
  • OpenAI and Anthropic shapes
  • Community support
Join the waitlist

03/ Pipeline

Daily log reads with Large.

$250one-off

Everything in Team, plus:

  • $250 of usage
  • Everything in Team
  • Higher rate limits
  • Priority support
Reserve Pipeline

04/ Fleet

Hosting, capacity and terms for your organisation.

Contact us

Everything in Pipeline, plus:

  • Custom agreement
  • Single sign-on
  • Region-specific hosting
  • Custom rate limits
Talk to sales

FAQ

Frequentlyasked questions.

Got a question you do not see here?

Talk to us

Two hosted security models, autter-large and autter-flash, reachable through the OpenAI and Anthropic SDKs. Use them to audit code, triage logs, read packets and analyse binaries.

Try the model thatreads everything.

Developer-controlled security models for high-risk work. OpenAI- and Anthropic-compatible, nothing stored by default.