Privacy

Last updated July 11, 2026

Overview

UPLOAD is built to hold your working self privately. You are the owner and controller of your data; the service processes it only to serve you and the agents you authorize. This page explains what is stored, how it is used, and the controls you have.

What we store

Two separate stores: a private Corpus (raw provenance — the material you uploaded) and a Persona (the distilled method, patterns, principles, and a knowledge index). The Persona captures HOW you work, never a copy of your content.

Information you provide

  • Account identity: your email, via Google sign-in.
  • Sources: documents, notes, repositories, and voice you connect.
  • Credentials: your own LLM, voice, and Git tokens (stored encrypted).
  • Agent tokens: scoped tokens you mint for external agents (stored hashed).

How your data is used

Your sources are distilled into memory units, embedded for semantic recall, and served back to you and the agents you authorize. Credentials are used only server-side to call the providers you configured. We do not sell your data or use it to train shared models.

Third-party processors

  • Supabase — database, object storage, and authentication.
  • Cloudflare — static hosting and content delivery for the site.
  • Google — sign-in (OAuth) and your account email.
  • Model & voice providers you configure — receive your prompts/content to generate output.
  • Agents you authorize via MCP — receive the distilled data their scope allows.

Per-owner isolation

Every row, blob, and key is scoped to you. One owner’s data and keys are never visible to, or usable by, any other owner. Row-Level Security is enforced in the database, and privileged server paths additionally filter by owner in code.

Encryption at rest

Owner-provided keys (LLM, voice, Git tokens) are encrypted at rest with envelope encryption — a per-owner data key wrapped by a Key Vault/KMS master key — and are decrypted only inside Edge Functions. The browser never sees a raw key.

The MCP boundary

When you authorize an agent, the distilled data it is scoped to read leaves the service boundary and lands with that agent and its model provider. The default surface is the distilled layer (the how), not the raw Corpus. Treat authorized agents as trusted recipients of your data.

Retention

Your data is retained until you delete it. Deleting a source removes it and everything distilled from it; the kill switch destroys the entire Corpus and Persona. Deletions take effect immediately on request.

Your rights & controls

  • Export your Corpus and/or Persona at any time.
  • Delete a single source, delete the Persona, or use the kill switch to destroy everything.
  • Revoke any agent token instantly.
  • Review every read and ingestion action in your audit log.

Cookies & local storage

The site uses local storage for your theme preference and session, and the authentication cookie required to keep you signed in. No third-party advertising or tracking cookies are used.

Children

The service is not directed to children and is intended for use by working professionals building a twin of themselves.

Changes to this policy

We may update this policy as the service evolves. Material changes will be reflected by the “last updated” date above.

Questions about this page? Contact Debajyoti Saikia.