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

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:

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 byIs 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.

We do not use anything you send, or anything a model returns to you, to train or fine-tune models — ours or anyone else's.

3. Where your prompts run

Every API key is either public or private, and that setting decides which machines may see your prompts:

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:

6. Third parties

Services that receive data in the course of running LLMJob:

ServiceWhat it doesWhat reaches it
ClerkAccounts and sign-inYour email, credentials and session. Loaded only on pages that need sign-in
OpenRouterServes the hosted modelsThe 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
RailwayHosting and databaseEverything in section 1, plus its own connection logs
UmamiWebsite analyticsCookieless page-view data — path, referrer, screen size and language
AlphaPoolMining pool for LLMJob EarnYour 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, unpkgServe fonts and scripts to your browserYour IP address, unavoidably, as with any asset your browser fetches
GitHubSource code, app downloads, update checks, and the inference runtime the app fetchesYour IP address and which file you asked for
Hugging FaceHosts the model weights the desktop app downloads on first runYour IP address and which model file you asked for
CoinGecko, PRLScanPrice and blockchain data for the Earn page and appYour IP address; we send them no information about you
DiscordCommunity chatNothing 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

DataKept 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 logsThe most recent 200 requests per account
Anonymous chat performance rowsThe most recent 200 across the whole service
Aggregate token totalsIndefinitely — sums only, not linked to anyone
API keysUntil you revoke them
Miner rowsRemoved after about 90 minutes without a report
NodesUnclaimed 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:

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.