SignLens

Privacy

What the SignLens extension and this site send, to whom, and what is kept. Last changed 6 November 2026.

The extension

What goes to the SignLens API

In this beta, SignLens's server computes the explanation. For each transaction a dapp asks you to sign, the extension sends the SignLens API: the transaction, the addresses its lookup tables load, the outcome of the simulation if it ran, at most eight of your addresses from the settings (in watch-only mode the watched one), so that the explanation can say "you"; the language you chose in the settings, if any, then the languages your browser asks for, at most eight in all, so that it is worded in the first of them SignLens has; and at most 64 addresses from your address book, each with a stand-in for its name: its place in the list and a random tag drawn for each request, which says nothing of the name. The extension puts the names back before the window shows the explanation, so they never leave your browser. When account lookup is on and the explanation names accounts it would read, such as a multisig proposal and the transaction it stores or a DAO proposal and its options, it asks again with those accounts as your RPC returned them, at most twice. When token lookup is on and the explanation leaves tokens unnamed, it asks again with their symbols. It also asks again when you press "Try again" or "Show in English" in the window. This happens when the dapp asks, before the window opens, and also when "Show the explanation and ask first" is off and no window opens.

For each request the API logs the time, how long it took, the verdict, the finding codes, the program names, the size and a SHA-256 hash of the transaction's message, and keeps nothing else. The hash cannot be turned back into the transaction, but once the transaction is on chain anyone can compute the same hash from it, so a log line can be matched to that transaction and its signer. Messages to sign never leave the extension.

Your IP address

Every request reaches the API through Cloudflare, which sees your IP address, as it does for any site it serves. The API uses the address only to count your requests against its limit, in memory and as a keyed hash, and logs it nowhere.

Where the API runs

The SignLens API runs on two servers, one SignLens runs itself and one it rents from Google Cloud in the United States. Cloudflare sends each request to the one nearer to you, and to the other when one is down; Google processes the requests that reach its server for SignLens. Each keeps its own log and the feedback it receives, as below, and SignLens copies the feedback to its own computer to read it.

Your RPC and the token list

The RPC in the settings, by default the public solana-rpc.publicnode.com, is asked for the lookup tables of every transaction that uses any, sees the whole transaction when simulation is on, is asked for the accounts an explanation names when account lookup is on, and for the mints of unlisted tokens when token lookup is on. Those mints also go to the token list, by default Jupiter's lite-api.jup.ag. Simulation, account lookup and token lookup are on by default; the settings turn them off, and the RPC and the token list can be your own.

Feedback

The feedback strip under an explanation sends nothing until you rate it, and says what a rating sends before you give one. A rating sends, for each transaction explained: the rating, your comment, a hash of the transaction, the site's host and the extension's version (in Firefox only once you allow them), the wallet method the site called, the language the explanation was in, and what the window showed you: the verdict, the summary, with any contact in it as "a contact", the findings by code and severity, and the program each instruction calls. The transaction itself goes only if you tick "Send this transaction to SignLens so it can be looked into", which is offered unticked. Feedback is kept to improve the explanations; to have yours deleted, write to support@signlens.dev with the time you sent it.

What the dapp learns

The dapp is told whether the request was passed on, rejected by you, or refused by SignLens and why, never the verdict or the explanation. In watch-only mode it learns the watched address only once you allow it.

This site

signlens.dev is static pages served by Cloudflare. It sets no cookies of its own and runs no script but Cloudflare Web Analytics, which counts visits, the pages viewed, the referring site and the visitor's country, without cookies or local storage. Cloudflare processes those requests for us; its own security systems may set a strictly necessary cookie when they inspect traffic.

What SignLens does not do

No accounts, no advertising, no selling or sharing of data, no tracking across sites. The extension's source is public (github.com/signlens/signlens-extension), and so is this site's (github.com/signlens/signlens-site).

Questions

Write to support@signlens.dev.

Try it: install SignLens for Chrome or Firefox.