SafeSign Decision SDK
Målkontrakt för stödda wallet-requests: avkoda, uttryck intent, bifoga evidens och rekommendera ALLOW / WARN / REVIEW / BLOCK.
context + payload → evidence + decisionSafeSign byggs som ett integrationslager för wallets, fintech och onchain-appar: avkoda begäran, lägg till säkerhetskontext, bevara payload och kräv ett explicit beslut.

Produktkontraktet är smalare än den gamla UTXO-berättelsen. Integrationer ska exponera SafeSign-beslut och evidens, inte blanda in business- eller Office-produkter.
Målkontrakt för stödda wallet-requests: avkoda, uttryck intent, bifoga evidens och rekommendera ALLOW / WARN / REVIEW / BLOCK.
context + payload → evidence + decisionLocal-first analys- och policy-primitiver för SafeSign, Guard och wallet-integrationer utan key custody eller signeringsauktoritet.
deterministic rules → explainable signalsBrowserintegration som wrappar stödda provider-requests och visar SafeSign innan originalrequestet skickas vidare oförändrat.
provider request → explicit continue / rejectSignerad organisationspolicy, approvals och deployment-kontroller hör ovanpå analyskärnan och byggs efter stabilt decision contract och audit boundary.
signed policy → organization decision constraintsEnterprise-köpare verifierar påståenden. Därför separeras nuvarande source-artifacts från production-förmågor som ännu kräver validering eller oberoende granskning.
Modellen ska skala från self-service till avtalsbaserad enterprise utan separata frikopplade produkter.
Self-service-utvärdering, referenskontrakt, lokal analys och docs för adoption före procurement-friktion.
EVALUATION / ADOPTIONUsage-baserad eller avtalsbaserad integration för wallets, fintech och onchain-produkter när API-garantier är mätbara.
SDK / API REVENUEPolicy enforcement, private deployment, procurement-evidens, support commitments och multi-approval utgör institutionella lagret.
ANNUAL CONTRACT / PRIVATE DEPLOYMENTSDK/API ska ta emot kontext och oförändrad signing-payload och returnera strukturerad evidens och rekommendation. Signeringsauktoriteten stannar hos integrerande wallet.
// Target interface — illustrative, not a published package
const review = await safeSign.review({
origin,
chainId,
method,
payload, // preserved unchanged
expectedIntent, // optional user/app intent
});
review.decision // ALLOW | WARN | REVIEW | BLOCK
review.evidence // structured, explainable signals
review.payload // same signing payload supplied by integratorIntegrationskontrakt side-effect free: request in, evidence ut, payload bevarad, signer authoritative.
Lägg review vid smalaste pålitliga boundary utan att bygga om transport, custody eller signing.
Intercept provider methods före bekräftelse och visa evidence utan att ersätta original request.
Analysera efter request construction och före signer invocation; keys hålls utanför analys.
Kör evidence och policy innan package skickas till befintlig signer/custody.
Behandla machine intent som untrusted input; kräv policy gates och human escalation för irreversible/high-value actions.
Analysera final payload, inte bara pre-construction params, så encoding/routing inte kringgår review.
Återanvänd evidence model för post-event observability och incident triage utan signing authority.
Okänd evidens måste förbli synligt okänd. Saknad analys får aldrig tyst bli ALLOW.
Ta emot exakt request och origin före bekräftelse.
Identifiera request-familjen före generell risklogik.
Normalisera methods, parametrar, authority och destinations.
Lägg till contract-, policy-, freshness- och simulation-context när tillgänglig.
Jämför rekonstruerad authority med användarens angivna avsikt.
Returnera ALLOW, WARN, REVIEW eller BLOCK med tydliga skäl och unknowns.
Lämna kontrollen till wallet eller signer. Analysen signerar eller broadcastar aldrig tyst.
Integrationskontrakt side-effect free: request in, evidence ut, payload bevarad, signer authoritative.
{
"requestType": "eip712",
"origin": "https://app.example",
"chainId": 1,
"method": "eth_signTypedData_v4",
"intent": { "action": "swap", "asset": "USDC" },
"payload": "<original wallet payload>"
}{
"decision": "REVIEW",
"confidence": "partial",
"authority": [{ "type": "token_spend", "scope": "unlimited" }],
"evidence": [{ "signal": "new_spender", "severity": "high" }],
"unknowns": ["future_execution_state"],
"payloadIntegrity": "unchanged"
}Okänd evidens måste förbli synligt okänd. Saknad analys får aldrig tyst bli ALLOW.
Okänd evidens måste förbli synligt okänd. Saknad analys får aldrig tyst bli ALLOW.
Gissa inte. Bevara request, visa unsupported surface och kräv review.
unsupported → REVIEWFortsätt med statisk och kontextuell evidens men markera saknad simulation tydligt.
simulation: unavailable → confidence: partialBehandla mismatch mellan intent och decoded authority som central evidens.
intent != authority → REVIEW/BLOCK policyTidskänslig intelligence behöver freshness metadata så gamla observationer inte ser aktuella ut.
observedAt + ttl → freshnessIntegration ska faila synligt, bevara payload integrity, visa unsupported states och aldrig göra analysis failure till implicit approval.