Interceptar
Captura o pedido antes da confirmação sem custodiar chaves.
SafeSign é a camada de revisão entre uma solicitação da wallet e uma autorização irreversível. Decodifica, adiciona contexto de execução, mostra incerteza e deixa a decisão final com o usuário.
PermitSingle · spender 0x42…b8 · amount MAX
Este é o pedido que um drainer precisa que assine. Passe-o pela camada de análise e veja o veredicto mudar à medida que a evidência chega.
eth_sendTransaction
from 0x9f1c…a034 (your account)
to 0xA0b8…eB48 (USDC token contract)
value 0
data 0x095ea7b3
000000000000000000000000c0ffee…b7d1 // spender
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffVeredicto actualO desconhecido nunca passa a seguro. A evidência que falta continua a faltar.
Percurso ilustrativo do contrato de análise publicado. A decisão mostrada é a que a política devolveria para esta evidência.
Toda autorização irreversível percorre o mesmo caminho. O UTXO Suite torna cada passo legível — e para no único que nunca deve possuir: a assinatura.
Uma wallet, uma dApp ou um agente pede uma assinatura. Ainda não se confia em nada.
UTXO SuiteO pedido é descodificado numa forma canónica: método, cadeia, origem, parâmetros.
UTXO SuiteO que o pedido faz de facto, em claro: uma transferência, uma aprovação, uma delegação, um permit.
UTXO SuiteContraparte, proveniência e resultado esperado. A simulação é evidência, nunca um oráculo.
UTXO SuiteSinais ponderados: autoridade ilimitada, código desconhecido, contratos acabados de criar, destinos que não batem certo.
UTXO SuiteAs suas regras aplicadas de forma determinista sobre essa evidência: uma política, não uma intuição.
UTXO SuiteALLOW, WARN, REVIEW ou BLOCK. Um BLOCK nunca é suavizado por outra camada.
UTXO SuiteVocê autoriza explicitamente. Nem um ALLOW é uma assinatura.
VocêOs bytes prestes a ser assinados são comparados com os bytes exactos que reviu.
UTXO SuiteO assinante isolado vive dentro da wallet. O UTXO Suite nunca guarda uma chave nem uma seed.
Vigi WalletOpcional. Uma transacção assinada não é automaticamente uma transacção difundida.
Vigi WalletO que aconteceu mesmo na cadeia é confrontado com o que lhe foi prometido.
UTXO SuiteNenhuma decisão é uma assinatura. A autorização é sempre sua.
O desconhecido nunca passa a seguro. A evidência que falta continua a faltar.
SafeSign não é uma pontuação mágica. O resultado útil é uma explicação rastreável do pedido, da autoridade que pode ser concedida e do que permanece incerto.
Captura o pedido antes da confirmação sem custodiar chaves.
Interpreta transações, typed data, approvals, Permit/Permit2 e PSBT compatíveis.
Compara origin, chain, destino, spender, caminho de código, simulação e políticas disponíveis.
Mostra consequências e incerteza para permitir, revisar ou rejeitar explicitamente.
A evidência depende da rede, do tipo de pedido e do contexto disponível. O que não for verificado deve continuar marcado como desconhecido.
Expõe spender, token, quantidade, deadline e autoridade persistente.
Verifica chain, destinatário, valor nativo e relação entre destino visível e payload.
Decodifica métodos, resolve proxy/delegatecall quando possível e trata simulação como evidência, não garantia.
Inspeciona inputs, outputs, change e fees de PSBT compatíveis para comparar intenção e transação.
Segurança se torna perigosa quando exagera certeza. SafeSign precisa separar claramente o que sabe do que não pode provar.
Browser e UI da wallet dão contexto, não prova. SafeSign deve reconstruir autoridade do payload e comparar com a intenção.
Classifique antes do scoring. Transfers, approvals, EIP-712, Permit2, multicalls e PSBT têm riscos distintos.
Verifique chain, destino, valor nativo, fees e contratos intermediários.
Trate allowance como autoridade futura persistente; inspecione spender, scope e revogação.
Inspecione domain separator, verifying contract, chain, spender, amount, nonce e deadline.
Modele token permission, spender permission e signature deadline em conjunto.
Decodifique subcalls, movimentos de valor e mudanças de autoridade; o target superior não descreve tudo.
Compare inputs, outputs, change, fee, sighash e metadata com o pagamento esperado.
Evidência desconhecida deve continuar claramente desconhecida. Falha de análise nunca vira ALLOW silencioso.
Receba o request exato e origin antes da confirmação.
Identifique a família antes de aplicar lógica genérica.
Normalize métodos, parâmetros, autoridade e destinos.
Adicione contexto de contrato, policy, freshness e simulação quando disponível.
Compare a autoridade reconstruída com a intenção declarada.
Retorne ALLOW, WARN, REVIEW ou BLOCK com razões e unknowns explícitos.
Devolva controle à wallet ou signer. A análise nunca assina ou transmite silenciosamente.
Browser e UI da wallet dão contexto, não prova. SafeSign deve reconstruir autoridade do payload e comparar com a intenção.
{
"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"
}Evidência desconhecida deve continuar claramente desconhecida. Falha de análise nunca vira ALLOW silencioso.
Evidência desconhecida deve continuar claramente desconhecida. Falha de análise nunca vira ALLOW silencioso.
Não adivinhe. Preserve o request, exponha o que não é suportado e exija review.
unsupported → REVIEWContinue com evidência estática e contextual, deixando a falta de simulação explícita.
simulation: unavailable → confidence: partialTrate divergência entre intenção e autoridade decodificada como evidência principal.
intent != authority → REVIEW/BLOCK policyInteligência temporal precisa de freshness metadata para que observações antigas não pareçam atuais.
observedAt + ttl → freshnessEvidência desconhecida deve continuar claramente desconhecida. Falha de análise nunca vira ALLOW silencioso.