NO CUSTODY
Ei seed- tai private-key custodya.
Dokumentaatio keskittyy transaction securityyn: SafeSign-syöte, Security Core -analyysi, authorization ja todellinen integraatiostatus.

Nämä rajat ovat frameworkia tärkeämpiä.
Ei seed- tai private-key custodya.
Älä muuta wallet/dApp payloadia.
Ei auto-signia tai auto-broadcastia; authorization eksplisiittinen.
Puuttuva evidence = epävarmuus, ei silent allow.
Säilytä alkuperäinen request ja lisää luettava evidence.
Vastaanota request ja context.
Normalisoi method, params, typed data, approvals tai PSBT.
Lisää policy, destination ja simulation.
Näytä riski/epävarmuus; käyttäjä tekee authorizationin.
Chrome/Brave-scaffold on olemassa, wrap ethereum.request ja odottaa jatka/hylkää. Production build pipeline puuttuu.
// 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
}Vain ei-arkaluonteiset paikallisasetukset; ei keys, seeds, raw signatures tai koko historiaa.
Jokainen surface kertoo todellisen rajan.
Guard — Manifest V3 -pohja on; production build/distribution erikseen.
Wallet — UI on; oikeiden flow'iden tulee käyttää SafeSignia.
Relay — route/fee/PSBT-analyysi on; signing/execution tulevaa.
Säilytä request, johda structured evidence, kirjaa unknowns ja palauta selitettävä päätös ilman signing authoritya.
Tallenna origin, chain, method, payload hash ja intent ennen analyysiä.
Pidä facts, provenance, freshness, contradictions ja unknowns erillään.
Palauta ALLOW, WARN, REVIEW tai BLOCK reason codeilla ja reviewed payload hashilla.
Säilytä request, johda structured evidence, kirjaa unknowns ja palauta selitettävä päätös ilman signing authoritya.
{
"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:..."
}Jos payload muuttuu reviewn jälkeen, päätös mitätöityy ja uusi review vaaditaan.