Overview

Architecture

Last updated: 2026-04-30

fastpace is three things at once: a CLI that runs on your developer machine, a set of hooks that mediate every AI tool call, and a small family of signed artifacts that gives auditors a paper trail.

One control plane, three assistants

Everything below is vendor-neutral by construction. The hook scripts are written once against a canonical event model (hook-manifest.js) and generated into each assistant's native plugin shape by fastpace plugin build — a Claude Code plugin, a Codex plugin, and a Gemini CLI extension. The same write-once pattern covers policy (fastpace plugin policy compiles fastpace.policy.yaml to Claude permissions, Codex requirements.toml, and Gemini Policy-Engine rules, with a native-vs-advisory coverage matrix) and domain context (fastpace plugin context projects fastpace/context/ into CLAUDE.md / AGENTS.md / GEMINI.md). On top sits fastpace posture — provenance coverage, audit-chain integrity, shadow-AI, cross-vendor assistant mix, per-vendor policy conformance — one payload feeding the local UI, org dashboard, and trust portal.

The substrate

Every artifact fastpace produces is signed against one cryptographic identity per install (F0.1: Ed25519, generated locally, private key never transmitted). Every entry in the audit log (F0.2) hash-chains to its predecessor — editing any entry breaks every later entry's signature. This is the substrate that makes everything else above it auditable.

The four layers

Layer 0 — Discovery + identity (Tier 0)

Layer 1 — Agent governance + access (Tier 1)

Layer 2 — Reliability + provenance + governance (Tier 2)

Layer 3 — Org-scale + extensions (Tier 3)

Trust boundaries

Three boundaries delineate the system. Read the threat model for the STRIDE walk against each.

  1. Developer machine ↔ AI runtime. Crossed every time an agent calls the runtime. F0.5 prompt redactor + F1.11 runtime guard mediate.
  2. Repo ↔ org dashboard. Crossed when a repo's signed summary is ingested by the org dashboard. Each summary verifies against a configured trusted-keys map.
  3. Org ↔ external authority. Crossed when (a) the org admin publishes a signed policy bundle (F2.11) and (b) the SAML IdP issues an envelope (F1.14). Each direction is signed; fastpace verifies against the configured public key.

What runs where

There is no fastpace SaaS in the customer data path. The only fastpace-operated infrastructure is the marketing site, the trust portal, this docs site, the npm registry, and the licensing service — and the licensing service is only contacted to mint or refresh credentials, never on per-request reads.

Licensing & access-token gate

fastpace ships under the Elastic License 2.0: source-available, free for all internal commercial / educational / research use, permanently prohibits managed-service offerings and license-key circumvention. Two signed artifacts secure the paid tier (Team and above):

Both share the same issuer key. Revocation is "stop minting" — a cancelled customer keeps their license file working through its remaining ~90 days but loses bearer-token access in ≤ 7 days. Air-gapped enterprise installs receive 365-day tokens alongside their annual license bundle. The dashboard's FASTPACE_ORG_REQUIRE_TOKEN env flag is opt-in for the v0.34 → v0.45 grace window; defaults to on at v0.45.