vex sync — encrypted backup to any Git host
VEX v0.8.5 ships a new sync command that backs up your VEKTOR memory to GitHub, Codeberg, Gitea, or GitLab with client-side AES-256-GCM encryption. Cloud stores ciphertext only.
npm install -g @vektormemory/vex
Setup:
# Codeberg (recommended — free, GDPR, nonprofit)
vex sync init --provider codeberg --token cb_xxx --owner yourname --repo vektor-backup --db ~/.vektor/slipstream-memory.db
# GitHub
vex sync init --provider github --token ghp_xxx --owner yourname --repo vektor-backup --db ~/.vektor/slipstream-memory.db
# Self-hosted Gitea
vex sync init --provider gitea --gitea-url https://git.example.com --token xxx --owner yourname --repo vektor-backup --db ~/.vektor/slipstream-memory.db
Usage:
vex sync push # push all memories encrypted
vex sync push --min-importance 3 # lean backup — high importance only
vex sync status # show remote manifest
vex sync diff # compare local vs remote count
vex sync pull --db ~/new.db # restore on new machine
vex sync pull --db ~/new.db --dry-run # preview without writing
How the encryption works:
Key = HKDF-SHA256(machine-id + token hash) — derived locally, never transmitted. The Git host sees an opaque AES-256-GCM blob. A plaintext manifest (memory count + timestamp, no content) sits alongside for status checks.
To restore on a new machine: run vex sync init with your original token, then vex sync pull.
Your local DB is always truth. The remote is a mirror you own.