Intercetta
Cattura la richiesta prima della conferma senza custodire chiavi.
SafeSign è il livello di revisione tra una richiesta wallet e un'autorizzazione irreversibile. Decodifica, aggiunge contesto di esecuzione, espone l'incertezza e lascia la decisione finale all'utente.
PermitSingle · spender 0x42…b8 · amount MAX
Questa è la richiesta che un drainer ha bisogno che tu firmi. Falla attraversare il livello di analisi e osserva il verdetto cambiare man mano che arrivano le prove.
eth_sendTransaction
from 0x9f1c…a034 (your account)
to 0xA0b8…eB48 (USDC token contract)
value 0
data 0x095ea7b3
000000000000000000000000c0ffee…b7d1 // spender
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffVerdetto attualeL'ignoto non diventa mai sicuro. Una prova mancante resta mancante.
Percorso illustrativo del contratto di analisi pubblicato. La decisione mostrata è quella che la policy restituirebbe per queste prove.
Ogni autorizzazione irreversibile percorre la stessa strada. UTXO Suite rende leggibile ogni passaggio — e si ferma all'unico che non deve mai possedere: la firma.
Un wallet, una dApp o un agente chiede una firma. Non si dà ancora nulla per buono.
UTXO SuiteLa richiesta viene decodificata in una forma canonica: metodo, catena, origine, parametri.
UTXO SuiteChe cosa fa davvero la richiesta, in chiaro: un trasferimento, un'approvazione, una delega, un permit.
UTXO SuiteControparte, provenienza e risultato atteso. La simulazione è una prova, mai un oracolo.
UTXO SuiteSegnali pesati: autorità illimitata, codice sconosciuto, contratti appena creati, destinazioni incoerenti.
UTXO SuiteLe tue regole applicate in modo deterministico su quelle prove: una policy, non un'intuizione.
UTXO SuiteALLOW, WARN, REVIEW o BLOCK. Un BLOCK non viene mai ammorbidito da un altro livello.
UTXO SuiteAutorizzi in modo esplicito. Nemmeno un ALLOW è una firma.
TuI byte che stanno per essere firmati vengono confrontati con i byte esatti che hai esaminato.
UTXO SuiteIl firmatario isolato vive dentro il wallet. UTXO Suite non custodisce mai una chiave né una seed.
Vigi WalletFacoltativo. Una transazione firmata non è automaticamente una transazione trasmessa.
Vigi WalletCiò che è realmente accaduto sulla catena viene confrontato con ciò che ti era stato promesso.
UTXO SuiteNessuna decisione è una firma. L'autorizzazione resta sempre tua.
L'ignoto non diventa mai sicuro. Una prova mancante resta mancante.
SafeSign non è un punteggio magico. L'output utile è una spiegazione tracciabile di ciò che viene richiesto, dell'autorità concessa e delle incertezze residue.
Cattura la richiesta prima della conferma senza custodire chiavi.
Interpreta transazioni, typed data, approvals, Permit/Permit2 e PSBT supportate.
Confronta origin, chain, destinazione, spender, code path, simulazione e policy disponibili.
Mostra conseguenze e incertezze per consentire, revisionare o rifiutare esplicitamente.
L'evidenza dipende da chain, richiesta e contesto disponibile. Ciò che non è verificato deve restare dichiarato come ignoto.
Espone spender, token, quantità, deadline e autorità persistente.
Verifica chain, destinatario, valore nativo e coerenza col payload.
Decodifica metodi, proxy/delegatecall quando risolvibili e usa la simulazione come evidenza, non garanzia.
Ispeziona inputs, outputs, change e fees delle PSBT supportate per confrontare intento e transazione.
La sicurezza diventa pericolosa quando sovrastima la certezza. SafeSign distingue ciò che sa da ciò che non può provare.
Browser e UI wallet sono contesto, non prova. SafeSign deve ricostruire l'autorità dal payload e confrontarla con l'intento.
Classifica prima dello scoring. Transfer, approvals, EIP-712, Permit2, multicall e PSBT hanno rischi diversi.
Verifica chain, destinazione, valore nativo, fee e contratti intermediari.
Tratta allowance come autorità futura persistente; ispeziona spender, scope e revoca.
Ispeziona domain separator, verifying contract, chain, spender, amount, nonce e deadline.
Modella insieme token permission, spender permission e signature deadline.
Decodifica subcall, movimenti di valore e cambi di autorità; il target principale non descrive tutta l'esecuzione.
Confronta inputs, outputs, change, fee, sighash e metadata con il pagamento previsto.
L'evidenza sconosciuta deve restare visibilmente sconosciuta. L'assenza di analisi non deve mai diventare ALLOW.
Ricevi la richiesta esatta e origin prima della conferma.
Identifica la famiglia prima di applicare logica generica.
Normalizza metodi, parametri, autorità e destinazioni.
Aggiungi contesto contract, policy, freshness e simulazione quando disponibile.
Confronta l'autorità ricostruita con l'intento dichiarato.
Restituisci ALLOW, WARN, REVIEW o BLOCK con motivazioni e unknowns espliciti.
Restituisci il controllo a wallet o signer. L'analisi non firma né trasmette silenziosamente.
Browser e UI wallet sono contesto, non prova. SafeSign deve ricostruire l'autorità dal payload e confrontarla con l'intento.
{
"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"
}L'evidenza sconosciuta deve restare visibilmente sconosciuta. L'assenza di analisi non deve mai diventare ALLOW.
L'evidenza sconosciuta deve restare visibilmente sconosciuta. L'assenza di analisi non deve mai diventare ALLOW.
Non indovinare. Preserva la richiesta, mostra ciò che non è supportato e richiedi review.
unsupported → REVIEWContinua con evidenza statica e contestuale, rendendo esplicita l'assenza della simulazione.
simulation: unavailable → confidence: partialTratta il mismatch tra intento e autorità decodificata come evidenza primaria.
intent != authority → REVIEW/BLOCK policyL'intelligence time-sensitive richiede freshness metadata per evitare che osservazioni vecchie sembrino attuali.
observedAt + ttl → freshnessL'evidenza sconosciuta deve restare visibilmente sconosciuta. L'assenza di analisi non deve mai diventare ALLOW.