Interceptar
Captura la solicitud antes de la confirmación sin custodiar claves.
SafeSign es la capa de revisión entre una solicitud de wallet y una autorización irreversible. Decodifica lo que puede, añade contexto de ejecución, expone la incertidumbre y deja la decisión final al usuario.
PermitSingle · spender 0x42…b8 · amount MAX
Esta es la petición que un drenador necesita que firmes. Pásala por la capa de revisión y observa cómo cambia el veredicto según llega la evidencia.
eth_sendTransaction
from 0x9f1c…a034 (your account)
to 0xA0b8…eB48 (USDC token contract)
value 0
data 0x095ea7b3
000000000000000000000000c0ffee…b7d1 // spender
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffVeredicto actualLo desconocido nunca pasa a ser seguro. La evidencia que falta sigue faltando.
Recorrido ilustrativo del contrato de revisión publicado. La decisión mostrada es la que devolvería la política con esta evidencia.
Toda autorización irreversible recorre el mismo camino. UTXO Suite hace legible cada paso — y se detiene en el único que nunca debe poseer: la firma.
Una wallet, una dApp o un agente pide una firma. Todavía no se confía en nada.
UTXO SuiteLa petición se descodifica a una forma canónica: método, cadena, origen, parámetros.
UTXO SuiteQué hace realmente la petición, en claro: una transferencia, una aprobación, una delegación, un permiso.
UTXO SuiteContraparte, procedencia y resultado esperado. La simulación es evidencia, nunca un oráculo.
UTXO SuiteSeñales ponderadas: autoridad ilimitada, código desconocido, contratos recién creados, destinos que no cuadran.
UTXO SuiteTus reglas aplicadas de forma determinista sobre esa evidencia: una política, no una intuición.
UTXO SuiteALLOW, WARN, REVIEW o BLOCK. Un BLOCK jamás lo suaviza otra capa.
UTXO SuiteAutorizas de forma explícita. Ni siquiera un ALLOW es una firma.
TúLos bytes que se van a firmar se comparan con los bytes exactos que revisaste.
UTXO SuiteEl firmante aislado vive dentro de la wallet. UTXO Suite nunca guarda una clave ni una semilla.
Vigi WalletOpcional. Una transacción firmada no es automáticamente una transacción difundida.
Vigi WalletLo que ocurrió de verdad en la cadena se contrasta con lo que se te prometió.
UTXO SuiteNinguna decisión es una firma. La autorización siempre es tuya.
Lo desconocido nunca pasa a ser seguro. La evidencia que falta sigue faltando.
SafeSign no es una puntuación de riesgo mágica. El resultado útil es una explicación trazable de qué se solicita, qué autoridad puede concederse y qué supuestos siguen sin resolverse.
Captura la solicitud antes de la confirmación sin custodiar claves.
Interpreta transacciones, mensajes tipados, approvals, Permit/Permit2 y estructuras PSBT soportadas.
Compara origin, red, destino, spender, ruta de código, evidencia de simulación y políticas cuando están disponibles.
Presenta consecuencias e incertidumbre para que el usuario permita, revise o rechace de forma explícita.
La evidencia exacta depende de la red, el tipo de solicitud y el contexto disponible. Lo que no pueda verificarse debe quedar como desconocido, no asumirse seguro.
Expone spender, token, cantidad, deadline y autoridad persistente en lugar de tratar un approval como un clic inocuo.
Verifica red, destinatario, valor nativo y relación entre el destino visible y el payload.
Decodifica métodos, muestra proxies/delegatecall cuando puede resolverlos y trata la simulación como evidencia, no garantía.
Inspecciona inputs, outputs, change y fees de PSBT soportadas para contrastar intención y transacción.
La seguridad se vuelve peligrosa cuando exagera su certeza. SafeSign debe explicar con precisión tanto lo que sabe como lo que no puede demostrar.
El texto del navegador y la UI de la wallet aportan contexto, no una prueba. SafeSign debe reconstruir la autoridad desde el payload y compararla con la intención antes de pedir una firma.
Clasifica antes del scoring. Transferencias, approvals, EIP-712, Permit2, multicalls y PSBT tienen invariantes y fallos distintos.
Verifica red, destino, valor nativo, fees y contratos intermediarios.
Trata el allowance como autoridad futura persistente; inspecciona spender, alcance y revocabilidad.
Inspecciona domain separator, verifying contract, red, spender, cantidad, nonce y deadline.
Modela juntos token permission, spender permission y signature deadline; off-chain no significa bajo impacto.
Decodifica subcalls relevantes, movimientos de valor y cambios de autoridad; el target superior no describe toda la ejecución.
Compara inputs, outputs, change, fee, comportamiento sighash y metadata de derivación con el pago esperado.
La evidencia desconocida debe seguir siendo visible como desconocida. Un análisis ausente nunca debe convertirse silenciosamente en ALLOW.
Recibe la solicitud exacta y su origin antes de confirmar.
Identifica la familia de solicitud antes de aplicar lógica genérica de riesgo.
Normaliza métodos, parámetros, autoridad y destinos.
Añade contexto de contrato, policy, frescura y simulación cuando exista.
Compara la autoridad reconstruida con la intención declarada por el usuario.
Devuelve ALLOW, WARN, REVIEW o BLOCK con razones e incógnitas explícitas.
Devuelve el control a la wallet o signer. El análisis nunca firma ni transmite silenciosamente.
El texto del navegador y la UI de la wallet aportan contexto, no una prueba. SafeSign debe reconstruir la autoridad desde el payload y compararla con la intención antes de pedir una firma.
{
"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"
}La evidencia desconocida debe seguir siendo visible como desconocida. Un análisis ausente nunca debe convertirse silenciosamente en ALLOW.
La evidencia desconocida debe seguir siendo visible como desconocida. Un análisis ausente nunca debe convertirse silenciosamente en ALLOW.
No adivines. Preserva la solicitud, expone lo no soportado y exige revisión explícita.
unsupported → REVIEWContinúa con evidencia estática y contextual, indicando claramente que falta simulación.
simulation: unavailable → confidence: partialTrata el desajuste entre intención y autoridad decodificada como evidencia de primer nivel.
intent != authority → REVIEW/BLOCK policyLa inteligencia sensible al tiempo necesita freshness metadata para que observaciones antiguas no parezcan hechos actuales.
observedAt + ttl → freshnessLa evidencia desconocida debe seguir siendo visible como desconocida. Un análisis ausente nunca debe convertirse silenciosamente en ALLOW.