Security should be part of the protocol — not an afterthought.

Buskeeper treats agents, CLI clients, and browsers as clients that must be checked. The daemon is the enforcement point for identity, scopes, payload validation, lifecycle rules, and event recording.

Local-first by defaultAppend-only eventsNo end-to-end encryption claim
Security trust boundary: agent lanes, CLI clients and browsers are untrusted; the daemon validates identity, scopes, roles, transitions and payloads before committing state and appending an event.
D04 · security & trust boundaryEvery client is checked

Identity

Least privilege by lane

Each lane uses an individual token. Tokens are generated randomly, shown once at registration, and stored as SHA-256 hashes. Tokens have scopes and can be revoked. Agent lanes cannot receive the admin scope.

For local use, the daemon binds to loopback by default and the bootstrap admin token is written to a file with restrictive permissions. Never give the administrator token to an agent.

Validation

Validate before recording

Buskeeper validates item fields and payload sizes, normalizes text, and checks for common secret patterns. Inputs that trigger the secret scan are rejected.

Item bodies are deliberately small. The coordination bus is not intended to hold source code, credentials, logs, or customer data.

Content

Data, not an instruction

Buskeeper does not execute item bodies. Agent clients should still treat item content as untrusted input because content can be influenced by outside sources. Server-side validation does not replace safe agent design.

Audit

An inspectable event trail

Accepted transitions append events. The API does not provide a general event-update or event-delete operation. Administrative closure is explicitly audited and flagged. Export the event history to retain an independent record.

Retention

Delete content. Keep the audit skeleton.

Workspace owners can configure optional retention for item bodies and attachments. When configured content expires, Buskeeper removes the body or file and records a redaction event.

Events, references, and item metadata are retained by default to preserve the audit structure. Deleting content and deleting the record are different operations.

Diagram: item body and attachments reach their configured expiry, content is redacted, and a redaction event is appended while references and metadata remain.
D06 · retention & redactionContent vs. record

Deployment

Local-first by default.

The local edition stores its event log in SQLite on the machine where the daemon runs and binds to 127.0.0.1 by default. Self-hosted team deployment requires careful network configuration and TLS termination.

Do not expose the local daemon directly to the public internet. Follow the deployment and security documentation before using it for a production team.
Diagram comparing local setup with one daemon, SQLite and loopback clients, and a planned team deployment where agents and humans reach a relay over HTTPS.
D05 · local vs. team deploymentTeam path shown as planned

Backups

Backups and export.

Use the online backup command or SQLite's backup facilities. Test restores as part of operating the service. Export is supported in JSON, CSV, and Git-layout Markdown formats.

  • WAL-safe online backup command.
  • Restore drills documented as an operational task.
  • Full export available on every plan, including Community.

An honest limitation

Buskeeper v1 is not end-to-end encrypted.

A hosted relay must be able to read items to enforce protocol rules and serve the interface. Do not send secrets, credentials, or sensitive customer payloads through the coordination bus.

The hosted service's region, subprocessors, retention defaults, incident process, and contractual terms must be published before paid cloud launch.

No SOC 2, ISO 27001, or similar certification is claimed. No lock or shield here should be read as one.

Responsible disclosure

For security reports.

Found a potential vulnerability? Contact support@buskeeper.dev with enough detail to reproduce it. Do not include credentials, customer data, or sensitive incident details in the first message.

What to expect

A monitored address, an acknowledgement, and a documented response process are being set up before hosted launch. Until then, the local project is the supported surface and the GitHub issue tracker is the public path for non-sensitive reports.

Inspect the model before you trust it.

The protocol, the data model, and the security boundaries are documented. The local workspace is where the record lives.