NO CUSTODY
Ingen seed- eller private-key custody.
Dokumentationen fokuserer transaction security: SafeSign-input, Security Core-analyse, autorisation og reel integrationsstatus.

Disse grænser er vigtigere end frameworket.
Ingen seed- eller private-key custody.
Mutér ikke wallet/dApp payload.
Ingen auto-sign eller auto-broadcast; eksplicit autorisation.
Manglende evidence = uncertainty, aldrig silent allow.
Bevar request og tilføj læsbar evidence.
Modtag request og context.
Normalisér method, params, typed data, approvals eller PSBT.
Tilføj policy, destination og simulation.
Vis risk/uncertainty; brugeren autoriserer.
Chrome/Brave-scaffold findes, wrapper ethereum.request og venter på fortsæt/afvis. Production build pipeline mangler.
// browser/page context — conceptual integration boundary
const original = ethereum.request.bind(ethereum)
ethereum.request = async (request) => {
const decision = await reviewWithSafeSign(request)
if (decision !== "continue") throw new Error("User rejected")
return original(request) // forward unchanged
}Kun ikke-følsomme lokale indstillinger; aldrig keys, seeds, raw signatures eller fuld historik.
Hver surface angiver sin reelle grænse.
Guard — Manifest V3-grund findes; production build/distribution separat.
Wallet — UI findes; rigtige flows skal bruge SafeSign.
Relay — route/fee/PSBT-analyse findes; signing/execution fremtidig.
Bevar request, afled structured evidence, registrer unknowns og returner en forklarlig beslutning uden signing authority.
Fang origin, chain, method, payload hash og intent før analyse.
Bevar facts, provenance, freshness, contradictions og unknowns separat.
Returnér ALLOW, WARN, REVIEW eller BLOCK med reason codes og reviewed payload hash.
Bevar request, afled structured evidence, registrer unknowns og returner en forklarlig beslutning uden signing authority.
{
"origin":"https://app.example",
"chainId":1,
"method":"eth_signTypedData_v4",
"payloadHash":"sha256:...",
"intent":"swap 1 ETH"
}{
"decision":"REVIEW",
"reasonCodes":["AUTHORITY_EXCEEDS_INTENT"],
"unknowns":["spender_reputation"],
"payloadHash":"sha256:..."
}Hvis payload ændres efter review, er beslutningen ugyldig og ny review kræves.