Private beta · protocol 1

App access for local and hosted collections.

An application sends the user to Connect. The user chooses one compatible collection and approves exact actions. The application receives a collection-bound connection; local folder paths stay on the user's computer.

Where Connect sits

Connect is optional. Applications can also use a conforming mdbase implementation directly. Connect provides a common approval and routing path when independent applications need access to a user's collections.

  1. ApplicationDeclares compatible collections and requests exact operations.
  2. ConnectPresents the request, records the decision, and selects the route.
  3. Collection authorityRechecks the grant and executes each approved operation.
  4. mdbase collectionRemains the authoritative Markdown and collection history.

Local and hosted collections

Applications use the same SDK and operation envelopes. Routing changes according to which connector or provider currently holds the collection's authority.

AuthorityWhere Markdown livesApplication routeWhat the control plane sees
Local connectorA folder on the user's computerDirect loopback, then encrypted relay fallbackAccount, grant, operation name, routing metadata, timing, and sizes
Hosted providerEncrypted provider storage, with optional local mirrorDirect, short-lived provider capabilityAccount, grant, capability issuance, and provider routing metadata
Hosted collections use a standard hosted trust model.

The provider must decrypt collection data to execute canonical mdbase operations. The provider acts as a trusted data processor for hosted collections.

Why one movable authority?

Authority is a coordination role, not the only copy of a collection. Writable mirrors can keep ordinary Markdown on several devices, accept changes while offline, and synchronize them later. One authority orders the final accepted changes, enforces collection-wide rules, and gives every mirror the same history to converge on.

Removing that role would not remove coordination. It would require every peer—including filesystem editors that only know how to rewrite a Markdown file—to preserve causal history and agree continuously about concurrent edits, renames, deletes, schema changes, revocation, and garbage collection.

ConcernEqual peers would requireOne movable authority provides
Ordinary Markdown toolsCRDT or event metadata preserved by every writerOpen files remain the editable local format
Concurrent changesA deterministic merge for every body and frontmatter valueRevision checks, durable mutation receipts, and explicit conflicts
Renames, deletes, and configurationDistributed agreement over paths, tombstones, schemas, and constraintsOne canonical order for collection-wide decisions
Offline devicesSplit-brain reconciliation and peer-membership machineryQueued local work that safely converges when the mirror reconnects
The role can move without changing the collection.

Authority transfer preserves the collection and record identities, advances an authority epoch, and retires the previous authority. When the previous authority was a local folder, that folder can continue as a mirror. A stale authority cannot accept writes after cutover.

The authorization sequence

The application declares what it understands

Its bundled v1 manifest declares web callbacks or portable distribution, required domain contracts, collection kind, and any type definitions that can be installed safely.

Connect checks collection compatibility

The local or hosted authority returns a readiness status for each collection: ready, provisionable, or incompatible. Collection contents remain private during authorization.

The user approves exact operations

The decision names one collection and concrete operations. Contract access is scoped to records that match the declared domain contracts unless full collection access is explicitly requested.

Every request is checked at the authority

The connector or hosted provider rechecks the current grant. Narrowing, pausing, or revoking access takes effect at the place that can open the data.

Who can read records

Connect limits the components that can read records. Local and hosted collections have different trust boundaries.

ComponentCan read collection records?Responsibility
ApplicationOnly through its current grantUses authorized results and protects its local SDK credentials
Local connectorYes, for registered local collectionsFinal local authorization boundary and operation executor
Connect control planeNo local operation payloads or resultsIdentity, pairing, grants, short-lived tokens, and relay routing
Hosted providerYes, for hosted collectionsEncrypted storage, canonical execution, sync, and durable receipts

Release status

Release status

The private-beta stack includes local and hosted authorities, encrypted relay operations, grant narrowing and revocation, sync, notifications, the browser SDK, and key-bound authorization for downloaded HTML files. The npm packages have not yet received their first public release. Public registration, a production restore drill, signed desktop releases, and abuse-response operations are still required before public registration.

Terms used on this site

Grant
One user's approval for one application, one collection, and a concrete set of operations.
Authority
The movable coordination role that orders accepted changes, enforces collection rules, and makes the final authorization decision.
Control plane
The Connect service for identity, pairing, grants, short-lived tokens, and route coordination.
Contract
A portable declaration of domain behavior and its mapping to one collection type.
Operation envelope
A typed result containing a validity flag, result value, and structured diagnostics.