Privacy Policy
Last updated 13 August 2026
LLMJob runs on hardware that belongs to people rather than to us, so where your prompts go is a real question with a specific answer. This policy gives it, along with what we store, what we deliberately don't, and how long anything lasts.
The short version
- We never use your prompts or outputs to train models, and we never sell data.
- The free chat and the hosted models record no prompt or reply text at all — only token counts and speed, with nothing attached that identifies you.
- Requests served by the node network are different: the prompt and the reply are stored for up to 24 hours so a node can pick the job up and you can read the answer back, and they pass through the hardware of whoever serves them. Section 2 explains this properly — it is the most important thing on this page.
- We don't log IP addresses, and your email address never reaches our database.
- A private API key confines your prompts to machines in your own account.
1. What we collect
Account
Sign-in is handled by our authentication provider, which holds your email address and credentials. Our own database stores only the opaque account identifier it issues — your email, name and username are never written to it. Everything we keep about you hangs off that identifier.
API keys
For each key we store a one-way hash of the secret, the label you gave it, when it was created, when it was last used, a lifetime token counter and its public/private routing setting. We do not store the key itself and cannot recover it — we show it once and keep only enough of it (the first and last few characters) to display a recognisable fragment.
Request logs
Each API request writes one row: time, model, which node served it, tokens in and out, generation speed, why generation stopped, and the label of the key used. These are what the dashboard's Logs table shows you. They contain no prompt or reply text.
Nodes
When a machine joins we store its public key and derived node id, a name, the account it belongs to (if any), whether it is public, when it was last seen, and what it reports about itself: GPU description, VRAM, the model it has loaded, and measured generation speed. This is hardware and availability information, not content.
Two things worth knowing here. A machine running the local model registers itself with the network by default, without an account and without a separate action from you, so that it can be offered work — its node name defaults to a label derived from the machine's hostname. And if your node serves a job for someone else, the text your GPU generates is sent back through us so it can be delivered to whoever asked for it.
LLMJob Earn
While mining, the app reports once a minute per graphics card: your payout address, a worker name, the pool region, GPU model, hashrate, accepted shares, VRAM used and total, the app version, and — if the machine is also serving as a node — its node id and the model it is serving. This is what the public network board displays.
The worker name defaults to your computer's hostname (lower-cased and stripped of
punctuation), so if your machine is called something like alex-desktop
that is what appears on a public page next to your payout address. Change it in the app's
settings if you would rather it didn't.
What the app deliberately does not send: rejected shares, GPU power draw, GPU load, uptime, and your merge-mining address (which goes only to the pool).
What the desktop app keeps to itself
Some things never leave your machine, by design:
- Anything you type into the app's own Chat tab. It talks to a model server bound to your local loopback address, and there is no second destination.
- The downloaded model weights, which are only ever read.
- Your node's private key, stored with owner-only permissions and used solely to sign the machine's own requests. Only the public half is ever sent — which is why claiming a node requires proof from the machine itself.
- Mining and engine logs, which are shown in the app and written locally. There is no remote logging endpoint.
The app also handles no cryptocurrency private keys at all: a payout address is just a string to it. Nothing signs transactions, and there is no wallet or seed phrase anywhere in it.
Website analytics
We use a privacy-focused analytics service that records page views without cookies and without building a profile of you across sites.
2. Your prompts and what comes back
This depends entirely on which backend serves the request, and the difference is material. We would rather state it precisely than give you a comfortable summary that isn't true of every path.
| Served by | Is your text stored? | Who can see it |
|---|---|---|
| Hosted models the free chat's default |
No. We record only token counts, speed and latency — there is no field anywhere in our database that could hold the text, and nothing ties those numbers to you. | Us: nobody. The upstream model provider receives the prompt in order to answer it and applies its own policy. |
| The node network the API's default, and the chat's network model |
Yes, temporarily. The prompt, the full conversation and the generated reply are held while the job runs and are deleted within 24 hours of it finishing. | The operator of the node that serves it, whose machine runs the model locally on the text. Plus us, in the database, for that window. |
Storing the job is what makes the network work: a request has to sit somewhere until a node collects it, stream its answer back in pieces, and survive being handed to another node if the first one drops out. It is deleted on a sweep that runs every hour, once the job has been finished or failed for 24 hours.
Nobody can read back a conversation that isn't theirs. A job is only readable by the account that submitted it, and free-chat jobs have no account attached, so they are not readable over the API by anyone at all.
3. Where your prompts run
Every API key is either public or private, and that setting decides which machines may see your prompts:
- Private — the request is only ever offered to nodes in your own account. This is enforced when work is handed out, using the node's owner as recorded in our database rather than anything the caller claims. A private key is also refused the hosted models outright, with an error, rather than being quietly sent to a third party.
- Public — the request may be served by any node on the network. Machines can join and serve public work without an account, so the operator may be someone you cannot identify, in a country you did not choose. Their machine processes your prompt in order to answer it.
The free chat is public by nature. Treat both public routes as you would any public service: don't send secrets, credentials, or other people's personal data through them. If the content matters, use a private key and your own nodes.
4. What is public
The network page shows live contributions, and the information behind it is public by design. That includes mining payout addresses, worker names, GPU models, hashrates, VRAM, regions and client versions — and, for nodes whose owner marked them public, the node's name and the model it serves.
Two consequences worth being explicit about. A payout address is a permanent, publicly searchable identifier on its blockchain, so anything shown beside it is linked to it in public and stays linked. And because the worker name defaults to your hostname, the default behaviour publishes your machine's name unless you change it.
Aggregate totals — tokens served across the network — are published as sums only, with no per-user or per-key breakdown.
5. What we don't collect
Stated as specifics rather than reassurance, because each is verifiable in our source code, which is public:
- No IP address logging. Our application records no IP address, no geolocation, no User-Agent and no referrer, and has no database column for any of them. The region shown for a miner is one the operator selects, not one we infer. The honest caveat: any server that answers your browser — our host, the analytics service, the font and script CDNs, the mining pool — necessarily sees your IP address in order to reply, and keeps its own logs. We mean that we don't store one, not that none exists anywhere.
- No device telemetry from the desktop app. It collects no operating system version, username, file paths, MAC address, installed-software inventory or crash-analytics stream, and ships no analytics SDK.
- No cookies of our own, and no cross-site tracking or advertising pixels. Our authentication provider sets what it needs to keep you signed in.
- No email addresses in our database. They stay with the authentication provider.
- No prompt or reply text for hosted-model traffic, as described above.
- No sale of personal information, and no sharing of it for advertising.
6. Third parties
Services that receive data in the course of running LLMJob:
| Service | What it does | What reaches it |
|---|---|---|
| Clerk | Accounts and sign-in | Your email, credentials and session. Loaded only on pages that need sign-in |
| OpenRouter | Serves the hosted models | The conversation for those requests, under its own policy. The call is made by our server, so your IP address and account identity are not passed on |
| Railway | Hosting and database | Everything in section 1, plus its own connection logs |
| Umami | Website analytics | Cookieless page-view data — path, referrer, screen size and language |
| AlphaPool | Mining pool for LLMJob Earn | Your payout address, worker name, shares and hashrate, plus your rig's IP address. The app also briefly contacts every pool region to find the fastest, and looks up your balance by address |
| Google Fonts, unpkg | Serve fonts and scripts to your browser | Your IP address, unavoidably, as with any asset your browser fetches |
| GitHub | Source code, app downloads, update checks, and the inference runtime the app fetches | Your IP address and which file you asked for |
| Hugging Face | Hosts the model weights the desktop app downloads on first run | Your IP address and which model file you asked for |
| CoinGecko, PRLScan | Price and blockchain data for the Earn page and app | Your IP address; we send them no information about you |
| Discord | Community chat | Nothing unless you click through — it is a plain link, not an embed |
Node operators are not our processors. When a public job runs on someone's machine, that person's hardware receives your prompt because that is how the network answers it.
7. How long we keep things
| Data | Kept for |
|---|---|
| Prompts and replies (node network) | Until 24 hours after the job finishes, then deleted automatically |
| Prompts and replies (hosted models) | Never stored |
| Your request logs | The most recent 200 requests per account |
| Anonymous chat performance rows | The most recent 200 across the whole service |
| Aggregate token totals | Indefinitely — sums only, not linked to anyone |
| API keys | Until you revoke them |
| Miner rows | Removed after about 90 minutes without a report |
| Nodes | Unclaimed nodes are removed after 7 days idle; nodes linked to an account are kept until removed on request |
8. Security
Traffic is encrypted in transit. API keys are stored only as hashes. Nodes authenticate with a key pair generated on the machine, whose private half never leaves it — which is why claiming a node requires proof from the node itself rather than a claim from a web page. Access to a job is scoped to the account that created it.
Your node join token is a credential: anyone holding it can attach a machine to your account, which would make it eligible for your private jobs. Keep it secret, and rotate it from the dashboard if you think it has been exposed.
No system is perfectly secure, and we can't promise otherwise. If you find a vulnerability, please tell us privately at help@llmjob.com before disclosing it.
9. Your choices and rights
Some controls are immediate and in your hands:
- Revoke an API key from the dashboard — it stops working at once.
- Switch a key to private to stop its prompts leaving your own machines.
- Make a node private, or disconnect it.
- Change the worker name in the app before you start, so your hostname isn't published.
- Stop mining to stop reporting to the public board; the row ages off by itself.
- Use the free chat without an account at all.
Depending on where you live you may also have rights to access, correct, export, restrict or delete personal data, and to object to processing or complain to a regulator. Ask us at help@llmjob.com and we will respond within the time your law requires.
Being straight with you about one limitation: we do not yet have a self-service "delete my account and everything in it" button, so an erasure request is handled by hand today. It gets done, it just isn't instant.
10. Children
LLMJob is not intended for children under 13, and we do not knowingly collect their personal data. If you believe a child has given us information, contact us and we will delete it.
11. International transfers
Our providers operate internationally, so data may be processed outside the country you live in. Beyond that, the node network is distributed by design: a public request may be served by a machine anywhere in the world. If that matters for your data, use a private key and nodes you control.
12. Changes
We will update this policy as LLMJob changes, and the date at the top will change with it. For material changes we will make a reasonable effort to give notice in the product or the Discord before they take effect.
13. Contact
LLMJob is operated by LowerPropTax, LLC, 1155 Mount Vernon Hwy NE #800, Atlanta, GA 30338, USA. Privacy questions: help@llmjob.com, or ask in Discord.
See also the Terms of Service.