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.
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.
2. What V13-A Closed
- Proof-record inclusion and signed checkpoint consistency.
- Append-only transparency log direction.
- Canonical leaf hash direction.
- Merkle inclusion proof direction.
- Independent browser verifier.
- Anchor negative test: unsupported anchor claims do not become verified anchors.
- Technical Evidence Archive, Roadmap, Checklist, Freeze Note, and main landing linkage.
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.
- Define checkpoint commitment format.
- Define external timestamp proof attachment format.
- Define verifier anchor states.
- Require pinned or well-known public key direction.
- Keep payment truth separate from proof integrity.
- Keep Bitcoin/OpenTimestamps as anchor infrastructure only.
4. Payment Rail vs Anchor Rail
The rail that confirms whether a buyer paid through Pi, stablecoin, crypto, Bitcoin, Ethereum, Solana, card, bank, or local fiat adapter.
The independent timestamp layer used to anchor a SafeGate checkpoint after the proof record exists. In V13-B, Bitcoin/OpenTimestamps belong here only.
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."
}
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"
}
7. V13-B Acceptance Criteria
- External anchor design plan is public.
- External anchor implementation checklist is public.
- Payment rail and anchor rail are explicitly separated.
- Bitcoin/OpenTimestamps are described only as timestamp infrastructure.
- Anchor states are fail-secure.
- Unsupported anchor claims cannot self-upgrade into verified status.
- Pinned / well-known public key requirement is documented.
- No production anchor claim is made.
- No Bitcoin payment adapter claim is made.
8. Not Claimed
- Not production ready.
- Not formally audited.
- No live external anchor claim yet.
- No independent payment truth proof claim yet.
- No Bitcoin payment adapter live claim.
- No stablecoin adapter live claim.
- No fiat/bank/card adapter live claim.
- Not a payment processor, custodian, escrow provider, exchange, wallet holder, or settlement network.
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
}