Intercept
Keys की custody लिए बिना confirmation से पहले wallet request capture करता है।
SafeSign wallet request और irreversible authorization के बीच review layer है। यह supported data decode करता है, execution context जोड़ता है, uncertainty दिखाता है और अंतिम निर्णय user के पास रखता है।
PermitSingle · spender 0x42…b8 · amount MAX
यही वह अनुरोध है जिसे drainer आपसे हस्ताक्षरित कराना चाहता है। इसे समीक्षा परत से गुजारें और देखें कि प्रमाण आते ही निर्णय कैसे बदलता है।
eth_sendTransaction
from 0x9f1c…a034 (your account)
to 0xA0b8…eB48 (USDC token contract)
value 0
data 0x095ea7b3
000000000000000000000000c0ffee…b7d1 // spender
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffमौजूदा निर्णयअज्ञात कभी सुरक्षित नहीं बनता। जो प्रमाण नहीं है, वह नहीं है।
प्रकाशित समीक्षा अनुबंध का उदाहरणात्मक भ्रमण। दिखाया गया निर्णय वही है जो इस प्रमाण पर policy लौटाएगी।
हर अपरिवर्तनीय अनुमति एक ही रास्ते से गुजरती है। UTXO Suite हर चरण को पढ़ने योग्य बनाता है — और उस एक चरण पर रुक जाता है जो उसका कभी नहीं होना चाहिए: हस्ताक्षर।
कोई wallet, dApp या agent हस्ताक्षर मांगता है। अभी किसी पर भरोसा नहीं किया जाता।
UTXO Suiteअनुरोध एक मानक रूप में डिकोड होता है: method, chain, origin, parameters।
UTXO Suiteअनुरोध वास्तव में क्या करता है, साफ शब्दों में: transfer, approval, delegation या permit।
UTXO Suiteप्रतिपक्ष, स्रोत और अपेक्षित परिणाम। Simulation प्रमाण है, oracle कभी नहीं।
UTXO Suiteभारित संकेत: असीमित अधिकार, अनजान code, अभी बने contracts, बेमेल गंतव्य।
UTXO Suiteआपके नियम उसी प्रमाण पर निर्धारित रूप से लागू: एक policy, अनुमान नहीं।
UTXO SuiteALLOW, WARN, REVIEW या BLOCK। BLOCK को कोई दूसरी परत कभी नरम नहीं करती।
UTXO Suiteआप स्पष्ट रूप से अनुमति देते हैं। ALLOW भी हस्ताक्षर नहीं है।
आपजो bytes अभी हस्ताक्षरित होंगे, उनकी तुलना ठीक उन्हीं bytes से होती है जो आपने देखे थे।
UTXO Suiteअलग-थलग signer wallet के भीतर है। UTXO Suite कभी key या seed नहीं रखता।
Vigi Walletवैकल्पिक। हस्ताक्षरित लेनदेन स्वतः प्रसारित लेनदेन नहीं होता।
Vigi Walletchain पर वास्तव में जो हुआ, उसे आपसे किए गए वादे से मिलाया जाता है।
UTXO Suiteकोई भी निर्णय हस्ताक्षर नहीं है। अनुमति हमेशा आपकी है।
अज्ञात कभी सुरक्षित नहीं बनता। जो प्रमाण नहीं है, वह नहीं है।
SafeSign कोई magic risk score नहीं है। उपयोगी output यह बताता है कि क्या request हुआ, कौन-सी authority मिल सकती है और कौन-सी uncertainty अभी बाकी है।
Keys की custody लिए बिना confirmation से पहले wallet request capture करता है।
Transactions, typed data, approvals, Permit/Permit2 और supported PSBT structures interpret करता है।
Origin, chain, destination, spender, code path, simulation evidence और available policy signals compare करता है।
Consequences और uncertainty दिखाता है ताकि user स्पष्ट रूप से allow, review या reject कर सके।
Evidence chain, request type और available context पर निर्भर है। जो verify नहीं हुआ उसे safe मानने के बजाय unknown रहना चाहिए।
Spender, token, amount, deadline और persistent spending authority expose करता है।
Chain, recipient, native value और payload destination के संबंध को verify करता है।
Methods decode करता है, resolvable proxy/delegatecall context दिखाता है और simulation को evidence मानता है, guarantee नहीं।
Supported PSBT inputs, outputs, change और fees inspect करके signing intent से तुलना करता है।
Security तब खतरनाक होती है जब certainty को बढ़ा-चढ़ाकर दिखाया जाए। SafeSign को ज्ञात और अप्रमाणित चीज़ों में स्पष्ट अंतर रखना चाहिए।
Browser copy और wallet UI context हैं, proof नहीं। SafeSign को payload से authority reconstruct करके intent से compare करना चाहिए।
Scoring से पहले classify करें। Transfers, approvals, EIP-712, Permit2, multicalls और PSBT के risks अलग हैं।
Chain, destination, native value, fees और intermediary contracts verify करें।
Allowance को durable future spending authority मानें; spender, scope और revoke inspect करें।
Domain separator, verifying contract, chain, spender, amount, nonce और deadline inspect करें।
Token permission, spender permission और signature deadline को साथ model करें।
Material subcalls, value movement और authority changes decode करें; top-level target पूरी execution story नहीं है।
Inputs, outputs, change, fee, sighash और derivation metadata को intended payment से compare करें।
Unknown evidence को स्पष्ट रूप से unknown रहना चाहिए। Missing analysis कभी चुपचाप ALLOW नहीं बनना चाहिए।
Confirmation से पहले exact request और origin लें।
Generic risk logic से पहले request family पहचानें।
Methods, parameters, authority और destinations normalize करें।
जहाँ उपलब्ध हो contract, policy, freshness और simulation context जोड़ें।
Reconstructed authority को user के stated intent से compare करें।
ALLOW, WARN, REVIEW या BLOCK स्पष्ट reasons और unknowns के साथ लौटाएं।
Control wallet या signer को लौटाएं। Analysis कभी silently sign या broadcast न करे।
Browser copy और wallet UI context हैं, proof नहीं। SafeSign को payload से authority reconstruct करके intent से compare करना चाहिए।
{
"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"
}Unknown evidence को स्पष्ट रूप से unknown रहना चाहिए। Missing analysis कभी चुपचाप ALLOW नहीं बनना चाहिए।
Unknown evidence को स्पष्ट रूप से unknown रहना चाहिए। Missing analysis कभी चुपचाप ALLOW नहीं बनना चाहिए।
Guess न करें। Request preserve करें, unsupported surface दिखाएं और review मांगें।
unsupported → REVIEWStatic/context evidence जारी रखें, लेकिन missing simulation स्पष्ट करें।
simulation: unavailable → confidence: partialIntent और decoded authority mismatch को first-class evidence मानें।
intent != authority → REVIEW/BLOCK policyTime-sensitive intelligence में freshness metadata जरूरी है ताकि पुराने observations current facts न लगें।
observedAt + ttl → freshnessUnknown evidence को स्पष्ट रूप से unknown रहना चाहिए। Missing analysis कभी चुपचाप ALLOW नहीं बनना चाहिए।