V13-B Design Plan

SafeGate V13-B External Anchor Design Plan

V13-A closed the public evidence chain for proof-record inclusion and signed checkpoint consistency. V13-B defines the next boundary: external anchoring through Bitcoin/OpenTimestamps as timestamp infrastructure, not as a payment rail.

V13-A Chain
CLOSED
V13-B Design
OPEN
V13-B Checklist
OPEN
Production Claim
FALSE

1. Core Boundary

SafeGate does not process payments, hold funds, custody assets, escrow value, route payments, or exchange funds. SafeGate verifies what happened after payment.

V13-B rule: Payment rail is separate from anchor rail.
Bitcoin/OpenTimestamps boundary: Bitcoin/OpenTimestamps are used only as external timestamp / anchor infrastructure. This does not mean Bitcoin payment support is live.

2. What V13-A Closed

Important: V13-A does not prove independent payment truth, does not claim live external anchoring, and does not claim production readiness.

3. What V13-B Opens

V13-B defines how a SafeGate signed checkpoint can be externally anchored to an independent timestamp layer. The goal is to make the proof timeline harder to rewrite after publication.

  1. Define checkpoint commitment format.
  2. Define external timestamp proof attachment format.
  3. Define verifier anchor states.
  4. Require pinned or well-known public key direction.
  5. Keep payment truth separate from proof integrity.
  6. Keep Bitcoin/OpenTimestamps as anchor infrastructure only.
Implementation checklist: The V13-B implementation checklist is now open as a separate public-safe page.

4. Payment Rail vs Anchor Rail

Payment rail

The rail that confirms whether a buyer paid through Pi, stablecoin, crypto, Bitcoin, Ethereum, Solana, card, bank, or local fiat adapter.

Anchor rail

The independent timestamp layer used to anchor a SafeGate checkpoint after the proof record exists. In V13-B, Bitcoin/OpenTimestamps belong here only.

Boundary: A Bitcoin/OpenTimestamps anchor does not mean Bitcoin payment support is live. It only means SafeGate is designing an external timestamp anchor path for signed checkpoints.

5. Anchor State Model

V13-B must avoid the main overclaim risk: treating a claimed anchor field as a verified anchor. The verifier must parse anchor status conservatively.

{
  "anchor_pending": "No external timestamp proof is attached yet.",
  "anchor_unsupported": "The proof claims an anchor type that this verifier does not verify.",
  "anchor_claim_unverified": "The proof contains an anchor claim, but verification was not completed.",
  "anchor_verified": "The external timestamp proof verifies against the checkpoint commitment.",
  "anchor_mismatch": "The anchor proof does not match the checkpoint commitment.",
  "anchor_error": "The anchor proof could not be evaluated safely."
}
Fail-secure rule: Unknown, unsupported, malformed, mismatched, or ambiguous anchor evidence must never be displayed as verified.

6. Public Key Pinning Requirement

The verifier must not blindly trust a public key embedded inside the proof. V13-B should be designed with a pinned or well-known public key path.

/.well-known/safegate-log-key.json
{
  "product": "SafeGate",
  "purpose": "transparency-log-checkpoint-verification",
  "environment": "staging",
  "keyId": "safegate-v13-staging-log-key-001",
  "algorithm": "Ed25519",
  "status": "active",
  "publicKey": "PUBLIC_KEY_PLACEHOLDER"
}
Status: This is a design and implementation-readiness requirement. It is not a production key pinning completion claim.

7. V13-B Acceptance Criteria

8. Not Claimed

9. Related Evidence Pages

10. Machine-Readable Status

{
  "project": "SafeGate",
  "page": "v13-b-external-anchor-design-plan.html",
  "status": "V13_B_DESIGN_PLAN_UPDATED_WITH_IMPLEMENTATION_CHECKLIST",
  "v13AChain": "CLOSED",
  "v13BDesignPlan": "OPEN",
  "v13BImplementationChecklist": "OPEN",
  "externalAnchorLive": false,
  "productionAnchorClaim": false,
  "formalAuditClaim": false,
  "bitcoinPaymentAdapterLive": false,
  "bitcoinUsedAs": "external_timestamp_anchor_only",
  "openTimestampsRole": "candidate_external_timestamp_proof_layer",
  "paymentRailSeparatedFromAnchorRail": true,
  "paymentTruthDeferredTo": "V13-C Payment Commitment",
  "pinnedPublicKeyRequired": true,
  "verifierMustFailSecure": true,
  "safeGatePaymentProcessor": false,
  "safeGateCustody": false,
  "safeGateEscrow": false,
  "safeGateExchange": false,
  "safeGateWalletHolder": false
}