trails/apps/journal/app/routes
Ullrich Schäfer 1462c54df7
Rewrite legal pages per legal review feedback
Imprint:
- Add explicit Streitbeilegung section with the EU ODR link and the
  required statement that we don't participate in consumer dispute
  resolution proceedings.
- Keep structure tight; drop the Haftungsausschluss boilerplate that
  repeated what's already covered by §§ 7-10 TMG.
- Bilingual with EN summaries below each section.

Privacy:
- Reshape around proper GDPR structure: Controller → Data categories &
  purposes → Legal bases → Server logs → Storage durations → Third
  parties → Rights → Complaint authority → (plain-language) Privacy
  Manifest at the end.
- FIX: acceptance of the Terms is NOT consent. Moved from Art. 6(1)(a)
  to Art. 6(1)(b) (Vertragserfüllung), with an explicit note that
  contract acceptance is not consent within the meaning of (1)(a).
- Add explicit Server-Logfiles section (IP / timestamp / method / path
  / status / user-agent; Art. 6(1)(f); 14-day retention).
- Add explicit Storage-duration list (account, Planner sessions,
  magic-link tokens, logs, Sentry).
- Expand third-parties: Sentry, OpenStreetMap (explicit that the
  browser sends IP+UA directly to OSM tile servers, with OSMF privacy
  policy link), Overpass (via our proxy, upstream only sees our
  server), BRouter (self-hosted), SMTP, hosting inside EU under DPA.
- Each section has a short "English." summary paragraph inline below
  the German text, per the feedback format request.
- Privacy Manifest kept as a developer-friendly epilogue; trimmed and
  aligned with current reality (no cookies/localStorage/sessionStorage
  in Planner; no replays; no PII via Sentry).

Terms:
- Add § 2 Mindestalter (16) for Journal accounts; Planner anonymous
  has no age requirement.
- Add § 3 Dienstverfügbarkeit (service availability): operator may
  modify/limit/interrupt/discontinue the service or individual
  accounts.
- Add § 6 Inhalte und Nutzungsrechte: user retains ownership; grants
  operator a limited, non-transferable licence to store/process/
  display content only for operating the service.
- Tighten §4 DB reset, §5 user backup responsibility, and §9 liability
  (standard German DACH tiering: unlimited for intent/gross neg./life-
  body-health; limited to foreseeable damages on cardinal-duty breach
  for slight negligence; otherwise excluded).
- Add §7 rule: no bulk scraping to build competing services.
- Same bilingual format as the other two pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 02:57:29 +02:00
..
activities.$id.tsx Add ClientMap wrapper to avoid lazy() SSR resolution 2026-04-06 22:52:57 +02:00
activities._index.tsx Add ClientMap wrapper to avoid lazy() SSR resolution 2026-04-06 22:52:57 +02:00
activities.new.tsx Implement Journal activity feed (Group 10) 2026-03-24 23:20:04 +01:00
api.auth.login.ts Add 6-digit login code for mobile authentication 2026-04-15 20:56:42 +02:00
api.auth.register.ts Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
api.metrics.ts Add observability: health endpoints, structured logging, metrics, Grafana stack 2026-03-26 22:59:44 +01:00
api.routes.$id.callback.ts Fix CORS on Planner→Journal callback endpoint 2026-03-25 01:16:32 +00:00
api.routes.$id.edit-in-planner.ts Sync notes through GPX, Journal, and Planner roundtrip 2026-04-11 03:35:40 +02:00
api.routes.$id.gpx.ts Add route detail day segment highlighting and per-day GPX export 2026-04-11 00:44:11 +02:00
api.settings.delete-account.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.email.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.passkey.delete.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.settings.profile.ts Add account settings page with passkey management 2026-03-29 10:09:06 +02:00
api.sync.callback.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.connect.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.disconnect.$provider.ts Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
api.sync.webhook.$provider.ts Fix Wahoo import crash for workouts without FIT files 2026-04-04 11:41:28 +01:00
api.v1.activities.$id.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.activities._index.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.auth.devices.$id.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.auth.devices.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.routes.$id.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.routes._index.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.routes.compute.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.v1.routes.test.ts Fix typecheck: add missing unstable_url and unstable_pattern to route test args 2026-04-13 01:10:23 +02:00
api.v1.test.ts Add unit tests for REST API validation and pagination 2026-04-13 00:58:18 +02:00
api.v1.uploads.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
api.well-known.trails-cool.test.ts Implement OAuth2 PKCE auth, discovery, and mobile API client 2026-04-13 00:41:40 +02:00
api.well-known.trails-cool.ts Implement OAuth2 PKCE auth, discovery, and mobile API client 2026-04-13 00:41:40 +02:00
auth.login.tsx Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
auth.logout.tsx Implement Journal auth: passkeys + magic links, no passwords 2026-03-23 17:38:46 +01:00
auth.register.tsx Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
auth.verify.tsx Implement OAuth2 PKCE auth, discovery, and mobile API client 2026-04-13 00:41:40 +02:00
home.tsx Only show add-passkey prompt when user has no passkeys 2026-03-29 10:50:30 +02:00
legal.imprint.tsx Rewrite legal pages per legal review feedback 2026-04-18 02:57:29 +02:00
legal.privacy.tsx Rewrite legal pages per legal review feedback 2026-04-18 02:57:29 +02:00
legal.terms.tsx Rewrite legal pages per legal review feedback 2026-04-18 02:57:29 +02:00
oauth.authorize.tsx Implement OAuth2 PKCE auth, discovery, and mobile API client 2026-04-13 00:41:40 +02:00
oauth.token.ts Implement Journal REST API v1 endpoints 2026-04-13 00:57:27 +02:00
privacy.tsx Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
routes.$id.edit.tsx Implement Journal route management (Group 8) 2026-03-23 22:25:10 +01:00
routes.$id.tsx Add route detail day segment highlighting and per-day GPX export 2026-04-11 00:44:11 +02:00
routes._index.tsx Add ClientMap wrapper to avoid lazy() SSR resolution 2026-04-06 22:52:57 +02:00
routes.new.tsx Implement Journal route management (Group 8) 2026-03-23 22:25:10 +01:00
settings.tsx Add Wahoo activity sync with provider-agnostic framework 2026-04-04 11:22:02 +01:00
sync.import.$provider.tsx Pass workout stats (distance, duration, startedAt) through on import 2026-04-05 19:59:54 +02:00
users.$username.tsx Implement Journal auth: passkeys + magic links, no passwords 2026-03-23 17:38:46 +01:00