From 1ba7674782046cbf385cf37c808e62562cdd296b Mon Sep 17 00:00:00 2001 From: gadgethd <111318106+gadgethd@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:49:42 +0000 Subject: [PATCH] style(privacy): match site-prose/prose-section layout of sibling pages --- frontend/src/pages/PrivacyPage.tsx | 56 +++++++++++++++++------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/frontend/src/pages/PrivacyPage.tsx b/frontend/src/pages/PrivacyPage.tsx index f1a9062..f7a2d97 100644 --- a/frontend/src/pages/PrivacyPage.tsx +++ b/frontend/src/pages/PrivacyPage.tsx @@ -6,14 +6,23 @@ import React from 'react'; * Art 6(1)(f)). Full assessment: docs/privacy.md in the repository. */ export const PrivacyPage: React.FC = () => ( -
-

Privacy

+
+
+

Privacy

+

+ This page explains what data the site collects, why, how long it is kept, + and how to exercise your rights. Both the browser diagnostics and the mesh + packet database are processed under the lawful basis of{' '} + legitimate interest (reliability, bug fixing, and operating + the network) — the full assessment is in the project repository. +

+
-
+

Error diagnostics

- The site automatically records errors that happen in your browser so we - can find and fix faults. When an error occurs we store: + The site automatically records errors that happen in your browser so we can + find and fix faults. When an error occurs we store:

  • a truncated error message and stack trace,
  • @@ -23,13 +32,12 @@ export const PrivacyPage: React.FC = () => (

We do not collect your name, email, account details, or - anything that identifies you personally. This is processed under the - lawful basis of legitimate interest (reliability and - bug fixing) and is kept for 30 days. + anything that identifies you personally. Diagnostics are kept for{' '} + 30 days, then deleted automatically.

-
+

Mesh network data

The site stores radio packets observed on the MeshCore network so the @@ -45,10 +53,10 @@ export const PrivacyPage: React.FC = () => ( 30 days, then deleted automatically.

  • - Path metadata (which nodes a packet travelled - through, timing, signal quality) — retained for network analytics. - It contains node identifiers and timing only, never message content, - and is stored indefinitely in pseudonymous form. + Path metadata (which nodes a packet travelled through, + timing, signal quality) — retained for network analytics. It contains + node identifiers and timing only, never message content, and is stored + indefinitely in pseudonymous form.
  • Aggregate statistics (per-day/hour counts) — retained @@ -56,26 +64,24 @@ export const PrivacyPage: React.FC = () => (
  • - This is processed under the lawful basis of{' '} - legitimate interest (operating and improving the - network). Node identifiers can be linked to individuals only when a - node owner has registered their node in the owner portal; in that case - we can delete that node's data on request. + Node identifiers can be linked to individuals only when a node owner has + registered their node in the owner portal; in that case we can delete that + node's data on request.

    -
    +

    Your rights

    - Under the UK GDPR you can request access to, correction of, or deletion - of personal data we hold about you. Because error diagnostics cannot be - linked to individuals, deletion there happens automatically via the - 30-day retention. For node-linked data, contact us and we will remove - the relevant records. + Under the UK GDPR you can request access to, correction of, or deletion of + personal data we hold about you. Because error diagnostics cannot be linked + to individuals, deletion there happens automatically via the 30-day + retention. For node-linked data, contact us and we will remove the relevant + records.

    Contact: ukmesh@proton.me

    -
    + );