Skip to content

MDBX Product Specification

Version: MDBX-1-DRAFT

MUST, MUST NOT, SHOULD, SHOULD NOT, MAY follow RFC 2119 semantics.

1. Summary

MDBX is a local-first encrypted password database format and implementation architecture. It targets core KDBX pain points around sync conflicts, large-vault performance, attachment growth, and long-term maintenance.

MDBX MUST keep project as the primary container and MUST natively support attachments at the schema level.

2. Product goals

MDBX MUST provide:

  • full offline open/edit/search/export/recovery
  • long-term readability, migration, and archival stability
  • low-cost small-save behavior and sync deltas
  • explicit conflict behavior for multi-device edits
  • attachment support without degrading normal edit flows
  • modern secure defaults with switchable Tiga modes

3. Non-goals

MDBX does not require:

  • a central sync server
  • proprietary cloud backend
  • always-online collaboration
  • undocumented private binary formats

4. Core principles

  • Local-first operation is mandatory.
  • Compatibility must be preserved across revisions.
  • Tiga security modes MUST affect crypto/caching/convenience behavior.
  • Git-like history and causal conflict detection are required.
  • Real-world save/load/search/sync performance should be measurably better than KDBX.

5. Domain model

5.1 Project-centered model

Secrets are organized by project. A flat password bag model is non-compliant.

5.2 Entry model

entry is a typed record under project (login, note, card, identity, totp, passkey, etc.).

5.3 Attachment model

Attachments are first-class from v1, with stable IDs, ownership, integrity hash, size/media metadata, storage mode, and timestamps.

6. Rejection rules

The following are non-compliant:

  • no first-class project
  • no first-class attachment model
  • daily small edits requiring full-vault rewrite
  • server dependency in normal local workflows
  • silent auto-merge of conflicting secret-field values
最近更新