UTXOSUITE — home
DOCUMENTACIÓN PARA DESARROLLADORES

Integra el límite de revisión, no el límite de custodia.

La documentación de UTXO Suite se centra ahora en seguridad transaccional: cómo entran las solicitudes en SafeSign, qué puede analizar Security Core, dónde permanece la autorización y qué integraciones son actuales o futuras.

DOCS / IMPLEMENTATION REFERENCEUn clúster compacto de servidores edge, con luces de estado en los frontales.
MODELO DE SEGURIDAD

Cuatro invariantes antes de los detalles.

Estas restricciones importan más que el framework. Si una integración rompe una, queda fuera del modelo previsto.

INVARIANT 01

NO CUSTODY

Sin custodia de seed ni claves privadas en SafeSign o Security Core.

INVARIANT 02

PAYLOAD INTEGRITY

No mutar el payload de transacción presentado por wallet o dApp.

INVARIANT 03

EXPLICIT AUTHORIZATION

No auto-firmar ni auto-broadcast. La autorización sigue siendo explícita.

INVARIANT 04

FAIL VISIBLE

Evidencia no disponible significa incertidumbre, nunca permiso silencioso.

CICLO DE LA SOLICITUD

Solicitud → decode → contexto → revisión.

La integración debe conservar la solicitud original y añadir evidencia legible alrededor.

01

REQUEST

Recibir una solicitud compatible y el contexto disponible.

02

DECODE

Normalizar método, parámetros, typed data, approvals o PSBT compatible.

03

CONTEXT

Añadir políticas deterministas, contexto del destino y simulación cuando exista.

04

REVIEW

Mostrar riesgo e incertidumbre en SafeSign; usuario o wallet conserva la autorización final.

GUARD / MANIFEST V3

Base actual de integración en navegador.

El repo contiene un scaffold para Chrome/Brave. Envuelve ethereum.request en el contexto de página, se comunica con el content script aislado y espera continuar/rechazar. Aún requiere pipeline de build de producción.

Scaffold de desarrollo

ethereum.request → SafeSign → original provider

// 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
}

Solo preferencias locales: activación, strict mode, allowlist y tarjetas educativas descartadas. Nunca claves, seeds, firmas crudas ni historial completo.

ESTADO DE INTEGRACIÓN

Una UI pulida no demuestra capacidad backend.

Cada superficie tiene un límite de implementación diferente y la documentación lo declara explícitamente.

01

UTXO GUARD

Guard — existe la base Manifest V3; build/distribución de producción es trabajo separado.

02

UTXO WALLET

Wallet — existe UI actual; send/approve/sign/connect reales deben invocar SafeSign antes de confirmar.

03

UTXO RELAY

Relay — existe análisis de rutas/fees/PSBT; firma y ejecución futuras deben previsualizar PSBT mediante SafeSign.

ARQUITECTURA DE REFERENCIA

Un contrato de revisión transaccional implementable y comprobable.

Conserva la solicitud, deriva evidencia estructurada, registra incógnitas y devuelve una decisión explicable sin asumir autoridad de firma.

01 / REQUEST ENVELOPE

REQUEST ENVELOPE

Captura origin, red, método, payload hash e intención antes del análisis.

02 / EVIDENCE GRAPH

EVIDENCE GRAPH

Mantén hechos, procedencia, frescura, contradicciones e incógnitas como nodos separados.

03 / DECISION CONTRACT

DECISION CONTRACT

Devuelve ALLOW, WARN, REVIEW o BLOCK con reason codes y el payload hash revisado.

PIPELINE DE REFERENCIA

Cada etapa tiene una salida fail-safe.

Conserva la solicitud, deriva evidencia estructurada, registra incógnitas y devuelve una decisión explicable sin asumir autoridad de firma.

STAGE
ARTIFACT / INPUT
EVIDENCE / MEANING
OUTPUT
CAPTURE
origin · request
Conserva el envelope original.
REVIEW
DECODE
method · params
Normaliza la autoridad soportada y expone input no soportado.
UNKNOWN
DECIDE
evidence · policy
Devuelve decisión, reason codes y payload hash exacto.
EXPLICIT
REQUEST ENVELOPE
{
  "origin":"https://app.example",
  "chainId":1,
  "method":"eth_signTypedData_v4",
  "payloadHash":"sha256:...",
  "intent":"swap 1 ETH"
}
REVIEW RESULT
{
  "decision":"REVIEW",
  "reasonCodes":["AUTHORITY_EXCEEDS_INTENT"],
  "unknowns":["spender_reputation"],
  "payloadHash":"sha256:..."
}
INTEGRATION RULE

Si el payload cambia después de la revisión, la decisión es inválida y se requiere una nueva revisión.