Vibeworld Privacy Policy
Last updated: July 22, 2026
The honest summary: Vibeworld is a game made of real coding sessions. When you opt a session in, parts of it become visible to every other player — that is the product, not a side effect. We use that data to run the game and for nothing else. We don't sell it, we don't profile you with it, we don't train AI models on it. Sessions are private by default; nothing leaves your machine until you say so. Questions you deliberately ask a district resident are a separate, clearly labeled AI feature described below.
1. What we collect, and when
Nothing is transmitted unless you explicitly opt a Claude Code session in with /world on. For opted-in sessions only, the game client (the "harness" running on your machine) transmits:
- Your handle — the public name you chose.
- Your prompts, after local redaction (see §3).
- Approval/notification messages shown by Claude Code.
- Tool names only (e.g. "Bash") — never tool arguments, commands, file paths, file contents, or diffs.
- Short snippets of Claude's replies — only if you additionally
enable
shareReplies; first paragraph, 200 characters, redacted, and never anything containing a code block. - Coarse region — a country code or timezone name (e.g. "Europe/Istanbul"), used to place you in a district. Never GPS, never precise location, never your IP stored.
- Gameplay state — position on the fictional map, level, chat messages you type in-game.
- District-resident conversations — only when you deliberately ask an in-world resident a question. Your question and up to the last eight messages in that resident conversation are sent to our AI provider to generate the reply. Do not paste secrets, private code, or personal data.
2. Who can see it
Other players. Everything above is broadcast into the shared world — prompts and chats to players near you, your presence to anyone who walks by. Treat anything you share as public. District-resident questions are not broadcast to other players; they are processed by OpenAI to generate the resident's private reply.
3. Redaction (best effort, not a guarantee)
Before anything leaves your machine, the harness scrubs: API keys and tokens (AWS, GitHub, Slack, OpenAI-style, JWTs, bearer tokens), private keys, long hex/base64 strings, email addresses, and phone numbers. Prompts that mention street addresses, SSNs, or passport numbers are dropped entirely. Redaction is a seatbelt, not a guarantee — the real control is that you choose which sessions go public. Don't type secrets into public sessions.
4. What we do NOT do
Your data is used for one purpose only: running the game you're playing. It is never used for anything else — not sold, not rented, not shared for anyone else's purposes, not advertised with, not profiled, not mined, and not used to train AI models. Concretely:
- No selling data or sharing it with third parties for their own purposes. Stripe, GitHub, Resend, and OpenAI act only as service providers for the payment, repository, email, and optional resident features you invoke.
- No advertising, no tracking pixels, no analytics beyond server logs.
- No training of AI models on your data.
- No profiling or secondary use — game data runs the game, payment data processes your payment, nothing is repurposed.
- No collection from sessions you did not opt in. Off is off.
5. Retention — what we store, exactly
The world is largely ephemeral: prompts and chats live as in-game speech bubbles and expire in seconds; presence data lives in server memory and is garbage-collected minutes after you leave. Standard web-server logs rotate briefly. Our one durable database stores exactly this:
- Your handle and its authentication key, and your level/progress.
- Your email — only inside the signed login token you hold, and in durable records where it must exist: as a bounty's poster or solver, as a GitHub-account link, and as the pointer to your payout account.
- Bounties — repo, issue number, title, amounts, state and payment references. These are financial records and are kept.
- Your GitHub identity (numeric account ID + username) if you link it. The GitHub access token from linking is used once to read your account ID and never stored.
- A reference to your Stripe payout account if you set one up — an opaque ID, never your bank details.
We never store: prompt or reply text, tool arguments, code, diffs, GPS or
addresses, card numbers, bank accounts, or passwords (none exist). Resident
conversation history lives only in the open game tab and disappears on reload;
our OpenAI request sets store: false. OpenAI may retain limited
abuse-monitoring logs under its API data policy.
6. AI district residents
Each district has an optional resident you can question about that district, Vibeworld, its features, and possible future versions. The server sends the short conversation to OpenAI's Responses API with a district-specific prompt. The API key and system prompt remain server-side. Residents cannot inspect your screen, account, local files, repository, or coding session, and their answers may be wrong. OpenAI states that API inputs and outputs are not used to train its models by default; its own API data policy applies.
7. Payments
Purchases and bounty funding are processed by Stripe. Your card details go to Stripe, never to us; solver payout details (bank, identity) go to Stripe, never to us. Stripe's own privacy policy applies. We keep only the checkout/payment references needed to issue licenses, release bounty payouts and process refunds.
8. Your choices
- /world off — stop sharing a session instantly.
- Delete
~/.claude-world/— removes the harness config and all opt-in flags from your machine. - Uninstall the hooks from
~/.claude/settings.json— total removal. - Contact us to delete your handle, progress, and license records.
9. Children
Vibeworld is not directed at children under 13, and we do not knowingly collect their data.
10. Changes
If this policy changes, the date above changes, and material changes will be announced in the world and on the landing page before they take effect.