Product
The persistent session, chapter by chapter. Replay the part you doubt.
A session on a real Linux box, hosted in the EU by a French provider. It survives the closed lid. Here is how, piece by piece.
$ claude --resume > resuming task: refactor auth module, tests running... account: yours region: eu-fr
same session
account: yours
region: eu-fr attach #4 1.0 Persist
Sessions that survive the disconnect
Your session lives on a machine that never went anywhere. Closing the laptop closes a window onto it, nothing more.
What survives: the session, its processes, the scrollback. What does not: your local clipboard, and anything that only ever lived on the laptop. One more honest note: mosh needs UDP, and some corporate firewalls block it; plain SSH always works, you just see the reconnect.
2.0 Your account
Your account, your API costs
Connect your Claude, Codex or Mistral account. Agents run inside your environment, at your provider's price. Your keys, your account. Swap the agent without touching the host.
Compatibility table styled as terminal output. Claude Code, Codex and Mistral each run on your key and your account.
| agent | key | account |
|---|---|---|
| claude code | yours | yours |
| codex | yours | yours |
| mistral | yours | yours |
The environment, the repo and the session history stay put. Swap the agent, keep the session.
How keys are stored →3.0 Real Linux
A real Linux box: root, apt, docker
Plus git, your dotfiles, your neovim. If it runs on Debian, it runs here.
$ uname -a Linux permia-eo 6.x ... x86_64 GNU/Linux $ docker compose up -d $ sudo apt install ripgrep
Bring what you already use:
- neovim
- git
- docker
- your agent CLIs
4.0 Zero ops
The ops you stop doing
The box is managed: we watch the 3am session crash, we verify the backups, we keep the hardening current, and we answer as humans when something breaks.
- Sessions supervised; if one restarts, you see it in-session
- Backups taken and verified
- OS hardening and patching maintained
- Isolated box: your agent runs with no path to your laptop's credentials
- A DPA your client can sign
- Incidents handled by a person, not a ticket system
$ permia status session: live · uptime 3d 14h last backup: verified restarts: surfaced in-session region: eu-fr
Replaces the glue work: raw VPS setup dotfiles sync tunnel config backup cron hardening checklists
Read the DPA →5.0 "Just a VPS?"
Yes, a bare VPS works. Here is the rest.
A bare 5-euro VPS works, and for one person with low stakes it wins on price. We will say so on a sales call.
What it cost us was never the monthly bill. It was the morning spent rebuilding a corrupted session, the vacation the box picked to fail, the client who asked for a DPA a bare VPS will never produce, and the evenings that went to hardening checklists instead of billable work.
The hard part is a session you can trust from a phone in a parking lot: supervision, verified backups, reconnects that survive bad networks. We do that part so you don't.
See the full price math on /pricingWhere this lands
Comparison table across laptop, DIY VPS and Permia. Permia survives disconnect, attaches from a phone, carries the ops burden, provides a signable DPA, and sits under EU jurisdiction via a French provider. The LLM keys row reads yours in all three columns.
| laptop | DIY VPS | Permia | |
|---|---|---|---|
| survives disconnect | no | yes* | yes |
| phone attach | no | DIY | yes |
| ops burden | yours | yours | ours |
| DPA for your client | no | no | yes |
| jurisdiction | yours | mixed | FR/EU |
| LLM keys | yours | yours | yours |
*if you built it and keep maintaining it
That's every piece. The 20-min demo runs through each one live.
A person in Paris, not a ticketing bot.