Skip to content

docs: explain app proofs and boot proofs#669

Open
emostov wants to merge 1 commit into
mainfrom
docs/app-and-boot-proofs
Open

docs: explain app proofs and boot proofs#669
emostov wants to merge 1 commit into
mainfrom
docs/app-and-boot-proofs

Conversation

@emostov
Copy link
Copy Markdown
Contributor

@emostov emostov commented May 21, 2026

Add explainer for App Proofs and Boot Proofs for TVC customers, using Turnkey app proofs as a concrete example of how app proofs can be implemented

@emostov emostov requested a review from narimonf May 21, 2026 19:15
@mintlify
Copy link
Copy Markdown
Contributor

mintlify Bot commented May 21, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
turnkey-docs 🟢 Ready View Preview May 21, 2026, 7:18 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

docs: add fetching, multi-replica, and bundling sections

Followup after re-reading the source Slack thread:
- document the public get_boot_proof / get_latest_boot_proof / list_app_proofs endpoints so verifiers know where to fetch Boot Proofs
- document the multi-replica behavior (per-enclave Ephemeral Keys, different responses signed by different keys, cache by Ephemeral key)
- document the Anchorage-style pattern of bundling App Proof + Boot Proof in a single response, and point at tvc_server.go
- add public_api_server.go and tvc_server.go to the code-pointers list

docs: scrub internal references; remove caching and replica sections

- Remove all references to internal tkhq/mono repo paths and file
  locations; rephrase to describe behavior, not implementation.
- Remove the 'Caching Boot Proofs' section entirely.
- Remove the 'Multiple replicas and per-enclave Ephemeral Keys' section
  entirely.
- Remove the 'Where this lives in the code' section (was wall-to-wall
  tkhq/mono links); App Proof bytes-on-the-wire reference now points
  to the public Rust + TypeScript SDK verifier implementations from the
  'Who produces it' subsection.
- Drop named-customer reference (Anchorage) from the bundling pattern
  paragraph; describe the generic pattern instead.
- Soften the cross-link from security/turnkey-verified.mdx so it no
  longer promises a 'where each proof is produced in the codebase'
  walkthrough.

docs: rewrite to conceptual-only per reviewer

- Remove all remaining implementation-level narration (producer reads
  X then Y then Z, bundle-pattern step-by-step instructions, 'who
  produces it' sub-sections describing internal mechanics).
- Drop the 'Bundling the verifiability chain' subsection entirely; the
  generic public-API description of fetching proofs covers what a
  customer needs to know.
- Collapse Boot Proof / App Proof producer paragraphs into single
  what-level sentences; no how-it-works narration.
- Keep cryptography, JSON wire format, public API endpoints, and the
  trust-boundary discussion (Quorum vs Ephemeral Key) untouched per
  reviewer scope.

various cleanup
}
```

On its own, this proves that the QuorumOS enclave instance with the corresponding Ephemeral private key signed the address derivation claim. When the verifier matches `publicKey` to a valid Boot Proof, the claim is tied back to the attested enclave instance and the code identified by its manifest. Your own TVC App Proofs follow the same chain even if the payload schema is specific to your application.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd switch the order of app proof on its own, + boot proof to boot proof on its own, + app proof. On it's own, the app proof doesn't prove anything about quorumOs or an enclave, it just proves that a key signed a payload. What the boot proof proves on its own is easier to reason about imo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants