Privacy Policy
1. Who we are
CamWall is operated by the camwall.tv operator, established in Belgium (EU). For privacy matters, contact us at support@camwall.tv. We act as data controller under the GDPR for personal data processed in connection with camwall.tv.
2. What data we collect
Account data (if you register)
If you create a CamWall account, we collect and store in our database (Cloudflare D1):
- Username — required, used to identify your account.
- Email address — optional. We do not send email, and a lost password cannot be recovered. Accounts are not deleted automatically.
- Hashed password — we never store your password in plain text.
- Account creation date and last-seen timestamp — used to see whether an account is still in use.
- Signed-in usage counters — while you are signed in, we keep one row per day you use CamWall with simple counts: how many times you loaded the app, opened a stream, clicked through to a performer's room and added a bookmark, plus the device class you used that day (mobile, tablet or desktop) and the analytics visitor ID (see below) of the first browser you used that day. The row is filed under a pseudonymous key — a keyed hash (HMAC-SHA-256) of your account ID, not the ID itself — that only our server can recompute. No IP address, user-agent or performer names are stored in it. We use it to understand whether people come back and which features they use, so we can improve the product.
- Saved preferences — your filter settings, bookmarks, and wall layout (stored server-side when you are signed in).
- Linked platform account — if you tell us you have a Chaturbate account (a self-declaration we do not check), we store the platform name and the time you confirmed it.
- Sign-in session data — when you sign in, we store the IP address and browser user-agent string you connected with alongside your session record. Sessions last up to 30 days and are refreshed while you stay active; this is standard behaviour of our authentication system (better-auth) and is used for account security.
Age verification
When you pass the age gate, we set a cookie containing a cryptographic token (HMAC-SHA-256). This token records that age was confirmed and the visitor's country code. It does not store your date of birth or any personal identifier.
Pseudonymous product analytics
We use Cloudflare Analytics Engine to collect usage events (for example: "a stream was opened"), stored as one pseudonymous row per event. Only if you allow "Statistics" in the cookie settings, each event carries a pseudonymous visitor ID — a random identifier generated in your browser and kept in that browser's local storage — so repeat visits can be counted. Without that consent nothing is stored on your device for statistics and the event is counted on our server without any visitor ID. Each event also carries a truncated browser user-agent string, the referring site's hostname, the page path you were on, a coarse device class, a country code derived server-side from your connection, the streaming platform the event relates to (always "chaturbate" today) and, where one applies, a short fixed label saying which part of the app the action started from (for example "recent" for the Recently Watched list). Those last two are fixed values chosen from a small allow-list; they describe the app, not you. When the event is about opening or popping out a performer's stream, it also records which performer's stream that was, against the same visitor ID. Events can additionally carry the hostname of the site that first referred you and any UTM campaign values (source, medium, campaign) from the link you arrived by, whether a sign-in session cookie was present (yes or no, never who you are), the screen orientation (portrait or landscape), the scope a filter was applied to (cell, selection or wall) and the number of cells on your wall. The first referring site and UTM values are kept in your browser (local storage) only with "Statistics" consent; without it they are read from the page you landed on and not stored. The analytics events themselves do not contain your name, email or account ID, and the visitor ID is not shared with anyone. If you are signed in and allowed "Statistics", however, the visitor ID of the first browser you use on a given day is also stored in your signed-in usage counters (see above), so the events from that browser can be linked to your account by us. If you are not signed in, nothing links these events to an account. There is no cross-site tracking and no advertising cookies.
Chaturbate sign-ups and purchases (affiliate reports)
CamWall is a Chaturbate affiliate. When you follow a CamWall link and then sign up or buy tokens on Chaturbate, Chaturbate's servers send us a report of that transaction (a "postback"). We store, per transaction, in our Cloudflare D1 database (table cb_postback): the transaction ID and type (sign-up, purchase, chargeback), its time, a pseudonymous Chaturbate user ID (cb_user_id, a number Chaturbate assigns; not your username), the amount, our commission, the currency and number of tokens, the label of the CamWall page type the link came from (for example "camwall-tag") and a short page label (for example "room.sensual"), and the country, region and device class Chaturbate reports. If Chaturbate sends the referring page, we keep only its site and path, never its query string. We do not receive or store your Chaturbate username, name, email, payment details or IP address, and we cannot link these reports to a CamWall account or visitor ID. We use them to account for our commission and to see which kinds of pages bring paying visitors. Retention: 24 months after receipt, then deleted automatically.
Feedback messages
If you submit a feedback message via the in-app form, the message text, the feedback type, the optional contact field, the client-reported page path and browser string, and your username (or "Anonymous" if you are not signed in) are stored in our Cloudflare D1 database (table feedback) so the CamWall team can triage it.
The same submission is also forwarded to a private Discord channel via webhook, together with extra diagnostic fields that are not stored in the database: the browser viewport size, device information (operating-system platform, whether the device is touch-capable, device pixel ratio, screen size and browser language), the CamWall app version you were running (a build number that is identical for every visitor, so it describes the app and not you), and a summary of the CamWall configuration you were using (number of cells, how many were showing a live stream, the active layout preset, the view mode, and the filter settings applied). This configuration summary never includes performer or room names, other users' names, the contents of your bookmarks, or anything you typed into the name-search box. A screenshot you attach to the report is also forwarded to that Discord channel. The screenshot is additionally kept in Cloudflare KV (not in the database) for 180 days, after which it expires automatically; it is only visible to the CamWall administrator, and it may show whatever was on your screen, including performers in embedded streams.
Push notifications (if you opt in)
Enabling bookmark notifications requires an account and stores the browser-supplied push endpoint URL plus two public subscription keys (p256dh and auth) in our Cloudflare D1 database, linked to your account. These are used only to deliver notifications about bookmarked performers going online. They are deleted when you turn notifications off, and are deleted automatically when your account is deleted.
Other short-lived technical data
- Feedback rate limiting — when you submit feedback, your IP address (or your account ID) is used as a counter key in Cloudflare KV to limit spam. These counters expire automatically after 2 hours (hourly cap) or 48 hours (daily cap).
- Release survey — if you are signed in and we show a one-off survey after a release, a flag recording that you have seen it (and whether you answered or dismissed it) is stored against your account ID in Cloudflare KV for 180 days, so we do not ask twice.
3. Cookies and storage
Necessary cookies and storage make the site work and need no consent: the age check, your login, your own settings and saved walls, and your cookie choice itself. Everything else waits for your consent, which you give or refuse in the cookie banner and can change at any time below or through "Cookie settings" in the footer and in the app's settings. Withdrawing is as easy as giving: the storage of a category you switch off is deleted from your browser straight away.
- Statistics — a random visitor ID and the site you first came from, plus which kind of CamWall page you came through (kept for the current tab only), used for the links to Chaturbate.
- Live video from partners — the live streams play in a Chaturbate player embedded in CamWall. Chaturbate can set its own cookies in that player (see the table of third-party cookies below). Until you allow it, CamWall shows a still picture and loads nothing from Chaturbate's player; you can still open every room on Chaturbate.
What CamWall stores on your device
| Name | Type | Category | Purpose | Duration |
|---|---|---|---|---|
cw_consent | Cookie | Necessary | Remembers your cookie choice (version and date). Secure, SameSite=Lax. | 6 months |
age_verified | Cookie | Necessary | Remembers that you confirmed you are 18 or older. Signed token; HttpOnly, Secure, SameSite=Lax. | 1 year |
camwall_age_ok | Local storage | Necessary | Same 18+ confirmation, for the landing page. | Until you clear it |
__Secure-better-auth.… | Cookie | Necessary | Keeps you logged in when you have an account. HttpOnly, Secure, SameSite=Lax. | 30 days |
better-auth.… | Cookie | Necessary | Keeps you logged in when you have an account (HttpOnly; name without prefix on non-HTTPS test hosts). | 30 days |
camwall_staging_gate | Cookie | Necessary | Test environment only: lets the team in. Never set on camwall.tv. | 7 days |
camwall_settings | Local storage | Necessary | Your settings (theme, wall size, sound, hidden rooms, bookmarks). | Until you clear it |
camwall_settings_owner | Local storage | Necessary | Which account the stored settings belong to. | Until you clear it |
camwall_walls_v1 | Local storage | Necessary | Your saved walls. | Until you clear it |
camwall_saved_filters_v1 | Local storage | Necessary | Your saved filters. | Until you clear it |
camwall_active_preset_v1 | Local storage | Necessary | The wall layout you picked. | Until you clear it |
camwall_filter_baseline_v1 | Local storage | Necessary | What the "new since last visit" ticker compares against. | Until you clear it |
camwall-taste-v1 | Local storage | Necessary | The preferences you gave in the quick tour. | Until you clear it |
camwall-onboarding-v1 | Local storage | Necessary | Remembers that you finished or skipped the quick tour. | Until you clear it |
camwall_taste_chip_v1 | Local storage | Necessary | Remembers that you closed the tour hint. | Until you clear it |
camwall_cb_prompt_v1 | Local storage | Necessary | Remembers that you answered the Chaturbate-account question. | Until you clear it |
camwall_howto_v1 | Local storage | Necessary | Remembers that you closed the how-to hint. | Until you clear it |
camwall_filters_hint_v1 | Local storage | Necessary | Remembers that you closed the filters hint. | Until you clear it |
camwall-toolbar-hint-v1 | Local storage | Necessary | Remembers that you closed the toolbar hint. | Until you clear it |
camwall_ticker_dismissed_v1 | Local storage | Necessary | Remembers that you closed the ticker. | Until you clear it |
camwall_firefox_sound_hint_v1 | Local storage | Necessary | Remembers that you closed the Firefox sound hint. | Until you clear it |
camwall_v26_intro_v1 | Local storage | Necessary | Remembers that you saw the "what's new" note. | Until you clear it |
camwall-push-ask-v1:… | Local storage | Necessary | Remembers that you answered the notification question. | Until you clear it |
cw_admin_… | Local storage | Necessary | Site owner only: dashboard view settings. | Until you clear it |
camwall-vid | Local storage | Statistics | A random visitor id (no name, no account), so we can count returning visitors. | Until you withdraw consent or clear it |
camwall_first_touch_v1 | Local storage | Statistics | The website and campaign (host and utm values) you first arrived from. | Until you withdraw consent or clear it |
camwall_portal_v1 | Session storage | Statistics | Which niche page you came through, for links to Chaturbate in this tab. | Until you close the tab |
camwall_entry_v1 | Session storage | Statistics | Which kind of camwall.tv page you came through, for links to Chaturbate in this tab. | Until you close the tab |
We do not use advertising cookies, tracking pixels or third-party analytics. Our fonts are served from camwall.tv itself.
Cookies set by Chaturbate in its player (only after "Live video" consent)
Measured in a real browser on our test site on 23 October 2026, after allowing live video. Purposes are what the names indicate; Chaturbate's own policy is the authority.
| Name | Type | Set by | Likely purpose | Duration |
|---|---|---|---|---|
csrftoken | Cookie | chaturbate.com | Security (protection against forged requests) | About 1 year |
sbr | Cookie | chaturbate.com | Set by Chaturbate's site; purpose not documented | About 400 days |
cf_clearance, __cf_bm | Cookie | chaturbate.com (Cloudflare) | Bot protection | Up to 1 year / 30 minutes |
videoControls, defaultVideoQuality, isTheaterMode, ably-transport-preference, contextID | Local storage | chaturbate.com | Player settings and the live connection | Until cleared |
NRBA_SESSION… | Local storage | chaturbate.com (New Relic) | Performance monitoring of the player | Until cleared |
rc::a, rc::c | Local / session storage | google.com (reCAPTCHA, loaded by the Chaturbate player) | Bot protection | Until cleared / end of session |
These are Chaturbate's cookies under Chaturbate's own privacy policy (chaturbate.com/privacy). CamWall cannot read or delete them; your browser's settings can.
4. Legal basis (GDPR)
- Contract performance — processing account data to deliver your account and saved preferences.
- Consent — everything in the categories "Statistics" and "Live video from partners" (see Cookies and storage): the visitor ID, the stored first referrer and page type, and loading the Chaturbate player. You can withdraw it at any time in the cookie settings.
- Legitimate interest — counting usage events on our server without any identifier on your device, the signed-in usage counters linked to your account, the affiliate reports from Chaturbate (commission accounting), and age-gate enforcement to comply with legal obligations. You can object to the signed-in usage counters at any time by emailing support@camwall.tv; we will then delete your counters and stop recording them for your account.
- Consent — feedback submission is voluntary, as is opting in to push notifications.
5. Data sharing and processors
We do not sell your personal data. We share data only with the following processors:
- Cloudflare, Inc. — infrastructure provider (Workers, D1 database, Analytics Engine, CDN). Cloudflare processes data on our behalf under a Data Processing Addendum. Cloudflare's privacy policy: cloudflare.com/privacypolicy/.
- Discord Inc. — feedback reports (message text, display name, the optional contact field, page path, browser, viewport, device information, app version and a CamWall configuration summary as described above, plus any attached screenshot) are delivered to a private Discord channel operated by the CamWall team. Discord's privacy policy: discord.com/privacy.
Stream content is served by Chaturbate (Multi Media, LLC), a third party. CamWall does not send your account data to Chaturbate, but your browser connects to Chaturbate directly to load thumbnails and, only after you allow "Live video from partners", the live streams. Chaturbate therefore receives your IP address, your browser's user-agent and the referring site (camwall.tv), and its player can set its own cookies. When you open a performer's room on Chaturbate, you are subject to Chaturbate's own privacy policy.
6. Data retention
- Account data is kept as long as your account is active.
- We do not automatically delete inactive accounts. You can ask us to delete your account at any time (see Erasure below).
- Analytics events are stored in Cloudflare Analytics Engine as pseudonymous rows (tied to the visitor ID only if you allowed "Statistics"); they contain no name, email or account ID. Cloudflare keeps them for 3 months and then deletes them.
- Chaturbate affiliate reports (
cb_postback) are kept for 24 months after receipt and then deleted automatically by a daily clean-up job. - Your cookie choice (
cw_consent) is kept for 6 months; after that we ask again. - Signed-in usage counters are kept for 13 months and then deleted automatically by a daily clean-up job. They are also deleted when your account is deleted.
- Feedback screenshots are deleted automatically after 180 days; the release-survey flag after 180 days; feedback rate-limit counters after 2 to 48 hours.
- Feedback reports are kept in the database indefinitely. Marking a report "resolved" in our admin tool only flags it as handled — it does not delete the row. There is no automated deletion or retention window today. If you want a report you sent removed, email support@camwall.tv and we will delete it manually.
- Push notification subscriptions are kept until you turn notifications off or your account is deleted.
7. Your rights (GDPR)
If you are in the EU/EEA, you have the right to:
- Access — request a copy of personal data we hold about you.
- Rectification — ask us to correct inaccurate data.
- Erasure — ask us to delete your account and associated data.
- Portability — receive your data in a structured, machine-readable format.
- Restriction — ask us to restrict processing in certain circumstances.
- Objection — object to processing based on legitimate interest.
Exercise any of these rights by emailing support@camwall.tv. We will respond within 30 days. You also have the right to lodge a complaint with the Belgian Data Protection Authority (dataprotectionauthority.be).
8. Children
CamWall is strictly for adults aged 18 and over. We do not knowingly collect data from minors. If you believe a minor has provided data, contact us immediately at support@camwall.tv.
9. Changes to this policy
We may update this policy. Material changes will be noted on this page with an updated date. Continued use of CamWall after an update constitutes acceptance.
Contact
Privacy questions: support@camwall.tv