Bingle is an 18+ anonymous random text chat. These terms are a draft pending human legal review. They describe how the product in this repository actually works, not a future video product.
Draft placeholder. Entity: Operating entity not yet incorporated
Draft placeholder. Grievance email: grievance@example.invalid
Draft placeholder. First-reply SLA: 72 hours
Who these terms are with
There is no incorporated company named in this repository. Until an entity is formed, treat the operator as a draft placeholder: Operating entity not yet incorporated.
A human must replace this with the real legal name, address, and governing law before launch.
You must be 18 or older
This is an adult product. You may use it only if you are 18 or older. Minors are the largest enforcement category we design for.
Confirming you are 18 is a declaration, not identity-document age assurance. If the text filter Flags a message under the minor rule, the server sets users.restricted_at (not a row in bans), bumps token_version so current access tokens fail verification, and WebSocket authenticate then refuses the account. Further sends from that account end the session without delivering. Operator bans (the bans table) remain a separate path.
Accounts
You can use the product anonymously. The server creates a user id and a generated alias. Identity, entitlements, session state, gender, trust score, and coin balance are always re-checked on the server. Client-sent claims are ignored.
An email and password are needed only if you register (for example to purchase later). Registration stores a password hash, not the password.
Chat and matching
Text is relayed through our servers over a WebSocket. Phase 0 does not include video, camera, or file sharing.
Matching uses language and optional interests. Filters such as gender or region are entitlement-checked on the server. Skip ends the session and requeues you. Leave ends the session without requeue. Block is permanent and survives reconnect.
Chat history consent
Random-chat messages are not stored by default. If at least one person in a match has the history entitlement, the server writes message bodies for that session. When that happens, match.found includes historyEnabled. The chat UI shows a persistent indicator. If you are not comfortable, skip.
Direct messages are different: they are stored by default until you delete a message for yourself (delete-for-me) or your account is purged after scheduled deletion. We do not claim that we do not store DMs.
This consent model is the most likely privacy complaint in Phase 0. A human legal review may require a different approach. These terms are a draft pending counsel.
Acceptable use
Follow the community guidelines. Do not involve minors, exchange contact details to lure someone, solicit sexual content from unwilling peers, use hate speech, spam, or evade bans.
We filter text on the server. Reports use a fixed reason list with no free-text field in this version.
Premium, coins, and entitlements
Premium features and coin spends are enforced only on the server. Faking a flag in the client does nothing.
There is no live payment processor in this tree. Checkout currently runs against a stub. Do not treat prices in planning docs as an offer until a merchant of record is contracted.
Geo-block
Operators can set BLOCKED_COUNTRIES (ISO 3166-1 alpha-2). When that list is non-empty, the API reads the CF-IPCountry request header and refuses blocked countries with HTTP 403. If the header is missing, the check fails closed (also 403). An empty list turns the check off. GET /api/v1/public/geo returns {blockedCountries} from that same config (no auth). When the list is non-empty, the geo-block middleware wraps the API, including that listing.
Export and deletion
Signed-in users can download a JSON export of their own account and schedule deletion from /settings/data. POST /api/v1/me/delete sets deletion_requested_at and invalidates current tokens; the users row is not dropped on that request. A retention job hard-deletes the account after a 30-day hold. Scope, what is omitted, and what the 90-day evidence/message purge actually deletes are in Privacy. Do not treat this draft as counsel-approved.
No warranty
The product is provided as-is. Strangers can be abusive. We moderate text and provide report, block, and skip, but we do not guarantee a safe conversation.
Changes
We may update these terms. The date at the top is the draft date, not a publication by counsel.