8aa65014b4
Roadmap item #11. Ships the non-modal bottom-of-page cookie consent banner, the default /privacy and /cookies policy pages, the `cookie_consent` table + two §17 endpoints for server-side persistence, the localStorage fallback for anonymous viewers, the /settings "Privacy & cookies" tab for revisiting the choice, and the `frontend/src/lib/consent.js` helper that roadmap item #13's analytics SDK (v0.15.0) will gate against. No analytics SDK ships in this release — the consent infrastructure goes in first so the gate is already in place. Adds SPEC §14.5 / §14.6, lists two new endpoints in §17, names the new table in §5, and surfaces four §19.2 candidates (content-repo file vs env-var policy, GPC / DNT headers, i18n, item-#13 dependency). Two new optional env vars (`VITE_PRIVACY_POLICY_URL`, `VITE_COOKIES_POLICY_URL`) — defaults render the framework's stub pages. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
2.3 KiB
Bash
52 lines
2.3 KiB
Bash
# Frontend build-time configuration. Copy to `frontend/.env` and fill in.
|
|
#
|
|
# Vite picks up VITE_* variables from these files at build (`npm run build`)
|
|
# and dev (`npm run dev`) time. Real `.env` files are gitignored; only this
|
|
# `.env.example` is committed.
|
|
|
|
# The user-visible name of this deployment. Used as the browser tab title,
|
|
# the header brand, and the landing page H1. Required — the framework
|
|
# ships no default on purpose so each deployment names itself. If unset,
|
|
# `npm run build` fails with a clear message.
|
|
#
|
|
# Examples:
|
|
# VITE_APP_NAME=Wiggleverse RFC
|
|
# VITE_APP_NAME=Wiggleverse Open Human Model
|
|
VITE_APP_NAME=
|
|
|
|
# Optional contact line shown on the /beta-pending page when a deployment
|
|
# is in private-beta mode (i.e. the backend's `allowed_emails` table has
|
|
# rows). Free-text — an email address, a URL, or a one-line instruction
|
|
# tells visitors how to request an invitation. If unset, the page falls
|
|
# back to a generic "contact the deployment operator" line.
|
|
#
|
|
# Examples:
|
|
# VITE_BETA_CONTACT=ben@wiggleverse.org
|
|
# VITE_BETA_CONTACT=DM @ben on Matrix
|
|
VITE_BETA_CONTACT=
|
|
|
|
# Optional URL to the deployment's privacy policy (v0.13.0+, SPEC §14.5).
|
|
# The framework ships a minimal default privacy policy at `/privacy`
|
|
# that describes the framework's stance and lists the cookies the
|
|
# framework sets. When this var is set to an http(s) URL, the page
|
|
# renders the framework's stub above a link to the configured URL —
|
|
# deployments use this to layer their own policy content on top
|
|
# without forking the framework. Unset is OK; the stub is sufficient
|
|
# for a deployment that has nothing specific to add.
|
|
#
|
|
# Examples:
|
|
# VITE_PRIVACY_POLICY_URL=https://wiggleverse.org/privacy
|
|
VITE_PRIVACY_POLICY_URL=
|
|
|
|
# Optional URL to the deployment's cookies policy (v0.13.0+, SPEC §14.6).
|
|
# Same shape as VITE_PRIVACY_POLICY_URL. The framework's default
|
|
# `/cookies` page lists exactly which cookies the framework sets
|
|
# (rfc_session, the consent-choice localStorage entry); a deployment
|
|
# that adds its own cookies (analytics SDK once #13 lands, third-party
|
|
# embeds) points this var at a page that documents the full list.
|
|
# Unset is OK; the stub is sufficient for a default-config deployment.
|
|
#
|
|
# Examples:
|
|
# VITE_COOKIES_POLICY_URL=https://wiggleverse.org/cookies
|
|
VITE_COOKIES_POLICY_URL=
|