Seal
Produce portable cryptographic proofs for entries, commits, and exported artifacts.
concord
Concord is a runtime for building applications where state is derived from signed, append-only history. Dispatch commands. Commit intentionally. Encrypt sensitive payloads client-side. Replay history into state. The result is a portable, verifiable document instead of a mutable app database.
Write intent. Commit it. Replay into state.
Small, replayable documents you can verify, move, and rebuild anywhere.
Concord app runtime
Commands stage entries locally. Explicit commits turn staged meaning into signed history.
Runtime Model
Commands produce entries. Commits make them durable. Replay rebuilds application state from ordered history. If committed history changes, verification fails. If history can be replayed and verified, it can be trusted.
Work with domain commands like "todo.create-item" instead of hand-authoring low-level entries.
Decide when staged work becomes durable. Commits bind ordered entries into a signed chain.
Encrypt sensitive data before it enters history. Encryption stays explicit and portable.
Rebuild state from ordered history through replay plugins. No hidden mutation. No silent drift.
Portable History
This artifact is exported from the live Concord runtime above. Change a commit. Break a parent link. Edit a payload. Verification fails immediately. This is the full portable application history.
concord-ledger.json
Load the artifact, probe a signed boundary, and watch Concord fail globally.
Artifact intact
Tamper the artifact to see how validation fails.
Loading exported ledger artifact...
Validation
invalidAny invalid committed byte invalidates the whole document. Concord diagnoses precisely, but fails globally.
Concord artifacts behave more like portable documents than traditional databases. Concord will not derive runtime state from corrupted or unverified history.
The Suite
Concord is the runtime layer in a composable suite. Beneath it are tools for append-only history, portable proof, and encryption. Most applications only need Concord. The rest is there when you do.
Build at the runtime layer. Drop down when you need deeper control.
Produce portable cryptographic proofs for entries, commits, and exported artifacts.
Encrypt payloads with explicit identity or passphrase contracts before they enter history.
Stage, commit, replay, export, and verify append-only signed history.
Example
Create a Concord app, load or create its history, dispatch commands, commit authored changes, optionally encrypt payloads, and replay entries into isolated plugins. Query derived state, not raw history. Keep history for audit, verification, and rebuild.
Combine identity, storage, and replay plugins into a Concord app.
Express intent through domain commands. Concord stages structured entries.
Group staged entries into a signed, parent-linked commit with meaningful metadata.
Replay plugins rebuild deterministic state or local projections.
If committed history is altered, verification fails clearly and precisely.
History is signed. Payloads can be encrypted. State is derived. Storage is replaceable.
Developers
Concord handles command routing, commit control, encryption boundaries, replay orchestration, and integrity enforcement without turning into a framework. History is durable truth. Projections are the query surface.
Command runtime
Explicit commit boundaries
Replay plugins
JavaScript
import { createConcordApp } from "@ternent/concord"
import { createTodoPlugin } from "@ternent/concord-plugin-todo"
const app = await createConcordApp({
identity,
storage,
plugins: [createTodoPlugin()],
})
await app.load()
await app.command("todo.create-item", {
id: crypto.randomUUID(),
title: "Buy milk",
})
await app.commit({
metadata: {
message: "Create first todo",
},
})
const verification = await app.verify()
const todoState = app.getReplayState("todo")Dispatch commands. Commit intentionally. Replay signed history into state.
View sourceReady
Use Concord for command ergonomics, replay-driven state, and optional client-side encryption for sensitive data.