ZeroTrust is an encrypted personal vault that runs in your browser, syncs to Google Drive, and never exposes plaintext to the server or Drive.

Stars

5

7-day growth

No data

Forks

0

Open issues

3

License

MIT

Last updated

2026-07-28

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It addresses the growing risk of AI and third-party access to sensitive data stored in common tools like Google Docs, using a zero-trust, open-source, self-hostable architecture with strong client-side encryption.

Who it is for

  • Developers who need a secure vault for credentials and API keys
  • Security-conscious individuals tired of storing secrets in shared documents
  • Sysadmins and DevOps teams managing cloud provider logins and SMTP creds
  • Self-hosting enthusiasts who want to verify the code and host their own instance

Use cases

  • Storing production database passwords, AWS keys, and Cloudflare logins securely
  • Sharing encrypted secrets among a team without exposing them to Google or third parties
  • Managing personal sensitive documents like bank details and recovery codes
  • Self-hosting a secret management solution integrated with personal Google Drive

Strengths

  • Open source and self-hostable: anyone can fork, audit the code, and deploy on their own infrastructure
  • Client-side encryption with Argon2id KDF and AES-256-GCM; plaintext never touches Google Drive or IndexedDB
  • No server: the app runs entirely in the browser and syncs via Google Drive API with minimal scope (drive.file)
  • Efficient attachment handling: large files split into 512 KiB chunks, each encrypted independently

Considerations

  • Requires a Google account and Google Drive – no local-only or alternative sync backends
  • Only works with Google OAuth; users must create their own OAuth client and enable Drive API
  • Relies on Google's infrastructure for storage and authentication; not suitable for air-gapped environments

README quick start

ZeroTrust

Encrypted personal vault for stuff you probably shouldn't leave in a Google Doc.

Why this exists

Most of us store passwords and other sensitive info in Notion, Google Docs, Sheets, random wikis, whatever's handy. Bank details, AWS keys, Cloudflare logins, SMTP creds. We've always done it. It wasn't great before, but with AI in the picture it's worse.

Companies are hoovering up user data (sometimes with consent, sometimes not) and feeding it to employees or third parties for training, research, whatever. That doc you shared with the team? The sheet with prod credentials? More people (and systems) can get at that data than you think. You only need one person with bad intentions.

Why ZeroTrust

No server. The app runs in your browser and syncs to your Google Drive. Drive never sees the actual content, only encrypted blobs. Plaintext stays in memory while you're unlocked. We don't even put readable secrets in IndexedDB, just ciphertext.

It's open source. Don't trust my deployment. Fork it, read the code, host it yourself on Vercel/Cloudflare/S3/wherever. Use your own Google OAuth app if you want.

Deploy your own

Build is just static files:

npm run build
# output in dist/

Host dist/ anywhere that serves a SPA (Vercel, Cloudflare Pages, Netlify, S3 + CloudFront, etc.).

You'll need a Google OAuth client:

  1. Google Cloud Console → APIs & Services → Credentials → Create OAuth client ID → Web application
  2. Authorized JavaScript origins: your app URL(s), e.g. http://localhost:5173 for dev and https://vault.yourdomain.com for prod
  3. Copy the client ID into VITE_GOOGLE_CLIENT_ID at build time (.env.local for dev, env var in your host's build settings for prod)
  4. Enable the Google Drive API for that project

The app only asks for drive.file scope. It can read/write files it created in Drive, not your whole Drive.

Data lands in a folder called ZeroTrustVault on the signed-in user's Drive.

Run it locally

npm install
npm run dev

You need Google Drive. There's no local-only mode. Put this in .env.local:

VITE_GOOGLE_CLIENT_ID=your-oauth-client-id.apps.googleusercontent.com

How encryption works

Short version: everything is encrypted in the browser before it hits Drive or IndexedDB. Drive and the local cache only see ciphertext. Yo

Description

Sensitive data scattered across Docs, Sheets, and wikis can be exposed to more people, systems, and AI pipelines than you realise. ZeroTrust keeps your data encrypted, stores only ciphertext in Google Drive, and is fully open source and self-hostable.

Related repositories

Similar projects matched by category, topics, and programming language.

Jakubantalik
Featured
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI & Machine LearningAI Agents
1,191
makecindy
Featured
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI & Machine LearningLarge Language Models
958
mereyabdenbekuly-ctrl
Featured
mereyabdenbekuly-ctrl GitHub avatar

clodex-ide

Clodex is an open-source, local-first agentic IDE that combines persistent AI tasks, code, terminal, browser, Git, models, memory, and governed execution in one Electron workspace, currently in technical preview.

AI & Machine LearningAI Agents
859