Arquitetura

#Arquitetura

Vaultify combina duas camadas de sincronização que se complementam.

#Blob sync (sempre ligado)

Cada arquivo do seu vault vira um blob imutável, content-addressed pelo seu SHA-256. Uploads deduplicam dentro do workspace: se um colega já subiu o mesmo byte stream, o segundo upload vira só um ponteiro.

cliente calcula SHA-256
   ↓
POST /blobs/initiate-upload
   ↓
PUT presigned URL → object store (S3/MinIO)
   ↓
POST /blobs/:id/confirm
   ↓
file row atualizada com currentBlobId

Uma sequence monotônica por vault (seq_id) dirige o pull incremental da árvore. Dispositivos mantêm um cursor e baixam só o que mudou desde a última leitura.

#CRDT live editing (auto-promote)

Quando dois clientes têm o mesmo arquivo aberto, o Vaultify silenciosamente promove esse arquivo a uma sessão live com Yjs sobre Hocuspocus. O terceiro cliente entra na mesma sessão sem semear conteúdo. Quando todos saem, o doc baixa pra blob de novo — invisível pro usuário.

#Isolamento multi-tenant

PostgreSQL row-level security aplica fronteiras de tenant na camada de banco, não na aplicação. Mesmo que um bug futuro da API esqueça de filtrar por workspace, o banco se recusa a retornar rows cross-tenant.

#O que vem aí

  • Criptografia ponta-a-ponta (gate antes do GA).
  • Module SDK pra plugins terceiros "compatíveis com Vaultify".
  • Módulos de Context Intelligence e Action Intelligence.