From ef272444a180da1316cc60380b38f39cee5c686c Mon Sep 17 00:00:00 2001 From: amertensreplit <49614208-amertensreplit@users.noreply.replit.com> Date: Wed, 10 Jun 2026 21:19:05 +0000 Subject: [PATCH] Impressum und Haftungsausschluss auf der Public Page (Task #27) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added legally required Impressum and Haftungsausschluss pages plus a global footer and an inline disclaimer on the scan report. Changes: - New page src/pages/impressum.tsx (/impressum) with avameo GmbH legal details (address, management, register, tax IDs, content responsible, contact, EU ODR). - New page src/pages/haftungsausschluss.tsx (/haftungsausschluss) with the verbatim SkillGuard disclaimer (no detection guarantee, own responsibility, liability limitation). - Registered both routes in src/App.tsx. - Added a discreet global footer in src/components/layout.tsx below the main content: "© 2026 avameo GmbH" + links to Impressum and Haftungsausschluss. Placed inside the existing scroll container so layout/scroll behaviour is intact. - Added a short inline disclaimer Alert near the risk score on src/pages/scan-report.tsx with a link to the Haftungsausschluss page; imported ShieldAlert from lucide-react. All texts are in German and verbatim from the task spec. Pages reuse the app layout (sidebar) and adapt to dark/light theme. Notes / deviations: - Could not render a live scan report to visually confirm the inline disclaimer because the dev DB is missing the "scans.description" column (pre-existing schema drift from another in-flight task); Impressum, Haftungsausschluss and footer were verified via screenshots. - Pre-existing TypeScript/codegen errors in api-client-react and unrelated test failures were left untouched (out of scope). Replit-Task-Id: 52a25f19-46b2-4882-b754-268225e4680e --- artifacts/skillguard/src/App.tsx | 4 + .../skillguard/src/components/layout.tsx | 13 +++ .../src/pages/haftungsausschluss.tsx | 58 +++++++++++++ artifacts/skillguard/src/pages/impressum.tsx | 81 +++++++++++++++++++ .../skillguard/src/pages/scan-report.tsx | 15 +++- 5 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 artifacts/skillguard/src/pages/haftungsausschluss.tsx create mode 100644 artifacts/skillguard/src/pages/impressum.tsx diff --git a/artifacts/skillguard/src/App.tsx b/artifacts/skillguard/src/App.tsx index 0996547..ca0b757 100644 --- a/artifacts/skillguard/src/App.tsx +++ b/artifacts/skillguard/src/App.tsx @@ -11,6 +11,8 @@ import ScanReport from "@/pages/scan-report"; import ScanCompare from "@/pages/scan-compare"; import ScanHistory from "@/pages/scan-history"; import Admin from "@/pages/admin"; +import Impressum from "@/pages/impressum"; +import Haftungsausschluss from "@/pages/haftungsausschluss"; const queryClient = new QueryClient(); @@ -24,6 +26,8 @@ function Router() { + + diff --git a/artifacts/skillguard/src/components/layout.tsx b/artifacts/skillguard/src/components/layout.tsx index bc4d299..c4a3c1b 100644 --- a/artifacts/skillguard/src/components/layout.tsx +++ b/artifacts/skillguard/src/components/layout.tsx @@ -68,6 +68,19 @@ export function AppLayout({ children }: { children: React.ReactNode }) {
{children}
+
+
+ © 2026 avameo GmbH + +
+
diff --git a/artifacts/skillguard/src/pages/haftungsausschluss.tsx b/artifacts/skillguard/src/pages/haftungsausschluss.tsx new file mode 100644 index 0000000..4f1f81e --- /dev/null +++ b/artifacts/skillguard/src/pages/haftungsausschluss.tsx @@ -0,0 +1,58 @@ +import { Card, CardContent } from "@/components/ui/card"; +import { ShieldAlert } from "lucide-react"; + +export default function Haftungsausschluss() { + return ( +
+
+

+ + Haftungsausschluss +

+
+ + + +
+

+ Keine Gewähr für die Erkennung kompromittierter Skills +

+

+ SkillGuard ist ein automatisiertes, unter anderem KI-gestütztes Analysewerkzeug, das Skills + auf potenzielle Sicherheits- und Datenschutzrisiken untersucht. Die Ergebnisse stellen eine + unterstützende Einschätzung dar und sind weder eine abschließende noch eine rechtsverbindliche + Bewertung. +

+

+ Trotz sorgfältiger Analyse kann nicht garantiert werden, dass sämtliche kompromittierten, + schädlichen oder anderweitig riskanten Skills erkannt werden. Ein unauffälliges Prüfergebnis + (z. B. „Freigabe") bedeutet nicht, dass der untersuchte Skill frei von Sicherheitslücken, + Schadcode oder Datenschutzverstößen ist. Umgekehrt können Auffälligkeiten gemeldet werden, die + sich im Einzelfall als unkritisch erweisen (Fehlalarme). +

+
+ +
+

Eigenverantwortung

+

+ Die Nutzung der Analyseergebnisse erfolgt auf eigene Verantwortung. Die Entscheidung über den + Einsatz eines Skills sowie alle daraus resultierenden Folgen liegen allein beim Nutzer. + SkillGuard ersetzt keine manuelle sicherheitstechnische Prüfung durch qualifizierte + Fachpersonen. +

+
+ +
+

Haftungsbeschränkung

+

+ Eine Haftung für Schäden, die aus der Verwendung oder Nichtverwendung der bereitgestellten + Analyseergebnisse entstehen, ist – soweit gesetzlich zulässig – ausgeschlossen. Unberührt + bleibt die Haftung für Vorsatz und grobe Fahrlässigkeit sowie für Schäden aus der Verletzung + des Lebens, des Körpers oder der Gesundheit. +

+
+
+
+
+ ); +} diff --git a/artifacts/skillguard/src/pages/impressum.tsx b/artifacts/skillguard/src/pages/impressum.tsx new file mode 100644 index 0000000..fd72c21 --- /dev/null +++ b/artifacts/skillguard/src/pages/impressum.tsx @@ -0,0 +1,81 @@ +import { Card, CardContent } from "@/components/ui/card"; +import { FileText } from "lucide-react"; + +export default function Impressum() { + return ( +
+
+

+ + Impressum +

+
+ + + +
+

avameo GmbH

+

Unter den Eichen 5 G-I

+

65195 Wiesbaden

+

Deutschland

+
+ +
+

Geschäftsführender Gesellschafter

+

Andreas Mertens

+
+ +
+

Handelsregistereintrag

+

Amtsgericht Wiesbaden

+

HRB 30601

+
+ +
+

Umsatzsteuer-ID gemäß § 27 a Umsatzsteuergesetz

+

DE 320 535 191

+
+ +
+

Steuernummer

+

040 228 90897

+
+ +
+

Inhaltlich verantwortlich gemäß § 5 DDG

+

Andreas Mertens

+
+ +
+

Kontakt

+

Telefon: +49 (0) 611 181 77 39

+

+ E-Mail:{" "} + + office@avameo.de + +

+
+ +
+

Hinweis auf EU-Streitschlichtung

+

+ Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: +

+

+ + https://ec.europa.eu/consumers/odr + +

+

Unsere E-Mail-Adresse finden Sie oben im Impressum.

+
+
+
+
+ ); +} diff --git a/artifacts/skillguard/src/pages/scan-report.tsx b/artifacts/skillguard/src/pages/scan-report.tsx index e5d6fd7..059286d 100644 --- a/artifacts/skillguard/src/pages/scan-report.tsx +++ b/artifacts/skillguard/src/pages/scan-report.tsx @@ -16,7 +16,7 @@ import { Button } from "@/components/ui/button"; import { Progress } from "@/components/ui/progress"; import { VerdictBadge, SeverityBadge, AxisBadge, CheckpointStatusBadge, CHECKPOINT_STATUS_LABELS, RelationBadge } from "@/components/ui-helpers"; import { formatDate } from "@/lib/format"; -import { ShieldQuestion, AlertTriangle, Download, FileCode, CheckCircle2, Code, Shield, FileDown, ListChecks, Fingerprint, GitCompare, History, GitCommitVertical, Sparkles } from "lucide-react"; +import { ShieldQuestion, ShieldAlert, AlertTriangle, Download, FileCode, CheckCircle2, Code, Shield, FileDown, ListChecks, Fingerprint, GitCompare, History, GitCommitVertical, Sparkles } from "lucide-react"; import type { ScanDetail } from "@workspace/api-client-react"; export default function ScanReport() { @@ -158,6 +158,19 @@ export default function ScanReport() { )} + + + + Hinweis: Dieses Ergebnis ist eine automatisierte, KI-gestützte Einschätzung. Es kann nicht + garantiert werden, dass alle kompromittierten oder schädlichen Skills erkannt werden – ein + unauffälliges Ergebnis ist keine Sicherheitsgarantie.{" "} + + Details im Haftungsausschluss + + . + + +