vibivibi
End-to-end encrypted · zero-access storage

Encrypted coding agentsession sharing

Push a Claude Code, Codex CLI, OpenCode, or Pi session from the machine you are on, pull it onto any other and resume where you left off, or send it to a teammate. It is encrypted on your machine with keys only you and your recipient hold. Vibivibi stores ciphertext it cannot read.

Free for two machines and 200 MB. No card needed.

zsh — vibi
❯ vibi enroll K7PQ-2M4X

Encryption

X25519 · AES-256-GCM · scrypt

Server access to content

None. Ciphertext only.

Works with

Claude Code · Codex CLI · OpenCode · Pi

Client

one CLI, vibi, on every machine

To another machine

Start on the laptop, finish on the workstation

vibi push in a project directory lists the sessions started there. Pick one, and the encrypted copy is stored under a short id. vibi pull on any other machine installs it exactly where your agent expects it, so --resume carries on with the full history.

  • Every push keeps the earlier versions; pull any of them
  • One id per session, however many machines it visits
  • Progress bar, verification, nothing left half-uploaded

✻ vibi push

  • › Repair the parser edge cases
    Claude Code · 2 h ago · 1.2 MB
    changed
  • Migrate the billing endpoint
    Codex CLI · yesterday · 640 KB
    synced
  • Add retries to the uploader
    OpenCode · 3 d ago · 210 KB
    new

↑/↓ navigate enter: Sync or Send esc quit

parser refactor

Claude Code · v3 · 1.2 MB · from laptop

stored
vibi pull 3f9a1c7b2ecopy

Encrypted for

you · G-4OfXQ2bob@acme.dev · 7Kq1pZa9carol@acme.dev · mR2vT8eD

To another person

Send a session to a teammate, not to a server

Choose Send and type an email. The session key is wrapped for that person's public key on your machine; they unwrap it on theirs. Sending an already stored session adds one wrapped key and nothing is re-uploaded. Not registered yet? They get an invitation and you send again once they have a key.

  • Recipients pull with their own id and their own password
  • Teams pool storage and see where sessions went
  • A team switch keeps sessions inside the team

Zero-access encryption

We cannot read your sessions. Not on any plan.

Transcripts, titles, working directories and model names are encrypted before they leave your machine. Your private key is wrapped with a password we never receive. There is no admin view, no support override and no recovery: if you lose the password, so do we.

How the encryption works

session_versions · what vibivibi holds

agent
claude
session id
7c1e4b2a-…
size
1,254,912 bytes
encrypted for
G-4OfXQ2, 7Kq1pZa9
title
••••••••••••••••••encrypted
working directory
••••••••••••••encrypted
transcript
k9P2…c71A (1.2 MB of ciphertext)encrypted

How the encryption works

Standard primitives, run on your machine

All of it happens inside the vibi client. The server only ever handles what comes out.

Your key
  • An X25519 key pair is generated on your machine the first time you run vibi enroll.
  • The private key is encrypted with AES-256-GCM under a key derived from your password with scrypt (N = 216, r = 8, p = 1). We store that wrapped blob so any of your machines can unlock it with the password. The password never leaves your machine.
  • Your public key is what others encrypt for. Its fingerprint is shown in the dashboard.
Each session
  • A fresh random 256-bit content key encrypts the transcript and its metadata (title, directory, model) with AES-256-GCM.
  • The content key is wrapped for every recipient with an ephemeral X25519 exchange and HKDF-SHA256, so sending adds one wrapped key and never re-exposes the content.
  • A SHA-256 hash of the ciphertext is checked after upload and before anything is installed.

What the server knows

  • Which agent, its session id, size and timestamps
  • Which key fingerprints a version is encrypted for
  • Whom you sent a version to
  • The optional plain-text name you give a session
  • The transcript, or any message in it
  • Titles, working directories, model names
  • Your password or your private key
  • Anything that would let us read a session, even if we were asked to

Getting started

Three commands

  1. 1

    Enroll a machine

    Generate a code in the dashboard and run vibi enroll on the machine. The first time, you choose the password that wraps your key.

  2. 2

    Push a session

    In a project directory, vibi push lists the sessions started there. Choose Sync to store it for yourself, or Send to encrypt it for someone else.

  3. 3

    Pull it anywhere

    vibi pull on another machine shows everything stored for you, including sessions people sent you, and installs the one you pick.

Plans

Start free, upgrade for storage or a team

Every plan is encrypted the same way. The paid ones store and move more of it.

Free

$0 / month

  • 200 MB of encrypted sessions
  • Sessions up to 50 MB
  • 2 machines
  • Unlimited sends
Recommended

Pro

$8 / month

$6 / month billed yearly

  • 20 GB of encrypted sessions
  • Sessions up to 200 MB
  • Unlimited machines
  • Unlimited sends

Team

$15 / member / month

$12 / month billed yearly

  • 100 GB per member, pooled across the team
  • Sessions up to 200 MB
  • Unlimited machines and sends
  • Full version history

FAQ

Questions people ask first

What exactly gets synced?+

The agent's own session file: the full transcript as Claude Code, Codex CLI, OpenCode or Pi wrote it, with its original session id. Pulling it on another machine installs that file where the agent looks for it, so resuming works as if you had never left.

Can vibivibi read my sessions?+

No. Everything is encrypted on your machine with a key derived from your password, and only you and the people you send to hold the keys. We store ciphertext and the few plain facts listed under "What the server knows".

What if I forget my encryption password?+

The stored sessions become unreadable, for you and for us; there is no reset. Keep the password somewhere safe. You can change it at any time from a machine where it is unlocked.

Does the recipient need vibivibi?+

Yes: the session is encrypted for their key, so they need an account and one enrolled machine. If the address is not registered yet, you can send them an invitation from the picker and send the session once they have joined.

Can I open a Claude Code session in Codex?+

Not yet. A session is installed for the agent that created it; cross-agent loading is on the list but not promised.

Your sessions, encrypted, wherever you work next

Two machines and 200 MB are free. Upgrade when you need more.