- Journal: Impressum (§5 TMG), Terms of Service, GDPR privacy page - Registration flow: required ToS checkbox, termsAcceptedAt persisted - Alpha banner on Journal (always visible); alpha badge on Planner hero - Footer with legal links + GitHub on both apps - Reduce PII: sendDefaultPii=false, Sentry init only after login (Journal) - Drop Sentry from Planner (no login, no consent possible) - Drop localStorage caching from i18n client detection - Sync SSR i18n resources each request so locale edits HMR without restart Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 lines
548 B
TypeScript
20 lines
548 B
TypeScript
/**
|
|
* Operator details for the Impressum (§5 TMG / §18 MStV).
|
|
*
|
|
* Required by German law. Address must be a reachable physical address.
|
|
* Email must be a direct contact (no forms-only policy).
|
|
*/
|
|
export const operator = {
|
|
name: "Ullrich Schäfer",
|
|
address: {
|
|
street: "Mehringdamm 87",
|
|
postalCode: "10965",
|
|
city: "Berlin",
|
|
country: "Germany",
|
|
},
|
|
email: "legal@trails.cool",
|
|
// Responsible for content per §18 Abs. 2 MStV
|
|
responsiblePerson: "Ullrich Schäfer",
|
|
} as const;
|
|
|
|
export type Operator = typeof operator;
|