Privacy policy
Last updated 2026-10-15. Sources are named in the text.
Cameraman Tower Defense codesGame overview
This policy describes cameramantowerdefense.com as it was built on 15 October 2026. If a script is not listed here, it is not part of the pages. Contact [email protected].

Cookie settings
The buttons in the footer do two things. Cookie settings reopens the choice bar. Hide ad bar stores a second item. Neither choice is a cookie; both are localStorage items:
| Key | Contents | How long |
|---|---|---|
ctd-consent | JSON with choice (granted or denied), ts (time in milliseconds), and gpc when Global Privacy Control set the value. | 180 days, then the bar returns. Choosing again replaces the item. |
ctd-adbar-hidden | 1 when you pressed Hide ad bar, which keeps the floating Adsterra Social Bar from being requested. Removing it with Show ad bar restores the bar. | Until you press Show ad bar or clear site data. It is read before the ad loader is appended, so it holds across visits rather than until the next refresh. |
No ad unit is requested before you Accept. Both Adsterra loaders (one in-page banner and one floating bar) are appended by script only when the stored choice is Accept, and an arriving visit, a Reject and Global Privacy Control all make no request to the ad hosts at all. The in-page slot ships as an empty container and collapses when nothing fills it. The only third-party request that happens before you answer is Cloudflare's cookieless Web Analytics beacon, injected by the platform that serves the site.
One Google tag is on every page: Google Analytics 4, measurement ID G-90LJT9XZF2, served by www.googletagmanager.com. It initializes all four Consent Mode v2 fields as denied and enables ads_data_redaction, so nothing is stored in your browser until you Accept. Accept grants analytics storage only: the page carries no Google ad product, so ad_storage, ad_user_data and ad_personalization stay denied even after Accept. Reject and Global Privacy Control leave every field denied.
Microsoft Clarity (heatmaps and session recordings) has no Consent Mode equivalent, so it is not requested at all until you Accept: the page carries project id yy62xm1lp5 and only a granted choice inserts the clarity.ms loader. After Accept, Clarity may write the first-party cookies _clck and _clsk and upload interaction data such as clicks, scrolling and the text visible in the recorded page to Microsoft, which keeps recordings under its own retention rules. Choosing Reject later stops the recording; reload the page to drop an already-loaded script.
Third parties
| Name | When | Purpose |
|---|---|---|
| Adsterra: bicea.org (delivery host for both units), adsterra.com | Only after Accept, or a stored acceptance that has not expired. A first visit, a Reject and Global Privacy Control request nothing from these hosts. The floating bar also stays off when you pressed Hide ad bar. | Delivery of the two ad units on this site: Native Banner unit 31749682 (in-page) and Social Bar unit 31749683 (floating), both on Adsterra website 6125588, plus impression and click counting and filtering of invalid traffic. Adult formats are switched off for this website. Adsterra receives connection information such as your IP address and browser data, and may set its own cookies or local identifiers on its own domains after Accept. Adsterra is an independent controller for ad delivery; see Adsterra's privacy policy and its cookies policy. |
Google Analytics 4: www.googletagmanager.com and *.google-analytics.com, measurement ID G-90LJT9XZF2 | Loaded on every page view with all four Consent Mode v2 fields denied. Accept grants analytics storage; the ad fields stay denied because no Google ad product runs here. Reject and Global Privacy Control leave every field denied. | Aggregate page-view counts for this site's own reporting. While the choice is denied no analytics cookie is written and nothing is stored in your browser. See Google's privacy policy. |
Microsoft Clarity: www.clarity.ms and *.clarity.ms, project id yy62xm1lp5 | Only after Accept, and only when Global Privacy Control is absent. A first visit and a Reject request no clarity.ms script at all. | Heatmaps and session recordings of page interaction, including connection information and browser or device data. After Accept it may write the first-party cookies _clck and _clsk. See Microsoft's privacy statement. |
| YouTube / Google: youtube-nocookie.com; dependent assets may use youtube.com, ytimg.com, googlevideo.com, ggpht.com, google.com and doubleclick.net | Only after you press a play button, a separate explicit request for external media. Accept alone loads none of them. Reject blocks optional site analytics and ads, but does not disable a video you deliberately request. | Player, thumbnails, media delivery and YouTube's own diagnostics or advertising. The player receives your IP address and browser information; storage or cookies depend on Google's player and browser settings. See Google's privacy policy. Withdraw media loading by leaving or reloading the page; rejecting site consent does not erase Google's data. |
| Fonts | Shipped with the site (Inter, Bebas Neue via files in the build). No fonts.googleapis.com request. | Typography. |
| Cloudflare: cameramantowerdefense.com (hosting), static.cloudflareinsights.com, and Email Routing | Cloudflare serves every page and injects its cookieless Web Analytics beacon on every page view, before you make any choice; the mail obfuscation script it adds is part of that delivery. Accept and Reject do not change it. | Hosting, delivery and security, which process connection information such as IP address, request URL, timestamp and browser headers; aggregate page counts without cookies or cross-site identifiers; and forwarding of mail sent to the contact address to our operator's mailbox. See Cloudflare's privacy policy. |
Outbound links to Roblox, Discord, and Roblox help pages are ordinary links. They load only if you follow them. The ads.txt file on this domain declares one seller, adsterra.com, 3403020, DIRECT — the real publisher id from the Adsterra dashboard for the two units above. No AdSense or other seller line is published because this site carries no AdSense tag, no AdSense unit and no second advertising network.
Legal basis, rights, and ads
The site has no account system. Your consent record remains in the browser; its retention is 180 days, after which a fresh choice is requested. Cookie settings reopens the choice and Reject revokes site consent. The preference is stored to honor your request, including a refusal.
Hosting and network delivery may process IP addresses, request URLs, timestamps and browser headers for delivery and security. Contact email is forwarded through Cloudflare Email Routing to our operator's Gmail mailbox; Cloudflare and Google process mail you choose to send. We use it to answer corrections and privacy requests, retain it only as needed for that correspondence, and accept deletion requests at the domain address above. It is not a subscription list. We do not claim the hosting provider holds no logs.
Contact us to request access, correction or deletion of personal information you supplied. You may also object to processing or contact your applicable supervisory authority. We sell no personal information, and only the ad units described above run on this site.
Advertising here needs your Accept, so a Reject, Global Privacy Control or Do Not Track leaves the Adsterra loaders unrequested. Opt-out pages for participating vendors: Your Online Choices and aboutads.info; Google ads settings covers Google services only and does not apply to Adsterra. Those are external preference tools, not processors loaded by this page. Do Not Track is not read; Global Privacy Control is read and treated as Reject.
I change this policy by editing the page and the date under the title. The previous text is whatever the page said before that date.
