Sync and privacy

Encrypted sync without server-side secrets.

Aliaz sync stores encrypted alias records on the server. The open-source CLI encrypts alias names and commands on your machine before upload, and the recovery phrase stays local.

Setup

Register once, then sync when you want.

Sync is optional. Local aliases work without an account. When you register, Aliaz creates a recovery phrase locally and stores it in the operating system credential store.

first machine
$ aliaz register --username ada
Password: 
Registered ada
Recovery phrase: ...

$ aliaz sync
Synced: pulled 0, pushed 3, latest version 3
Save the recovery phrase somewhere durable. Aliaz cannot recover encrypted aliases without it.
New computer

Use password plus recovery phrase.

The password authenticates your account with the sync server. The recovery phrase decrypts aliases locally after encrypted records are downloaded.

new machine
$ aliaz login --username ada
Password: 
Recovery phrase: 

$ aliaz sync
$ aliaz init zsh
Logout

Remove sync state from the current machine.

aliaz logout removes the local sync configuration and recovery phrase for this device. It does not delete aliases from the local database or remove the sync account on the server.

local logout
$ aliaz logout
Logged out ada
Security model

The server should not be able to read aliases.

Protected

Alias names and commands are encrypted before upload. A database-only compromise should expose encrypted blobs, not readable aliases.

Local secret

The recovery phrase is never sent to the sync server. It is used on the client to derive the key that decrypts aliases.

Practical rule: if someone only gets the sync database, they should not be able to read your aliases. If they get your recovery phrase or control your computer, they can.
Server visibility

Metadata is visible; alias contents are not.

The sync service needs operational metadata to authenticate accounts and order records. It can see usernames, user IDs, password hashes, session token hashes, record IDs, record type, versions, timestamps, rate-limit counters, and encrypted blobs.

This can reveal that an account exists, how many records it has, and roughly when records changed. It should not reveal plaintext alias names or commands.

Custom server

Point sync at another compatible server.

A custom server changes who operates the metadata and encrypted blob storage. It does not change the client-side encryption model.

The GitHub repository includes the Cloudflare Worker source and D1 migrations for the hosted sync API.

custom sync url
$ aliaz register --username ada --sync-url https://sync.example.com
$ aliaz login --username ada --sync-url https://sync.example.com

Community support helps keep the open-source sync service, releases, and documentation maintained.