Some checks failed
PR checks / checks (pull_request) Failing after -31s
Step 5 of docs/website/ACCOUNT_DELETION.md (§4.5). The page explains how to delete an account on a community's site and in the app, what goes, what stays and for how long, and who to ask when you cannot sign in. It cannot delete anything, because we hold no account. - The facts are one deployment row in collection.mjs (deletion.goes, .stays with a keep each, .staff), in the website's own words. /privacy section 3 renders it as prose, the page renders its lists, and PLAY_DATA_SAFETY.md prints them under the console's deletion questions. - The app rows that a deletion touches (session, trust token, push, inbox snapshot) say so. The Data Safety notes now answer "yes" to account deletion and name the URL. lastUpdated is 2026-10-30. - D85: linked from the footer's legal bar, /privacy sections 2 and 3, and /app/'s "Two ways to get it". - D86: someone who cannot sign in is sent to their community's operator, never to us. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
54 lines
2.6 KiB
JavaScript
54 lines
2.6 KiB
JavaScript
/**
|
|
* legal.mjs — the handful of values the legal pages and the signup form must agree on.
|
|
* PLAN.md §9, built in phase 6.
|
|
*
|
|
* ---------------------------------------------------------------------------------------
|
|
* WHY THESE THREE THINGS ARE HERE AND NOT IN THE PAGES
|
|
* ---------------------------------------------------------------------------------------
|
|
* Each is stated in more than one place and would be wrong in exactly one of them:
|
|
*
|
|
* `minimumAge` /terms says it, /privacy repeats it, the consent sentence beside the
|
|
* signup checkbox commits somebody to it, and the Play Data Safety notes
|
|
* answer a question about it. Four surfaces, one number (D31).
|
|
* `lastUpdated` A legal page with no date is a legal page nobody can reason about, and
|
|
* two pages with different dates invites the reader to work out which one
|
|
* is stale. They changed together; they say so together.
|
|
* `licence` Quoted on /terms and in the footer.
|
|
*
|
|
* The contact address is deliberately NOT here. It is a `brand.json` field read through
|
|
* `src/lib/brand.mjs` (D13), so that changing the published address stays a file copy on a
|
|
* mount rather than an edit to the source — and `checkFacts.mjs` fails the build if one is
|
|
* typed into any file under `src/`.
|
|
*/
|
|
|
|
export const legal = {
|
|
/**
|
|
* The date the legal pages last changed, in the format they render it.
|
|
*
|
|
* Bump it in the same commit that changes what either page says. It is not generated
|
|
* from git: a build timestamp would move on every rebuild and tell a reader nothing,
|
|
* and a commit date would move when a stylesheet changed.
|
|
*/
|
|
lastUpdated: '2026-10-30',
|
|
|
|
/**
|
|
* The minimum age to sign up for the beta. The org lead's decision, 2026-08-24 (D31).
|
|
*
|
|
* Eighteen, chosen over thirteen and sixteen: it is above the children's-consent
|
|
* threshold in every EEA state, so consent works as a basis with no parental-consent
|
|
* machinery — which this form has no way to obtain and no way to verify. It is the
|
|
* simplest thing to state truthfully for a beta that needs twelve people.
|
|
*
|
|
* A number rather than a sentence because four surfaces render it. What the site can
|
|
* actually enforce is a statement, not a check, and every one of those surfaces is
|
|
* written to say so plainly rather than implying verification that does not happen.
|
|
*/
|
|
minimumAge: 18,
|
|
|
|
/** The licence, quoted on /terms and in the footer. */
|
|
licence: {
|
|
id: 'GPL-3.0-or-later',
|
|
url: 'https://www.gnu.org/licenses/gpl-3.0.html',
|
|
},
|
|
};
|