Recl∆Im now carries the six-section legal layer that any
public-facing duty-evaluation tool needs before either the
.app or the web build can go live to an audience beyond the
working group itself.
Sections, in the order a careful reader cares about them:
1. Disclaimer — keine Rechtsberatung, RDG-konform geframed,
T1–T4 Tier-Bedeutung explizit, Demo-Daten klar abgesetzt.
2. EU AI Act Art. 50 — Transparenz-Notice, klare 'kein
Hochrisiko-KI-System nach Anhang III'-Positionierung,
Human-in-the-Loop via system.approval@^0, Modell-Digest
im Audit-Log.
3. Quellen + Urheberrecht — § 5 UrhG-Hinweis für die
dargestellten amtlichen Werke, T1- und T2-Quellen-Liste,
Apache 2.0 für eigenen Code und Methodik.
4. Datenschutz — DSGVO Art. 13-Pflichtangaben, Hosting-
Provider-Platzhalter, Server-Log-Rechtsgrundlage Art. 6
Abs. 1 lit. f, Betroffenenrechte, Berliner
Aufsichtsbehörde.
5. Impressum — § 5 TMG + § 18 Abs. 2 MStV-Pflichtangaben
als Vorlage, ODR-Plattform-Hinweis.
6. Open Source — Apache 2.0, Repo-Link, Commit-Konvention.
Jede Section markiert deployment-spezifische Werte
(Anbieter-Adresse, Hosting-Provider, AVV-Stand,
Kontakt-E-Mail) als [PLACEHOLDER] und der Schlussabsatz weist
ausdrücklich darauf hin, dass eine Volljuristen-Prüfung vor
der ersten öffentlichen Veröffentlichung pflichtig ist.
Plumbing
- ShellPage gets a fifth NavigationRail-Destination 'Recht'
mit gavel-Icon.
- LegalPage scrollt mit ReclaimCard-Sektionen und nutzt
SelectableText überall, damit Reviewer-Zitate direkt
rauskopierbar sind.
- DemoBanner erweitert um 'KEINE Rechtsberatung'-Hinweis und
verweist auf den Recht-Reiter — der politische Disclaimer-
Pfad ist damit aus jeder Datenseite einen Klick entfernt.
flutter analyze: clean. flutter test: 2/2 grün. Web- und
macOS-Build laufen, Recht-Reiter rendert auf beiden Targets
identisch.
Signed-off-by: flemming-it <sf@flemming.it>
47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../theme/reclaim_tokens.dart';
|
|
|
|
/// Permanent banner shown above all data screens in mock mode.
|
|
/// Carries the political-defensibility caveat: this is demo data,
|
|
/// not peer-reviewed, not Juristen-approved.
|
|
class DemoBanner extends StatelessWidget {
|
|
const DemoBanner({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final t = Theme.of(context).textTheme;
|
|
return Container(
|
|
width: double.infinity,
|
|
padding: const EdgeInsets.symmetric(
|
|
horizontal: ReclaimSpace.lg,
|
|
vertical: ReclaimSpace.sm,
|
|
),
|
|
decoration: BoxDecoration(
|
|
color: ReclaimColors.tierT4.withValues(alpha: 0.12),
|
|
border: Border(
|
|
bottom: BorderSide(
|
|
color: ReclaimColors.tierT4.withValues(alpha: 0.55),
|
|
),
|
|
),
|
|
),
|
|
child: Row(
|
|
children: [
|
|
const Icon(Icons.science_outlined,
|
|
size: 18, color: ReclaimColors.tierT4),
|
|
const SizedBox(width: ReclaimSpace.sm),
|
|
Expanded(
|
|
child: Text(
|
|
'Demo-Daten · KEINE Rechtsberatung · Tier T4. '
|
|
'Phase 0, ohne Verbands-Erhebung, ohne Juristen- oder '
|
|
'Beirats-Validierung. Volle Hinweise unter „Recht".',
|
|
style: t.labelSmall?.copyWith(
|
|
color: ReclaimColors.tierT4,
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|