AI built in Switzerland
The best AI model for every question.
Pick the Claude model for each chat, or leave it on Auto. Next, Auto learns to send each question to the model that answers it best.
cypher is invite-only for now. No subscription: during the pilot, your credit comes from us.
Why does this TypeScript type not narrow inside the callback?
- Claude Opus 5.5 Hard reasoning · thorough 71% fit Picked
- Claude Sonnet 5.5 Writing and code · balancedCoding → best at code 93% fit Picked
- Claude Haiku 5.5 Quick tasks · low cost 44% fit Picked
Auto · Claude Sonnet 5.5 · €0.0009 (example)
TypeScript can't be sure the value is unchanged when the callback runs, so the narrowing is dropped. Copy it into a const first.
A preview of Auto’s routing, coming next. For now, Auto answers with Claude Sonnet.
Inside cypher
Built to learn.
Not just a router: we are building models of our own that read every question, pick the model that answers it best, and learn from every evaluation.
- Smart routingAuto will send each kind of question to the model that answers it best. For now it answers with Claude Sonnet, with Claude Haiku as backup.Coming
- EvaluationsWe are building test sets that score every model for quality, speed and cost, so routing follows the best.Coming
- Context engineeringLong chats are summarised, so each model sees what matters and keeps the thread.
- Safety checksEvery request will be checked by safety models before it leaves cypher.Coming
- Our own modelsFine-tuned models for the tasks we route most, trained only on chats people chose to share.Later
Models in cypher
- AnthropicClaude Opus 5.5·Sonnet 5.5·Haiku 5.5·Fable 5.1
- ComingGPT·Gemini·DeepSeek·Kimi·Qwen
Prefer one? Pick it from the menu next to Auto, and it stays with the chat.
Pricing
No subscription.
Pay as you go, soon.
Each answer is paid from your balance by its tokens, to a fraction of a cent, and the app shows what it cost. Stop one early and you pay for its tokens so far, estimated from its text. During the pilot, we add the credit; topping up your own comes later.
- €0
- a month. Nothing to cancel, nothing renews.
- Pilot
- credit comes from us while cypher is invite-only. Top-ups open later.
- €0.004example
- for a typical answer. The app shows what every answer cost.
What answers cost example
- A quick question“What is 15 % of €84?” · a fast model€0.0005
- Rewrite an emailHalf a page, friendlier · a writing model€0.004
- Fix a bugA function and its error · a coding model€0.02
- Plan a launchThree weeks, with the risks · a reasoning model€0.08
example Placeholder numbers to show the scale, not prices. Real prices follow from provider costs and one markup, and the app shows the cost of every answer.
The app
Calm on purpose.
A quiet place to think, on your laptop and your phone.
Your data
Your data, plainly.
A model has to read your message to answer it, so we won’t call your chats anonymous or end-to-end encrypted. Here is what we do instead.
-
Encrypted on the wayTLS between your device and cypher, and between cypher and the AI provider.
-
Passwords and keys as hashesWe store your password and API keys only as hashes, so we can’t read them back.
-
Servers in Germanycypher’s servers, database and backups are at Hetzner in Falkenstein, Germany. The AI model that answers runs at its provider (privacy policy, section 5).
Developers
The API comes later.
The cypher API will speak the OpenAI format: change one line, keep your code, and let Auto choose or name a model. It isn’t open during the pilot.
from openai import OpenAI client = OpenAI( base_url="https://api.gocypher.ai/v1", api_key="cyk_...", ) reply = client.chat.completions.create( model="auto", # or a named model messages=[{"role": "user", "content": "Hello"}], ) print(reply.choices[0].message.content)
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.gocypher.ai/v1", apiKey: "cyk_...", }); const reply = await client.chat.completions.create({ model: "auto", // or a named model messages: [{ role: "user", content: "Hello" }], }); console.log(reply.choices[0].message.content);
# "model": "auto", or a named model curl https://api.gocypher.ai/v1/chat/completions \ -H "Authorization: Bearer cyk_..." \ -H "Content-Type: application/json" \ -d '{ "model": "auto", "messages": [{"role": "user", "content": "Hello"}] }' \ | jq -r '.choices[0].message.content'
Hello! How can I help?
Questions
Questions, answered.
AI built in Switzerland. A calm chat app for Anthropic’s Claude models, with more providers to follow. Pick a model for each chat, or leave it on Auto. Next we are building routing that sends each question to the model that answers it best, and evaluations that score every model, so routing follows the best.
No. Picking the right model is where it starts, and cypher summarises long chats, so models keep the thread. Next come our own evaluations of every model and safety checks on every request, and later models of our own.
For now, Auto answers with Claude Sonnet, and Claude Haiku steps in if Sonnet can’t answer. Next, Auto will route each question by its kind of task, from a table we maintain, and later with a small model of our own that reads each message.
For now, Anthropic’s Claude models: Claude Opus 5.5, Claude Sonnet 5.5, Claude Haiku 5.5, and Claude Fable 5.1. Pick one in the app’s model menu, or leave it on Auto. Auto never picks Claude Fable 5.1 itself; it answers only when you choose it. GPT, Gemini and open models such as DeepSeek, Kimi and Qwen are coming.
Each answer is paid from your balance by the tokens it used; one you stop early, by its tokens so far, estimated from its text. The app shows what every answer cost. There is no subscription. During the pilot, we add your credit; top-ups open later.
Not yet. The cypher API comes later: it will speak the OpenAI format, so you change the base URL and keep your code.
Still wondering? hello@gocypher.ai