Sync in Tetiva means a Tetiva Cloud account. You register from inside the app, confirm your email, and the collections, requests, environments and variables of a workspace start travelling between your machines. History, cookies and app settings stay local. Without an account Tetiva is fully functional — nothing is gated — and you can connect the cloud later at any point.
Connecting an account#
The cloud icon in the left bar opens the Sync window with two tabs, Login and Register. Registering takes a name, an email and a password. You do not type a server address: Tetiva Cloud (api.tetiva.app:443) is the default.


The "Use custom server" toggle reveals a field for a host:port address. Input is normalized — https:// and a trailing slash are stripped, and :443 is appended when no port is given. Server builds are not published yet, so a self-hosted setup is a plan rather than a supported path: today the working option is Tetiva Cloud.
Confirming your email#
After registration the app tells you what happened instead of going quiet: it shows a "Check your email" screen with the address the message went to. Sync stays off until the address is confirmed — that is the only thing waiting blocks. Local work is available immediately.
The screen carries everything needed to get unstuck:
- I confirmed my email — check the status now; the app also polls it on its own while the window is open.
- Send again — send the message again, with a countdown between attempts. Ask for too many and the app says so rather than failing silently.
- Sign out — sign out of the account. This is the escape hatch for a typo in the address, which would otherwise leave you waiting forever.
While the address is unconfirmed the cloud icon turns amber with a dot and its tooltip asks you to confirm. Follow the link in the message and the app switches itself to the connected state and pulls in your remote workspaces.
Reading the status icon#
The cloud icon in the left bar reports what the engine is doing:
- green cloud — connected;
- spinner — pushing, pulling, subscribing or running a full resync;
- grey crossed-out cloud — offline, or no account connected;
- red cloud, "Session expired" — the server rejected the refresh token and the session is over. Open the Sync window and sign in again;
- orange counter on the icon — how many local changes are still waiting to be sent.
Working offline#
Every edit is written to a local outbox in the same transaction as the change itself, so going offline needs no preparation and loses nothing.
Once the connection returns, the client drains the outbox in batches of up to a hundred entries, collapsing repeated edits of the same entity into one. Reconnects back off from five seconds up to five minutes, and a safety poll runs every fifteen minutes in case the event stream died quietly. Conflicts are settled on the server; the client applies the winning version and refreshes open tabs.
What leaves the machine and what does not#
Synced: collections (including description, scripts and auth), requests, environments and variables.
Local only: request history and response bodies, the cookie jar, app settings, tab drafts, and the refresh token, which lives in the system keychain.
Secrets deserve a precise answer. Marking a variable as secret hides its value in the interface and strips it from MCP tool output, but it changes nothing about storage: the value is pushed to the server along with every other environment variable. Treat the flag as shoulder-surfing protection. On the server the contents of collections, requests, environments and variables are stored encrypted with AES-256-GCM, and the master key is kept apart from the database, so a database dump alone is not enough to read them. The service reads that data too: it decrypts the entities before handing them to your devices. This is not end-to-end encryption — the key belongs to the service, not only to your devices.
On your machine the database is not encrypted, and exporting an environment writes the values as they are. Anything that must never leave the machine does not belong in a synced workspace. Variable resolution order is covered in Environments and variables.
Disconnecting#
Disconnect in the Sync window signs you out and removes the stored token from the keychain. Local data stays where it is, and workspaces that were synced come back after the next sign-in. For where the database physically lives, see Settings.