Short version
Cookies on this site fall into two groups:
- Strictly-necessary cookies (session, CSRF, language). These make the site work and, under the ePrivacy Directive, do not require consent.
- Analytics cookies (Google Analytics). Set only if you click "Accept analytics" in the cookie banner. Reject — or simply ignore the banner — and no analytics script is loaded and no analytics cookie is set. You can change your choice any time via the Cookie settings link in the footer.
Strictly-necessary cookies we set
| Name | Purpose | Lifetime | Necessary? |
|---|---|---|---|
sessionid |
Keeps you logged in. Set by Django when you sign in to the forum. | Session (cleared when you log out or close your browser). | Yes — required for logged-in features. |
csrftoken |
Cross-site request forgery token. Protects against malicious sites tricking your browser into making requests on your behalf. | 1 year | Yes — required for any form submission (login, registration, posting). |
django_language |
Remembers the interface language you selected via the language switcher. | 1 year | Optional in theory — the site falls back to your browser's Accept-Language header if it's missing. Contains no advertising or tracking data. |
We also keep a value in your browser's localStorage (technically not a cookie): mh_cookie_consent records your analytics choice. It never leaves your browser.
Analytics cookies (only with your consent)
If — and only if — you accept analytics, we load Google Analytics 4 (gtag.js), which sets:
| Name | Purpose | Lifetime |
|---|---|---|
_ga |
Distinguishes individual visitors via a randomly generated client id. | 2 years |
_ga_<container-id> |
Persists session state for this specific GA property. | 2 years |
Google Analytics tells us, in aggregate, which pages are visited, roughly where visitors come from, and which downloads are popular, so we can improve the site. We enable IP anonymisation, and we do not use it for advertising — Google Signals and ad personalisation are off.
The data is processed by Google Ireland Limited (with onward processing by Google LLC in the United States) as our processor. The legal basis is your consent (GDPR Art. 6(1)(a)); see the Privacy Policy for the international-transfer safeguards and your right to withdraw.
Withdrawing consent
Click Cookie settings in the page footer to reopen the banner and change your choice. Choosing "Reject" stops any further analytics loading; you can also delete the _ga* cookies through your browser at any time.
What we do NOT set
- No advertising cookies (we don't run ads).
- No social-media cookies (Facebook Pixel, Twitter/X, etc.).
- No third-party content delivery network (CDN) tracking cookies.
- No fingerprinting techniques as a substitute for cookies.
Cookies from embedded content
We do not currently embed any third-party widgets that would set their own cookies (no YouTube embeds, no Twitter timelines, no Facebook Like buttons). If we ever do, this page will be updated and a per-widget consent prompt will appear next to the embedded content ("Click to load YouTube" pattern).
Anti-spam (Cloudflare Turnstile)
Registration and contact-form submissions are protected by Cloudflare Turnstile, a privacy-respecting CAPTCHA alternative. Turnstile does NOT use tracking cookies — it analyses the request itself (e.g., browser fingerprint heuristics) to determine if it is human, in a way that doesn't follow you across the web. See Cloudflare's documentation for technical details.
How to opt out of analytics
- Click Reject in the banner, or Cookie settings in the footer, to keep the site analytics-free.
- The strictly-necessary cookies are required for logged-in features; to avoid them, browse logged-out or use private/incognito mode.
- Delete your account if you no longer want to participate.
Questions
If anything here is unclear, email meshhold@gmail.com.
Questions about this document? Email meshhold@gmail.com.