Keep your code.
Already use OpenAI's Chat Completions API? Change three settings — the API address, your key and the model name — and most of your code stays the same.
- Base URL
- https://
api.nullrouter.dev/v1 - API key
- sk-…
- Model
- glm-5.3-flash
For security teams, lawyers, accountants and consultants.
We don't log your prompts or train on them.
Larger team? hello@nullrouter.dev
api.nullrouter.dev/v1 · From €0.25 per million input tokens, excl. VAT
Pentest notes, client code and incident logs are often under NDA. With NullRouter they're processed on GPU servers we own in Cyprus and never sent to a model's maker or a cloud AI service.
Turn your notes and tool output into clear findings, risk explanations and summaries your clients can read.
Look for bugs and security flaws in code, explain code you don't know, and draft fixes.
Summarize logs, sort alerts by what needs a look first, and draft incident timelines.
Both models read images: send a screenshot of a console, an error or a web page and ask about it.
Check that a tool really sends to the address you set: one that ignores it sends your key and prompts to OpenAI. No code? Use a chat app.
Security testing only on systems you own or have written permission to test.
Coming soon: models without refusalsSending other people's personal data? Email us first, and we agree a Data Processing Agreement (DPA) with you.
What you get with every API key.
Already use OpenAI's Chat Completions API? Change three settings — the API address, your key and the model name — and most of your code stays the same.
Your request stays encrypted from your app to our own server in Cyprus. The relay in Finland that passes it on holds no key to unlock it.
The models run on GPU servers we own, in Cyprus (EU). Your prompts never go to the model's maker or to a cloud AI service.
Your prepaid credit is your limit: when it's used up, new requests stop until you top up. No subscription.
From your app to our GPUs in five steps. Your request stays encrypted until it reaches our own server in Cyprus.
Your app
Sends the request over HTTPS (encrypted).
Relay · Finland (EU)
Passes the encrypted request on. Holds no key to unlock it.
Private tunnel
Adds a second layer of encryption on the way to Cyprus.
Our gateway · Cyprus (EU)
Unlocks the request in memory, checks your key and limits, and picks the model.
Our GPU servers · Cyprus (EU)
Run the model in memory and send the answer back.
Your prompt and the answer are processed in memory and not saved. There are exceptions; see “Do you keep my prompts?” below.
We send a unique test phrase through the live service, then search our servers' logs, databases and temporary files for it. It must not turn up anywhere. We ran this test before launch and repeat it after upgrades.
Result: not found in any of them
Each model runs on its own GPU servers. Use either one through the same API.
Our newest model, for reasoning, code review and report writing. It can also read images, such as screenshots.
€0.25 in · €1.00 out per 1M tokens
Fast, general-purpose model for summaries, triage and code. It can also read images, such as screenshots.
€0.30 in · €1.20 out per 1M tokens
Standard open models sometimes refuse security questions. We'll add open models with those refusals removed (often called abliterated), for authorized testing, when we add GPU servers.
Prices exclude VAT.
A token is a small piece of text, often part of a word. You pay for the tokens you send (in) and the tokens the model writes back (out).
When we upgrade a model under the same name, your code keeps working; its answers may change. We may also replace a model with a new one under a new name.
Set the API address, your key and a model name. Keep the key in an environment variable, NULLROUTER_API_KEY, so it stays out of your code.
Streaming, tool calling and images work too, so many tools and agents built on OpenAI's Chat Completions API work with NullRouter. Check that a tool really sends to the address you set: one that ignores it sends your key and prompts to OpenAI.
Pick an amount and see roughly what it buys. Buy prepaid credit and top up any time; when it runs out, new requests stop. No subscription.
€50 buys about
14,000*
code reviews with glm-5.3-flash
From €0.25 per million input tokens · €1.00 per million output tokens*
Prepaid: pay once, top up any time.
Get an API key* Starting prices, excl. VAT. Rates depend on the model and may change with demand.
No. We process your prompts and the answers in memory and don't save them. For billing we keep usage records with no content: which key, which model, how many tokens, the cost and the timing. Records of single requests are deleted after 90 days; daily totals are kept longer. There are exceptions: to speed up repeated prompts, our GPU servers may keep a cache made from your prompt in their memory, which only your API key can use, and they may also keep processed images in memory for a while; and those servers can still write to disk (swap, crash reports and, rarely, error logs), so parts of a prompt could end up there. Reviewing that is on our roadmap.
Yes, for authorized work: systems you own or have written permission to test. Today's two models are standard open models, so they may refuse some offensive requests. We'll add models with those refusals removed when we add GPU servers; email hello@nullrouter.dev if you want to hear when.
No. We never use your prompts or the answers to train or improve any AI model. Our staff don't read them either, unless you ask us in writing to look into a problem.
No. We run open models on our own GPU servers in Cyprus; their makers receive no data from us. This isn't DeepSeek's app or API, even when you use deepseek-v4.1-flash.
Your request first reaches a relay server in Helsinki, Finland, rented from Hetzner, which passes it on still encrypted. It's unlocked and answered on our own servers in Cyprus. Both are in the EU.
If your code uses OpenAI's Chat Completions API, yes. Set the base URL to https://api.nullrouter.dev/v1, use your NullRouter key and one of our model names; most of the rest stays the same. Embeddings, image generation, audio, file uploads and the Responses API aren't available.
Yes, from a desktop chat app that lets you add an "OpenAI-compatible" provider. Enter the address https://api.nullrouter.dev/v1, your API key and a model name: glm-5.3-flash or deepseek-v4.1-flash. We take text and images, not files: an app that turns a PDF into text on your computer works; one that sends the PDF itself won't. A request can carry two images with glm-5.3-flash and one with deepseek-v4.1-flash. Chat apps usually resend a chat's earlier messages, images included, with each question: we then leave the oldest images out, so the model sees only the newest, and once a chat's images add up to about 12 MB, its requests fail. Start a new chat for each new document. Pick an app whose own documentation says it keeps your chats on your computer. Leave cloud sync, web search, plugins and online embedding models off: they can send your text to other companies. Then protect that computer like client files: disk encryption, a screen lock, backups. We don't make these apps or vouch for them. Firms with their own IT can run a chat server themselves instead: email hello@nullrouter.dev.
As text or images, yes; we don't take file uploads. If you're a business sending other people's personal data, email hello@nullrouter.dev first, and we agree a Data Processing Agreement (DPA) with you. We then process it for you as your processor, only to answer your requests: it's never used for training, and our staff don't read it unless you ask us in writing. Whether you may send a client's material to an AI service at all is for your engagement terms and professional rules to say.
A small piece of text, often part of a word. You pay for the tokens you send (input) and the tokens the model writes back (output).
Yes, with both models: up to two images per request with glm-5.3-flash, one with deepseek-v4.1-flash, sent inside the request (PNG, JPEG, WebP or GIF). Each image can be up to 10 MB and 16 megapixels (for example 4096 x 4096), and at most 8192 pixels on a side. All the images in one request, including earlier ones a chat app resends, can total about 12 MB: scale large photos and scans down first. We don't download images from links.
Each model runs on its own GPU servers. If one goes down, requests to that model get an error until it's back; the other model keeps working, and you can switch to it if your key includes it.
Not without checking them. The models can be wrong, incomplete or out of date, NullRouter has no web search and no legal or tax database, and answers are not professional advice. Check every answer, citation and figure before you use it.
Buy prepaid credit below: your API key shows on the next page, usually within a minute. Prefer to talk first? Email hello@nullrouter.dev.
Yes. Tick "I need an invoice" on the form before you pay; Stripe's page then asks for your billing address and, for a business, its VAT number. With a valid VAT number from another EU country, no VAT is charged: your business accounts for it (reverse charge).
Can't use the checkout, or want to talk first? Contact us.
Works with the OpenAI SDKs · api.nullrouter.dev/v1
Tell us about your team and ask us your security questions. Already a customer? Email us about your key or an invoice.