Privacy policy, terms of service, cookie policy + a cookie notice
Three plain-language documents in both app languages (lib/legal.ts, rendered by components/LegalPage.tsx): /privacy describes the local-first storage, the key never leaving the browser and the three opt-in server copies (sync, reminders, reports); /terms covers the GPL-3.0-only software, your own Ollama key, fair use and liability; /cookies states what is true — no cookies at all (no Set-Cookie, no document.cookie), strictly-necessary local storage instead, no tracking. A cookie notice tells every new browser the same thing once and remembers the dismissal (freezmo.consent.v1). It sits at z-44: below the immersive study feeds so it can never cover a session, above the phone tab bar. Settings links all three documents. The regression suite checks the pages render with real sections and that dismissing the notice sticks. Version 0.1.7, SW -> freezmo-v53.
This commit is contained in:
parent
df34337b4a
commit
464781a7fd
13 changed files with 583 additions and 2 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import type { Metadata, Viewport } from "next";
|
||||
|
||||
import { IceBackdrop } from "@/components/IceBackdrop";
|
||||
import { CookieConsent } from "@/components/CookieConsent";
|
||||
import { InstallSheet } from "@/components/InstallSheet";
|
||||
import { OfflineBanner } from "@/components/OfflineBanner";
|
||||
import { ServiceWorkerRegistrar } from "@/components/ServiceWorkerRegistrar";
|
||||
|
|
@ -104,6 +105,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
|||
{children}
|
||||
<InstallSheet />
|
||||
<OfflineBanner />
|
||||
<CookieConsent />
|
||||
<Toaster />
|
||||
<ServiceWorkerRegistrar />
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue