01What we never collect
We do not write prompts, completions, or personally identifying information to our database or logs. Specifically, we never retain:
- The content of your prompts or the model's completions
- IP addresses. Sign-in rate limiting needs to tell callers apart, so the address is put through a keyed hash (HMAC-SHA256) and only that digest becomes a short-lived, self-expiring counter key. The address itself is never stored, logged, or recoverable from the digest
- User-agent strings
- Real email addresses. Inert never asks you for one. Our auth library requires an email-shaped field internally, so each account gets a random, non-deliverable placeholder on a reserved domain, not a real address
02How prompts and completions are handled
When you send a request, its content passes through Inert transiently, in memory, on its way to the upstream model provider that generates the response. That content is not persisted to Postgres, to Valkey (our Redis-compatible cache), or to application logs. Once the response has been streamed back to you, Inert retains nothing about what was said.
03Information we process
To run accounts, billing, and rate limiting, we store metadata about your usage, never the content itself:
- Account. There are two ways in. In the Telegram device flow you approve a one-time code in the Telegram bot; we store a one-way hash of your Telegram identity, never your raw Telegram id or username. You can also set a username and password on your account: the username is stored as you typed it, the password only as a one-way hash. We cannot see or recover your password, and losing it means an operator has to reset it for you. If you opt in to low-balance Telegram DMs, we additionally store your Telegram chat id encrypted (AES-256-GCM) so the bot can message you. This is the one case where we hold a reversible identifier instead of a hash. Turning the alert off clears it immediately.
- Wallet and ledger. Your prepaid balance and credit or debit entries, recorded in integer microdollars.
- Per-request usage metadata. Token counts (input, output, cache), the model-route alias, computed cost in microdollars, latency, request status, a normalized error code, and an internal request id. No prompt or completion text is part of this record.
- API keys. Stored only as an HMAC-SHA256 digest plus a short, non-secret identifier. The secret is shown once at creation and cannot be recovered: Inert cannot see or restore it.
- Referral codes. If you enter a referral code during setup, we store the code you typed, which code credited your account, and the amount of credit it was worth. That is the whole record. The person whose code you used sees a count of how many times each of their codes has been redeemed, and nothing else. They never see who you are, what you run, or which redemption was yours: no account id, no Telegram identity, no usage of any kind is shared with them.
- Support chat. If you open a support conversation from the dashboard, the messages you and our operators type are stored as written, and are also delivered to our operators through Telegram. This is the one place in Inert where free text you author is kept. Please do not paste anything into it you would not want retained, including prompts, completions, wallet addresses, or contact details.
- Operational state. Sessions, rate-limit counters, request-slot semaphores, and device sign-in challenges live in Valkey, all with expirations. None of this contains request content.
04Payments
Wallet top-ups are paid in cryptocurrency and processed by NOWPayments. When you start a top-up we send NOWPayments the amount, the coin you picked, and an internal reference to your account; NOWPayments returns a pay-in address (and, on chains that need one, a memo or destination tag) which we show you and store alongside the pending top-up so the payment can be matched when it arrives. NOWPayments sees the blockchain transaction; Inert never takes custody of your coins, and credit is only ever granted from a signature-verified callback. We record that a top-up occurred, its amount, its status, and the provider's reference for it.
Some realities of paying on-chain, so they are not a surprise: an on-chain send cannot be reversed by us or by the provider; a payment that arrives for less than the quoted amount cannot be credited automatically and has to be settled by hand, so contact us if that happens; a payment sent without the required memo or destination tag may not be matchable at all; and the exchange-rate quote attached to an address expires, after which the quoted coin amount is no longer guaranteed and you should request a fresh one.
Cryptocurrency is the only way to pay for Inert. We do not accept cards, so we never receive, process, or store card numbers or any other card details.
06Sub-processors
We share data with a small set of services required to run Inert:
- Upstream model providers, who receive your prompt content in order to generate completions. That exchange is the service itself.
- NOWPayments, for crypto wallet top-ups. They receive the top-up amount, the coin, an internal account reference, and the pay-in address and transaction they generate.
- Telegram, for sign-in, notifications, and support: messages you send in support chat are relayed to our operators through Telegram.
07Data retention
Usage metadata and ledger entries are kept for billing and accounting. Operational state in Valkey expires automatically. Prompt and completion content is never retained in the first place, so there is nothing to delete when a request completes.
Support conversations are kept indefinitely today: there is no automatic purge, and copies relayed to our operators live in Telegram under Telegram's own retention. Ask us and we will delete a conversation on our side.
08Security
API keys are stored as HMAC-SHA256 digests and passwords as one-way hashes, neither in recoverable form. No prompt or completion content is ever at rest in our systems, and we do not ask for personal information anywhere in the product. The one exception is support chat, which stores exactly what you choose to type into it.
09Your choices
You can stop using Inert at any time and revoke API keys from the dashboard. To delete your account, contact us and we will remove it on request.
10Changes to this policy
If this policy changes, we will update this page to reflect the current version.
11Contact
Reach us through the Telegram bot, or by email at [email protected].
End of policy.