DEV Community

Tejaswi Dhulipala
Tejaswi Dhulipala

Posted on Originally published at stillwareltd.com

How We Do Bank-Grade Encryption and Cross-Device Sync Without Running a Server

Most budgeting apps store your financial data on their servers. This means:

  1. They can see your transactions, balances, and spending habits
  2. A server breach exposes your financial life
  3. If the company shuts down, your data may be lost
  4. They can — and often do — monetize aggregate financial data

We built Zeroed to make all of these impossible. Here's the architecture.

Local-first architecture

Zeroed stores your entire financial database locally on your device in an encrypted SQLite database. The encryption key is derived from your device and never transmitted anywhere.

This means:

  • We cannot read your data — we don't have the key
  • We cannot lose your data — we don't have a copy
  • We cannot sell your data — we literally don't have access to it

Cross-device sync via Google Drive

The obvious question: if there's no server, how do you sync between your phone and laptop?

The answer: your own Google Drive.

When you enable sync, Zeroed creates a folder called ZeroedData in your personal Google Drive using the drive.file scope. This scope means Zeroed can only access files it created — it cannot see your photos, documents, or anything else.

Your encrypted database is uploaded to this folder. Any other device running Zeroed and signed into the same Google account will detect the folder, download the encrypted database, and decrypt it locally.

Licensing without license servers

Your Zeroed license also lives in Google Drive as a secure verification file. When you purchase a license, the key is placed in your ZeroedData folder. Any device that connects to that Drive sees the key and unlocks the full app automatically.

No license servers. No activation limits. No "you've used too many devices" errors.

AES-256 encryption

All data synced through Google Drive is encrypted with AES-256 — the same standard used by governments and financial institutions. The encryption happens on your device before the data leaves for Google Drive, and decryption happens on your device after download.

At no point does unencrypted financial data exist outside of your device's memory.

What this means for users

  • Switch phones freely — sign into Google Drive and you're synced
  • Use the app fully offline — sync when you reconnect
  • Your financial data is mathematically inaccessible to anyone but you

Happy to answer questions about the architecture in the comments — the trade-offs of serverless sync (conflict resolution, key management, the no-web-app constraint) are genuinely interesting problems.


Originally published on our blog. Zeroed is a pay-once, offline envelope-budgeting app for Windows and Android (34-day free trial, no card).

Top comments (0)