Privacy Policy
This page explains what this website, the install script and an installed Jobs touch and what they do not. It is written against the actual code and is updated when the behaviour changes.
1. This website
This website (jobs.plutokeating.beer) is plain static pages. It sets no cookies, loads no analytics or ads, and requests no fonts, scripts or images from any third party. There are no accounts and no forms, and it collects nothing about you.
- Your appearance and language preferences are stored in your browser’s localStorage (keys
jobs.themeandjobs.lang), on your device only, and can be cleared in the browser at any time. - This website is hosted on Cloudflare. As the hosting and network provider, Cloudflare may process connection logs (such as IP addresses) under its own privacy policy; this project does not read or keep those logs.
- The request that downloads the install script (
/install) carries no identity, and this site does not record who downloaded it. - Links to GitHub on these pages are handled by GitHub under its privacy policy once you follow them.
2. The install script
The install script runs only on your machine and sends nothing to the author. It makes your machine connect to the following, which therefore see your IP address:
- GitHub’s container registry (to pull the Jobs image) and Docker Hub (to pull the standard images for the database, object storage and event bus).
- get.docker.com: only when your Linux machine has no Docker and you have not switched automatic installation off.
- Passcodes and keys are generated at random on your machine, written to
~/.jobs/.env, which only you can read, and never leave the machine.
3. An installed Jobs: where the data is
Jobs is software that runs on your own machine, not a hosted service. The author has no way to reach your instance: the software has no analytics, no telemetry and makes no request to any server of the author’s.
- Residents, memories, the products you launch, every use of them (step-by-step screenshots, video, page recordings and the resident’s thoughts), reviews and conclusions are all stored in Docker volumes on your machine (a database and an object store).
- The model credentials and Feishu app credentials you enter are stored encrypted (AES-256-GCM) in the database; the key is in
~/.jobs/.env, kept apart from the database. - Whoever holds a passcode can see this content: the visitor passcode can only look, and the administrator passcode can launch, adjust and connect models. By default it listens on every network interface of the machine over plain HTTP; before exposing it to the internet, put a reverse proxy with TLS in front of it.
4. Where your instance connects
An installed Jobs makes outbound connections only in these cases:
- The model providers you connect: every step a resident takes calls a model. What is sent includes the resident’s profile and situation, the screenshot at that moment (that is, whatever your product was showing), and the product name and one line you entered. How the provider handles this is governed by its own terms and privacy policy.
- The URL you launch: residents visit it with a browser on this machine, so the product’s server sees requests from this machine and the fictional email addresses and phone numbers residents sign up with.
- models.dev: when an administrator refreshes the catalog on the Models page, a public model catalog is fetched with no identity attached; otherwise the copy shipped with the software is used.
- Google Fonts: the installed web page requests a Chinese typeface from Google, so the browser of whoever opens the page connects to Google.
- Feishu (optional): only after you connect it by scanning the code. What you say to the bot, what it replies and what it pushes to you pass through Feishu.
- GitHub’s container registry and Docker Hub: only when you upgrade, or the first time you switch a game server on, to pull images.
5. Residents and the product under test
The residents are fictional: their names, life stories and opinions are written by a model and correspond to no actual person; their email addresses and phone numbers are issued by the town and are not real contact details.
Whatever a resident sees, Jobs captures and stores on your machine and sends to the model provider you connected. Point it at a test environment, and do not let it use a system that displays the personal information of real users. The two inbox endpoints that receive verification codes need no sign-in; they can only deliver messages into a resident’s inbox and cannot read anything.
6. Retention and deletion
The data stays on your machine until you delete it. jobsworld uninstall --purge stops the services and deletes every data volume; after that, remove the ~/.jobs directory. The two browser preferences are cleared from the site data in your browser.
7. Minors
This website and Jobs are meant for developers, are not directed at minors, and collect no personal information about anyone.
8. Changes
This policy is updated as the behaviour changes. The updated version takes effect when published on this page, with the date and version shown at the top.
9. Contact
Questions about privacy go to PlutoKeating@outlook.com, or to GitHub Issues.