Commits vergleichen

...

170 Commits

Autor SHA1 Nachricht Datum
claude-dev
8bffb169e0 SEO: Drei Themen-Unterseiten (Loesungen) + Startseiten-Schaerfung
Sichtbarer Content fuer gewinnbare Keyword-Cluster, breites OSINT-Positioning:

- Neue Loesungsseiten (DE+EN, je eigenes Schema Service+Breadcrumb+FAQPage):
  - OSINT- & Lagebild-Software / OSINT & Situational Awareness Software
  - Desinformationsmonitoring & FIMI / Disinformation Monitoring & FIMI
  - Social-Media- & Krisenmonitoring fuer Behoerden / ... for Government
- Startseite DE+EN: Hero-Tagline um "OSINT-Software" geschaerft,
  Navigationspunkt Loesungen/Solutions + sichtbare Loesungs-Sektion mit
  interner Verlinkung zu den Unterseiten
- sitemap.xml: 6 neue URLs mit hreflang-Paaren
- llms.txt: Loesungen-Sektion ergaenzt
- Content faktenbasiert aus bestehendem Material, keine erfundenen Features

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 22:50:19 +02:00
claude-dev
dcd65616c5 SEO/GEO: unsichtbare On-Page-Optimierung (Nische-Fokus OSINT)
Keine sichtbaren Seiteninhalte geaendert, nur maschinenlesbare Signale:

- Startseiten DE+EN: Title auf "OSINT-Monitoring Software aus Deutschland"
  geschaerft; Organization-Schema um knowsAbout/keywords/areaServed und
  SoftwareApplication um keywords erweitert (Entitaetssignale fuer KI-Suche)
- Rechtsseiten (Impressum/Datenschutz DE+EN): robots-Meta konsistent auf
  noindex gesetzt (vorher nur googlebot, allgemein index) - passend zur
  dokumentierten Absicht "von Suchmaschinen ausschliessen"
- llms.txt: 6 zitierfaehige Q&A inkl. Abgrenzung zu IT-Monitoring (PRTG/Nagios)
  und 4 Glossar-Entitaeten (Social-Media-Monitoring, Krisenmonitoring, SOCMINT,
  Situational Awareness)
- sitemap.xml: lastmod der Startseiten aktualisiert; noindex-Rechtsseiten
  aus der Sitemap entfernt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 21:57:48 +02:00
claude-dev
e292735a50 Fix weisser Streifen zwischen FAQ-Section und Footer
Wurzel: cookie-consent.css enthielt aus einer Demo-Page geerbtes
"footer { margin-top: 4rem; background: ... }" mit nacktem
Element-Selector. Das schlug auf den echten Site-Footer durch und
erzeugte einen ~64px Margin oben am Footer, durch den der helle
Body-Background (#F5F7FA) sichtbar wurde. Unter dunklen Sections
fiel das nicht auf, unter der neuen FAQ-Section wurde es sichtbar.

- cookie-consent.css: nackter 'footer { ... }'-Block (margin-top, background, padding, text-align) entfernt. footer nav / nav a Reststyles belassen, da sie unseren echten Footer (kein <nav> drin) nicht treffen.
- index.html / en/index.html: defensives '.footer { margin-top: 0; }' im inline-style-Block ergaenzt fuer den Fall, dass die Demo-Regel zurueckkommt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 13:02:40 +02:00
claude-dev
318b74d640 FAQ: weisser Balken gefixt + Standort aus DSGVO-Antwort raus
- Style-Block aus body in head verschoben (vermeidet Kaskaden-Quirks)
- .section-Klasse aus dem FAQ-section-Element entfernt (kein Konflikt mehr mit globalem .section { padding 88px 0 })
- Defensive Resets: margin:0, display:block auf .faq-section; explizite margin-resets auf h2, intro, details, faq-answer; details:last-of-type margin-bottom:0
- DSGVO-Antwort: 'Standort Langenfeld, NRW' raus, weil das den Eindruck erweckte, dort stuenden die Server (es ist nur der Firmensitz). Aussage bleibt: 'auf Servern in Deutschland'.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 12:52:57 +02:00
claude-dev
65965135ca FAQ-Wording: Quellen, Faktenpruefung, DSGVO, Zugang vereinfacht
- Quellen: 'weltweit' statt 'mehrsprachig in X'; Update-Takt aus FAQ rausgenommen (steht weiterhin im llms.txt-TLDR und in den Lagen-Schemas)
- Faktenpruefung: ohne Fachbegriffe IFCN/EUvsDisinfo, dafuer in Klartext (Uebereinstimmungen/Widersprueche, transparente Bewertung, verlinkte Originalquellen)
- DSGVO: Aussage zu personenbezogenen Profilen entfernt (war redundant)
- Zugang: Satz zur Preiskalkulation entfernt

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 12:24:29 +02:00
claude-dev
22b4d1a769 AEO/GEO: FAQ-Section, Service- und Dataset-Schemas, speakable, Q&A-llms.txt
- index.html (DE+EN): FAQPage mit 7 Q&A, Service-Schema, founder-Person-Stubs mit @id-Referenzen, speakable-Selektoren, sichtbares FAQ-Akkordeon vor Footer, Nav-Eintrag Fragen/FAQ
- lagen/* (DE+EN): Article auf NewsArticle erweitert (deepfakes bleibt Article), plus temporalCoverage, keywords, about, speakable, @id-Refs auf Organization; Dataset-Schema neu mit DataDownload auf current.json
- llms.txt: Umbau auf antwortorientiertes Q&A-Format mit 7 Fragen plus Glossar (OSINT, Lagebild, Faktencheck, IFCN, EUvsDisinfo, Klassifikation)
- sitemap.xml: lastmod auf 2026-05-17

Ziel: bessere Auffindbarkeit und Zitierfaehigkeit in KI-Suche (ChatGPT, Perplexity, Claude, Gemini). 51 Prozent der B2B-Kaeufer recherchieren laut drweb.de-Artikel inzwischen primaer in KI-Chatbots.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 10:46:48 +02:00
claude-dev
ccad9dfc20 Doku: SSR Stufe 2 + Tech-Bundle ergaenzt
- sync-lagebild Service-Beschreibung um ssr_patch ergaenzt
- CHANGE_LOG 2026-05-10: SSR Stufe 2, Self-Hosting Leaflet, image-Sitemap, Performance Quick-Wins, Description-Fix
2026-05-10 16:24:24 +02:00
claude-dev
4c1b4b6da4 Tech: Self-Hosting Leaflet + Image-Sitemap
- Leaflet 1.9.4 + Markercluster 1.5.3 von unpkg.com lokal nach assets/vendor/leaflet/
  Spart externen DNS-Lookup, gibt Cache-Kontrolle, kein Third-Party-Call
  Inkl. marker/layers Bilder fuer Default-Marker
- preconnect zu unpkg.com aus 8 Seiten entfernt (nicht mehr noetig)
- sitemap.xml: image-Sitemap erweitert
  Pro URL og-image + Logo, Hauptseite zusaetzlich handshake
  Namespace xmlns:image hinzugefuegt
2026-05-10 16:17:59 +02:00
claude-dev
51278e59ca Performance Quick-Wins: Logo-SVG, lazy images, preconnect
- Logo-Header: PNG (31.7 KB) -> SVG (6.3 KB) auf 12 Seiten, mit width/height fuer CLS
- loading=lazy auf 25 unter-Fold-Bilder (Feature-/Problem-/Trust-Icons + handshake)
  Logo bleibt eager (above-the-fold)
- preconnect zu unpkg.com (CDN fuer Leaflet) im Head von 8 Seiten
  Reduziert TLS-Handshake-Verzoegerung beim ersten Leaflet-Asset
2026-05-10 15:36:13 +02:00
claude-dev
82b3f91b33 SEO: 3 Lagen-Descriptions auf <=160 Zeichen gekuerzt
- cyberangriffe DE: 168 -> 158 Zeichen
- iran-conflict EN: 163 -> 152 Zeichen
- cyber-attacks EN: 161 -> 156 Zeichen
2026-05-10 15:30:16 +02:00
claude-dev
d00bb4ba1d SEO Quick-Wins: Schema.org, Meta-Hygiene, llms.txt, Performance, Aufraeumen
- Title Iran-Konflikt mit Bindestrich (Konsistenz mit OG/Schema)
- Meta-Hygiene auf 12 Seiten: robots index/follow + max-image-preview:large, theme-color #0A1832, author AegisSight UG
- sitemap.xml: lastmod-Tag pro URL (besseres Crawl-Signal)
- Hauptseite (DE+EN): Schema.org WebSite + SoftwareApplication ergaenzt (Sitelinks, Rich Result fuer Software-Produkt)
- Lagen-Seiten (6): Schema.org BreadcrumbList (Home -> Topic)
- llms.txt: Site-Struktur fuer KI-Crawler (mit Hinweis Live-Search-Bots erlaubt, Training-Bots geblockt)
- Performance: Hero-Slides 2-5 preload=metadata -> none (Slide 1 bleibt auto/LCP)
- Aufraeumen: 5 tote CSS-Files, 7 tote JS-Files, robots-launch.txt + sitemap-launch.xml entfernt
2026-05-10 15:17:47 +02:00
claude-dev
025ddfcebd SEO Stufe 1: Indexierung freischalten + Lagen-Meta
- noindex/nofollow von 12 indexierbaren Seiten entfernt (Hauptseiten DE/EN, 3 Lagen DE/EN, Legal DE/EN)
- robots.txt scharf geschaltet: Crawling allgemein erlaubt, Live-Search-AI-Bots (OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot) erlaubt, Training-Bots (GPTBot, CCBot, anthropic-ai, Google-Extended, Applebot-Extended, Bytespider, ...) geblockt
- sitemap.xml: Inhalt aus sitemap-launch.xml uebernommen, mit Sitemap-Verweis in robots.txt
- Lagen-Seiten (3 DE + 3 EN): description, canonical, Open Graph, Twitter Card und Schema.org Article ergaenzt
- Lagen-Hero: Topic-Default in <p id="incident-title"> als Crawler-Fallback (JS ueberschreibt mit Datum bei Lade)
- CLAUDE.md CHANGE_LOG ergaenzt
2026-05-10 15:01:25 +02:00
claude-dev
a6481a11c0 Doku: CLAUDE.md auf aktuellen Stand der Hauptseite gebracht
- /vorschau/ entfernt (alte Vorab-Produktseite, durch index.html mit Hero-Slider und Live-Demos ersetzt)
- STRUCTURE: aktive vs. legacy CSS/JS getrennt, videos/, downloads/, insights/, accountforger-video.html ergaenzt
- Lagen: cyberangriffe und deepfakes binden Lagebild-Assets aus iran-konflikt ein
- SERVICES: sync-lagebild und insights ergaenzt
- DEPLOYMENT: Cache-/Auth-Besonderheiten dokumentiert
2026-05-10 14:28:17 +02:00
5e93e5b9d1 i18n: Summary-Section auch unter englischem Header erkennen
Der Monitor uebersetzt im research-Lagebild-Markdown die
Section-Ueberschrift "## Zusammenfassung" zu "## SUMMARY".
extractZusammenfassung und stripZusammenfassung matchten bisher
nur das deutsche Wort, daher zeigte die EN-Variante der
Deepfakes-Recherche eine leere Zusammenfassung.

Beide Funktionen erkennen jetzt 'zusammenfassung' und 'summary'
case-insensitive.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:47:18 +02:00
49fc3a6f64 i18n: app.js erkennt Sprache und laedt EN-Datenfiles
Die Index-Hauptseite hat noch eine Reihe dynamisch gefuellter Texte
(Live-Stats-Bar-Titel, Map-Legende, Default-Kategorie-Labels) und
laedt summary.json fuer die Excerpts. Auf der EN-Variante hat das
bisher zu sichtbarem deutschen Text gefuehrt.

- SITE_LANG wird einmal aus <html lang> abgeleitet
- lageTitles existiert pro Sprache
- defaultLabels (primary/secondary/tertiary/mentioned) pro Sprache
- Legende -> Legend in der Map-Legende
- summary.json -> summary_en.json bei EN, mit Fallback auf summary.json
  wenn EN-Variante nicht existiert (Monitor erzeugt beide bereits)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:44:01 +02:00
2840f42059 Staging: Mountpoint-Platzhalter fuer Lagen-Daten
Die /lagen/*/data/-Verzeichnisse sind nicht versioniert (.gitignore),
werden aber im Staging-Container per bind-mount aus dem Live-Pfad
eingeblendet. Bei read_only:true im Container muss das Mountpoint-
Verzeichnis bereits existieren - daher .gitkeep als Platzhalter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:40:43 +02:00
f874d1dee0 i18n: Aufraeumen und Doku-Update (Phase 5)
- lagebild.js: tote initLangToggle() und switchContent() entfernt;
  initTranslations()-Aufruf aus init() raus (translations.js gibt es
  nicht mehr). Kein neues Verhalten, nur Aufraeumen.
- CLAUDE.md aktualisiert: en/situations/-Struktur, Slug-Mapping,
  Daten-Freigabe-Konzept, Kontaktformular i18n-Hinweis,
  CHANGE_LOG erweitert.

Backend (contact-form.py) wurde live ausgerollt und ist nicht im
Repo (liegt unter /opt/v2-Docker/aegis-website/), Backup unter
contact-form.py.bak.<timestamp>.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:30:24 +02:00
645fb33898 i18n: EN-Lagen-Seiten + zweisprachiges Kontaktformular (Phase 3+4)
Phase 3 - Englische Lagebild-Seiten:
- /en/situations/iran-conflict/, /en/situations/cyber-attacks/,
  /en/situations/deepfakes/ erstellt (Mirror der DE-Lagen mit
  englischer UI)
- lagebild.js: curLang() liest jetzt direkt <html lang>; neuer
  dataBase()-Helper, damit EN-Seiten die JSON-Daten aus dem
  DE-Pfad nachladen koennen (window.LAGEBILD_DATA_BASE pro Seite)
- 4 zuvor hardcodierte DE-Strings (emptyDevelopments, emptySummary,
  Quelle-Tooltip, Schliessen-Aria) ueber t() und das vorhandene
  lang.de/lang.en-Dictionary uebersetzt
- DE-Lagen-Seiten: hreflang-Tags wieder aktiv, Toggle zeigt nun
  korrekt auf das EN-Pendant statt /en/
- en/index.html Karussell-Buttons zeigen auf EN-Lagen
- Sitemap mit hreflang-Alternativen fuer alle Lagen ergaenzt

Phase 4 - Kontaktformular zweisprachig (Frontend):
- js/app.js submitContact() liest <html lang>, sendet lang im POST
  und zeigt Sende-/Fehler-Texte in der jeweiligen Sprache
- Backend (contact-form.py) wird separat ausgerollt, ist aber
  abwaertskompatibel: bei fehlendem lang-Param defaultet es auf de

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 23:28:05 +02:00
8c8130509a i18n: Aufraeumen alter Mehrsprachigkeits-Reste
- js/translations.js entfernt (war im aktuellen Site-Stand ungenutzt
  und passte nicht mehr zur neuen Struktur)
- impressum-en.html und datenschutz-en.html entfernt (durch
  /en/legal-notice.html und /en/privacy.html ersetzt)
- data-translate Attribute aus den drei Lagen-Seiten entfernt
- <script src="/js/translations.js"> aus den Lagen-Seiten entfernt
- CLAUDE.md auf neuen Stand gebracht (i18n-Ansatz dokumentiert,
  CHANGE_LOG erweitert)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 22:13:55 +02:00
3229c6b1ea i18n: Sprachumschalter DE/EN und englische Seiten unter /en/
- Neuer .lang-switcher Komponente in css/lang-switcher.css, Variante
  fuer dunkle Lagebild-Seiten enthalten
- Sprachumschalter im Header und Mobile-Menue aller DE-Seiten
  (index, impressum, datenschutz, lagen/*)
- Englische Seiten unter /en/index.html, /en/legal-notice.html und
  /en/privacy.html mit kompletter Uebersetzung; rechtliche Texte mit
  Hinweis "German version shall prevail"
- hreflang-Tags (de/en/x-default) auf Hauptseite und rechtlichen
  Seiten; Lagen-Seiten ohne hreflang bis EN-Versionen existieren
- og:locale + og:locale:alternate gesetzt, Schema.org bleibt
- Sitemap mit xhtml:link Alternates fuer beide Sprachen ergaenzt
- DE-Lagen-Toggle zeigt vorerst auf /en/ (EN-Lagen folgen Phase 3)
- Cookie-Banner liest <html lang> bereits selbststaendig, daher
  englisch auf EN-Seiten ohne weitere Aenderung

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 22:12:19 +02:00
Claude Code
3905e90467 CLAUDE.md: Auto-Deploy + Promote-UI dokumentiert (TODO -> abgeschlossen)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:15:34 +02:00
Claude Code
95ada4dd39 CLAUDE.md: Staging-Umgebung dokumentiert (URL, Workflow, Auth-Service)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:56:27 +02:00
Claude Code
0b979c7d85 Texte: Einsatzfall -> Anwendungsfall (CTA + Kontakt-Modal)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 14:59:43 +02:00
Claude Code
0e0744779c Datenschutz und Impressum auf neues Layout migriert
- Wechsel von altem Multi-File-CSS-Setup (main.css/fonts.css/mobile.css) auf
  das neue /css/style.css der Hauptseite. Bebas-Neue-Headlines und
  Glassmorphism-Karten ersetzt durch Inter + flaches Design mit Navy/Gold-Akzent.
- Header (Navbar + Mobile-Menu + Mobile-Overlay) und Footer aus index.html
  uebernommen; Anker-Links zeigen auf die Hauptseite (/#features etc.).
- Inhalt 1:1 erhalten; Klassen normalisiert auf .legal-section/.legal-content.
- Inline-Styles am Quellverweis durch .source-note-Klasse ersetzt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 14:54:57 +02:00
Claude Code
2abf6f798a Passwortschutz von der Hauptseite entfernen
Das clientseitige Login-Gate (#login-gate, SHA256-Cookie-Pruefung)
stammt aus der Vorschau-Phase. Nach Befoerderung der Vorschau zur
Live-Hauptseite ist es nicht mehr erforderlich; der gesamte Block
inkl. CSS, HTML und JS wurde entfernt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 14:47:41 +02:00
Claude Code
19620aaa4b Hauptwebseite durch Vorschau-Iteration ersetzt
- /vorschau/ existiert nicht mehr; deren Inhalte sind jetzt unter /
- index.html, css/style.css, js/app.js und videos/ stammen aus dem ehemaligen
  vorschau/-Verzeichnis und ersetzen die bisherige Hauptseite.
- Alte CSS/JS-Dateien (main.css, main.js etc.) bleiben erhalten - sie werden
  weiterhin von /lagen/, /datenschutz, /impressum genutzt.
- Vorheriger Stand archiviert unter AegisSight/Webseite_alt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 14:24:07 +02:00
Claude Code
bea7c1eb7a Vorschau: Karussell-Excerpt vereinheitlicht + Hero-Slide-Uebergang glaetten
- demo-excerpt mit fester Hoehe (760px Desktop, 640px Mobile) und weicher
  Fade-out-Maske; vereinheitlicht die Kartenhoehe ueber alle Lagen ohne
  harte Abschneidung des Inhalts.
- heroGoTo() haelt die .ended-Klasse waehrend des Fade-outs aktiv und
  raeumt sie erst nach 400ms auf. Verhindert das Aufblitzen des
  pausierten Video-Frames beim Wechsel von der Endcard zur naechsten Slide.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 14:15:38 +02:00
Claude Code
2a9bbb312f Vorschau: Online-Schaltung vorbereitet (SEO, Cookie-Consent, Conversion-Tracking, LAUNCH-CHECKLIST)
Vorbereitungen fuer den Tag-X-Switch zur neuen Hauptseite. Schaltung selbst lauft ueber LAUNCH-CHECKLIST.md.

vorschau/index.html:
- Meta-Description, Canonical, Open Graph, Twitter Card, Schema.org Organization
- Cookie-Consent CSS+JS eingebunden (reused von alter Hauptseite, mit Umami-Anbindung)
- Footer um Cookie-Einstellungen-Link und dynamisches Jahr ergaenzt
- noindex/nofollow bleibt bis Tag X drin (Vorschau weiter passwortgeschuetzt)

vorschau/js/app.js:
- Conversion-Tracking: umami.track("contact_modal_open") und umami.track("contact_form_success")

assets/images/og-image.png (NEU):
- 1200x630 Open Graph Vorschaubild, Logo + Tagline auf Navy

datenschutz.html:
- Section 5 NEU: Kontaktformular und Anfragen (Daten, Speicherdauer, Rechtsgrundlage)
- Section 7 NEU: AegisSight Analytics (Umami) - cookielos, IP-anonymisiert, selbstgehostet
- Sections umnummeriert: Newsletter -> 6, Plugins -> 7, KI-Agenten -> 8

lagen/{iran-konflikt,cyberangriffe,deepfakes}/index.html:
- Cookie-Consent CSS+JS eingebunden
- Footer-Navigation auf neue Hauptseite-Anker umgestellt: /#features, /#demos, /#trust, /#contact
- Cookie-Einstellungen-Link im Footer
- Farbgebung der Lagen unveraendert (User-Wunsch)

NEUE inaktive Dateien fuer Tag X (per LAUNCH-CHECKLIST aktiviert):
- sitemap-launch.xml: Hauptseite + 3 Lagen + Impressum + Datenschutz
- robots-launch.txt: Crawler erlaubt, AI-Crawler/Spam-Bots/Archiv-Bots blockiert
- LAUNCH-CHECKLIST.md: vollstaendige Anleitung fuer den Schaltungs-Tag (Backup, Schritte, Smoke-Tests, Rollback)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 11:30:32 +02:00
Claude Code
5367b91945 Vorschau: Helligkeits-Tonleiter fuer helle Sections + Contact als heller Akzent
- Vier Tonstufen (--tone-1 bis --tone-4) fuer Problem, Workflow, Demos, Contact: Seite atmet beim Scrollen sanft von hell nach kuehler
- Contact in hellem Blau-Grau-Weiss (#ECF2F9) als frischer Akzent vor dem dunklen Trust
- Divider-Uebergaenge per Adjacent-Sibling an die neuen Tonstufen angepasst
- Trust und Contact in Page-Reihenfolge zurueckgetauscht: Contact vor Trust (Trust bleibt visueller Schluss-Anker), Navbar-Reihenfolge bleibt aber Funktionen-Live-Lagebilder-Ueber-uns-Kontakt
- Subpixel-Luecke unter dem Diagonal-Divider Contact->Trust mit margin-top:-1px geschlossen

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 10:02:18 +02:00
Claude Code
12dc13c089 Vorschau: Trust vor Contact + Navbar Versprechen->Über uns
- Trust-Section (Unser Versprechen) wandert vor die Contact-CTA, damit Vertrauen vor der Conversion-Aufforderung steht
- Divider angepasst: Demos -> Trust (diagonal-dark), Trust -> Contact (gradient-dark-to-base), Contact -> Footer (diagonal-dark mit Footer-Navy als Fill)
- Navbar-Label Versprechen -> Über uns (klarer fuer Erstbesucher) und neue Reihenfolge: Funktionen, Live-Lagebilder, Über uns, Kontakt (folgt der Scroll-Reihenfolge)
- Mobile-Menu identisch angepasst

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 09:31:11 +02:00
Claude Code
10e71eecbe Vorschau: Features-Section nach oben mit Gold-Glasmorphism, Problem-Section auf hellem Hintergrund
- Features (Was der Monitor leistet) wandert direkt unter Hero, bekommt section-dark
- Problem (Warum manuelle OSINT-Auswertung nicht skaliert) rutscht eine Position nach unten, bekommt section-base
- Feature-Cards im dunklen Kontext: Glasmorphism mit dezent transparentem Hintergrund, permanente Gold-Border, Gold-getoente Icon-Box, goldfarbene Icons (CSS-Filter), Hover mit kraeftigerer Gold-Border und Lift
- Neuer Divider divider-gradient-base-to-alt fuer den Uebergang Problem -> Workflow

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 09:23:06 +02:00
Claude Code
980dd3039e Lagebild: Zusammenfassung nicht mehr doppelt / nicht mehr im Recherche-Tab
- extractZusammenfassung: Header-Zeile aus Inhalt entfernen, damit sie nicht zusaetzlich zur Card-Headline erscheint
- renderSummary: stripZusammenfassung schneidet den Zusammenfassungs-Block raus, damit er exklusiv im Zusammenfassung-Tab gerendert wird

Betrifft research-Typ (Deepfakes). Adhoc-Lagen (Iran, Cyberangriffe) unberuehrt.
2026-04-24 23:42:21 +02:00
Claude Code
f1d17922ee Vorschau Hero: Dots weiter unten, eigener Raum unter dem Video
- Slider endet jetzt bei bottom:60px statt bottom:0 -> Video-Bereich
  beginnt unter der Navbar und endet oberhalb einer reservierten Zone
  fuer die Dots, damit sie keine Video-Schrift verdecken
- Dots auf bottom:22px (Desktop) / 18px (Mobile) statt 75/65px

Rollback-Punkt: fa17c1f
2026-04-21 01:52:03 +02:00
Claude Code
fa17c1fefb Vorschau Hero: Slider unter Navbar + Endcard 7s
- Slider-Container beginnt jetzt bei top:var(--nav-height) statt 0;
  das Video wurde zuvor oben durch die fixe Navbar ueberdeckt, obwohl
  object-fit:contain es komplett rendert
- HERO_ENDCARD_MS von 3000 auf 7000 (User-Feedback: zu kurz)

Rollback-Punkt: c85be47
2026-04-21 01:48:40 +02:00
Claude Code
c85be47307 Vorschau Hero: Video vollstaendig sichtbar + Endcard mit CTA am Ende
Umgebaut zu Video-getriebenem Slider mit Endcard-Phase:
- Video object-fit: contain (komplett sichtbar, Navy-Letterbox-Raender)
- Waehrend Video-Laufzeit: keine Overlays (Video spricht fuer sich)
- ended-Event triggert .ended/.endcard-Klassen -> 3s Endcard
- Endcard zeigt Titel + Tagline (zentriert) + Beispieltext + CTA
- Slide 2 ohne CTA: Endcard zeigt nur Titel + Tagline
- loop-Attribut aus allen 5 Videos entfernt (sonst feuert ended nicht)
- Festes 15s-Autoplay entfernt; Slide-Wechsel ist video-getrieben
- Fallback-Timer 25s falls ended-Event nicht kommt (Ladefehler etc.)
- Manuelle Navigation (Dots/Pfeile/Swipe) cleant alle Timer sofort
- Tab-Wechsel pausiert/resumt korrekt im jeweiligen Zustand

Rollback-Punkt: c693114
2026-04-21 01:28:42 +02:00
Claude Code
c6931142e7 Vorschau Hero: Video in voller Hero-Breite mit Overlay-Text
Hero-Slider umgebaut auf Vollbreiten-Video:
- Video fuellt gesamte Hero-Section (object-fit:cover, inset:0)
- Titel + Tagline als Overlay oben (ueber Gradient)
- Slide-Bottom (Beispieltext+CTA) als Overlay unten
- Pfeile auf Hero-Mitte seitlich, Dots zentriert unten
- Gradient-Overlay pro Slide (dunkel oben/unten, Safe-Zone Mitte)
- Mobile-Anpassungen (Pfeile ausgeblendet, kleinere Fonts)
- Tote Klassen entfernt (hero-claim, hero-cta, hero-slide-inner etc.)

Rollback-Punkt: a38a6e1
2026-04-21 01:11:22 +02:00
Claude Code
a38a6e1930 Latest-Developments: Pipe-Parser fuer Name|URL-Bullet-Format
Analog Monitor-Aenderung: Pills parsen {Name|URL, Name|URL} direkt und
nutzen die URL aus dem Bullet, statt ueber sources_json-Namen nachzuschlagen.
Damit verweist jeder Pill-Klick eindeutig auf den belegenden Post — keine
Name-Kollisionen mehr (insbesondere bei Telegram-Kanaelen mit mehreren
gleichnamigen sources_json-Eintraegen).

Legacy-Kompat: Items ohne Pipe gehen weiter per lookupByName durch.
2026-04-19 01:19:07 +02:00
Claude Code
f4334863a0 Source-Pill: Clip entfernt, langer Kanal-Pfad vollstaendig sichtbar
Analog Monitor: max-width/ellipsis raus, white-space: normal + overflow-wrap.
2026-04-19 00:57:57 +02:00
Claude Code
a65ad6085e Telegram-Pill: Kanal-Pfad statt generisches Label
Analog Monitor-Aenderung: (t.me/iranmilitarymag) statt (Telegram-Link).
2026-04-19 00:53:12 +02:00
Claude Code
0f2e4083df Quellen-Pills: (Telegram-Link) Suffix bei t.me-URLs
Quellen mit nichtlateinischem Namen wie Telegram: persisch-arabisch waren
schwer zuordenbar. Pill-Label bekommt jetzt bei allen Quellen mit URL auf
t.me einen Zusatz Telegram-Link in Klammern. Konsistent an drei Stellen:
Lagebild-Seite renderLatestDevelopmentsHtml und Vorschau renderLatestDevelopments.
2026-04-19 00:34:46 +02:00
Claude Code
c3bae27837 Lagebild-Seite: Tab Neueste Entwicklungen / Zusammenfassung
Live-Lagen (iran-konflikt, cyberangriffe) bekommen einen neuen ersten Tab
Neueste Entwicklungen mit Bullet-Cards, klickbaren Quellen-Pills und
Zeitstempel. Recherche-Lagen (deepfakes) bekommen an selber Stelle einen
Tab Zusammenfassung, der den Zusammenfassung-Abschnitt aus dem Markdown
extrahiert und mit Citation-Links rendert.

lagebild.js: renderUeberblick, renderLatestDevelopmentsHtml,
extractZusammenfassung ergaenzt. i18n-Keys tabUeberblick/Research.
Lang-Toggle aktualisiert Tab-Label und h2.

Vorschau-Karten zeigen wieder den Lagebild-Text fuer alle Lagen
(renderLatestDevelopments-Calls aus loadLiveData entfernt).
2026-04-19 00:19:14 +02:00
Claude Code
8b8072efe7 feat: Slide 3 KI-Recherche-Video v2 + Cache-Bust 2026-04-14 02:59:46 +02:00
Claude Code
c5415f7a6b feat: Slide 2 Faktencheck-Video v3 + Cache-Bust 2026-04-14 02:38:27 +02:00
Claude Code
51d1c0d905 feat: Slide 5 Flexibel-Video v2 + Cache-Bust 2026-04-14 02:31:54 +02:00
Claude Code
2b76e5f3bb feat: Slide 5 (Flexibel einsetzbar) mit Video statt Text 2026-04-14 02:27:10 +02:00
Claude Code
05e5179235 feat: Slide 4 (Globale Abdeckung) mit Video statt Text 2026-04-14 00:58:07 +02:00
Claude Code
442b794421 feat: Slide 3 (KI-Recherche) mit Video statt Text 2026-04-13 23:35:26 +02:00
Claude Code
b613cb47bc feat: Slide 2 Faktencheck-Video v2 + Cache-Bust 2026-04-13 21:04:58 +02:00
Claude Code
87d90f07d1 fix: Problem-Karte 1 - Widerspruch Tausende/Hunderte behoben
Überschrift von "Tausende Quellen" auf "Quellenvielfalt" geändert
und den Beschreibungstext entsprechend angepasst. Behebt den internen
Widerspruch (Überschrift sagte Tausende, Text sagte Hunderte) und
entfernt die Wort-Redundanz von "Quellen".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:59:44 +02:00
Claude Code
c245f03203 feat: Slide 2 (Faktencheck) mit Video statt Text
Video ersetzt Description-Text + leere media-col. Premiere-Export
wurde mit ffmpeg reencodet (CRF 23, preset slower, no audio, faststart),
von 17,2 MB auf 1,6 MB (-91%) bei gleicher Auflösung 1920x1080 @ 25fps
und ohne sichtbaren Qualitätsverlust.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:55:44 +02:00
Claude Code
7dd6cb991d refactor: Hero-Slider auf opacity-Stacking, Video pro Slide
- visibility:hidden aus Slide-States entfernt (brach Video-Playback)
- #hero-video-container + Sonderfall-Logik für Slide 0 entfernt
- Video in Slide 0 inline verschoben, generische Restart-Logik
- Videos starten bei jedem Slide-Wechsel bei 0:00 (bewusste
  Verhaltensänderung gegenüber 9df30bc)
- Autoplay-Intervall auf 15s vereinheitlicht (kein Video/Text-Sonderfall)
- Hover-Pause des Sliders entfernt (stoppte Autoplay unerwartet)
- Neue Videos in weiteren Slides erfordern jetzt nur HTML-Block + src

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 19:34:52 +02:00
Claude Code
80ce22b692 fix: Video-Wiedergabe bei Rückkehr zu Slide 0 sicherstellen
Browser pausiert Videos bei opacity:0, autoplay greift nicht erneut.
Explizit play() bei Slide 0, pause() bei anderen Slides.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:12:55 +02:00
Claude Code
d6191584d3 fix: min-height:280px vom hero-slider entfernt
Slide 0 hat weniger Inhalt seit Video ausgelagert wurde,
die fixe min-height erzeugte unnötigen Leerraum vor den Dots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:09:44 +02:00
Claude Code
9df30bcd96 fix: Video läuft durchgehend, kein Neustart bei Slide-Wechsel
Video aus dem Slide-Div herausgelöst und als eigenständiges Element
zwischen hero-brand und hero-slider platziert. Dadurch wird es nie
via visibility:hidden versteckt und der Browser resettet es nicht.
Ein-/Ausblenden per opacity + max-height Transition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:07:49 +02:00
Claude Code
964b8d47f2 update: Hero-Video Slide 1 neu gerendert
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:04:00 +02:00
Claude Code
0fc0d30191 refactor: Hero Slide 0 mit Inline-Video statt Fullscreen-Hintergrund
Video wird jetzt als Inline-Element unter der Tagline angezeigt
(volle Breite, object-fit contain, nichts abgeschnitten).
Label und Headline entfernt (redundant mit Tagline).
Beispiel-Text und CTA-Button unterhalb des Videos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:57:41 +02:00
Claude Code
fbadb45914 fix: z-index Reihenfolge für Hero-Video korrigiert
Overlay z-index 1, Video z-index 2, Content z-index 3.
Video war vorher hinter dem fast undurchsichtigen Overlay versteckt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:53:25 +02:00
Claude Code
fb7e52a3bc fix: Slider-Intervall 15s für Video-Slide, 8s für andere
Slide 0 bleibt jetzt so lange sichtbar wie das Video dauert (15s).
Alle anderen Slides wechseln weiterhin nach 8s. Umstellung von
setInterval auf verkettete setTimeout für dynamisches Timing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:50:09 +02:00
Claude Code
f039357a7f fix: Hero-Video als Vollbild über gesamte Hero-Section
Video füllt jetzt die komplette Hero-Section (88vh) statt nur den
700px-breiten Slide-Container. Ein-/Ausblenden per CSS-Transition
(0.8s) gekoppelt an den aktiven Slide (nur bei Slide 0 sichtbar).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:49:02 +02:00
Claude Code
8d01c49707 feat: Video-Hintergrund für Hero Slide 1 (Echtzeit-Monitoring)
- Komprimiertes Video (2.1 MB, 1920x1080, 15s loop) als Hintergrund
- Beschreibungstext entfernt (wird durch Video repräsentiert)
- Label, Headline, Beispiel-Zitat und CTA bleiben sichtbar
- Text-Shadows für Lesbarkeit über Video

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:46:53 +02:00
Claude Code
5f6cd77a47 fix: duplizierten Hero-Slider CSS-Block in Vorschau entfernt
Identischer CSS-Block war doppelt vorhanden (Zeilen 77-105 und 108-136),
was bei späteren Änderungen zu Wartungsproblemen geführt hätte.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:41:29 +02:00
Claude Code
932ff9c049 Lagen-Seiten: Englische Übersetzung + Sprachwechsel-Logik
- LANG-Objekt mit de/en Strings für ~40 UI-Elemente
- t() Hilfsfunktion + getLocale() + getHeadline()
- switchContent(): Lädt current_en.json bei Sprachwechsel
- Fallback auf deutsche Version wenn EN nicht verfügbar
- Datumsformatierung sprachabhängig (de-DE / en-GB)
- Artikel-Headlines: Original bei EN, Übersetzung bei DE
- Snapshot-Hinweis bei EN (Historical data in German only)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 04:12:47 +02:00
Claude Code
3872d32d8f fix: Unicode-Escapes in Navbar/Footer durch echte Umlaute ersetzt
Cyberangriffe- und Deepfakes-Seiten zeigten \u00dc statt Ü in der Navigation. Ursache: JSON-Encoding wurde auf HTML angewendet. Zusätzlich data-translate-Attribute und Language-Toggle ergänzt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:18:38 +02:00
Claude Code
0a6ec07374 Karte: MarkerCluster mit Popups, Hero-CTAs scrollen zu Demos
Lagebild-Karte auf geclusterte Marker umgebaut (primary/secondary als Pulse, rest als CircleMarker). Popups zeigen jetzt Top-Artikel mit Links. Vorschau Hero-Buttons scrollen zum Demo-Karussell statt direkt zu den Lagen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:18:31 +02:00
Claude Code
3cd5623fa6 Vorschau: Stats-Bar dynamisch pro Lage, Hero-Kontakt-Buttons entfernt, Deepfakes-Excerpt gekürzt
- Stats-Bar (Titel, Artikel, Quellen, Faktenchecks) wechselt beim Carousel-Wechsel
- countUp-Animation in äußeren Scope verschoben für Wiederverwendung
- lageTitles-Mapping für Anzeigenamen der Lagen
- Kontakt-Buttons aus allen Hero-Slides entfernt
- Deepfakes-Excerpt auf Stichpunkte beschränkt (Fließtext gefiltert)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 23:36:29 +02:00
Claude Code
0f3cc972a5 Cyberangriffe-Lagebild + Vorschau: Slide und Carousel aktualisiert
Neue Seite /lagen/cyberangriffe/ mit 93 Artikeln, 41 Quellen, 28 Locations.
Hero-Slide "Flexibel einsetzbar" verlinkt jetzt auf Cyberangriffe.
Carousel: Platzhalter 2 ersetzt durch Live-Card mit Zusammenfassung.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:34:20 +02:00
Claude Code
b4236872a7 Vorschau: Grosslage -> Großlage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:41:14 +02:00
Claude Code
3250636208 Vorschau: Recherche-CTA verlinkt direkt auf /lagen/deepfakes/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:56:58 +02:00
Claude Code
4e0cc78190 Vorschau: Recherche-CTA wechselt Carousel zur Deepfakes-Karte
Klick auf Recherche-Beispiel ansehen scrollt zum Carousel und
setzt es automatisch auf die Deepfakes-Recherche (Index 2).
positionCards() als globale Funktion exponiert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:55:37 +02:00
Claude Code
20a004d273 Vorschau: Live-Demo Button aus Faktencheck-Slide entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:37:16 +02:00
Claude Code
d462d6d37e Deepfakes-Recherche als Lagebild-Seite + Vorschau-Updates
Neue Seite /lagen/deepfakes/ mit vollstaendiger Recherche zur
rechtlichen Lage von Deepfakes in Deutschland (121 Artikel, 90 Quellen).
Nutzt bestehendes lagebild.css/js aus iran-konflikt.

Vorschau: Dritte Carousel-Card mit Deepfakes-Recherche befuellt,
Hero-Slide Label von KI-Recherche zu KI-gestuetzte Recherche geaendert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:27:18 +02:00
Claude Code
a9c1c73c2a Vorschau: Faktencheck-Slide ueberarbeitet - beschreibend, kein Iran-Bezug
Slide rein beschreibend umformuliert mit Verifikationsstatus-Erklaerung.
Beispiel-Hinweis entfernt, Bild-Platzhalter fuer Screenshot vorbereitet.
Media-Col nur noch sichtbar wenn tatsaechlich ein img-Element vorhanden.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:21:03 +02:00
Claude Code
26b74d35ef Vorschau: Hero-Section von Stockvideos auf Feature-Slides umgebaut
Ersetzt die 3 rotierenden Stockvideos durch 5 inhaltsgetriebene Slides,
die die Kernfeatures des Monitors bewerben (Echtzeit-Monitoring,
Faktencheck, KI-Recherche, Globale Abdeckung, Flexibilitaet).
Jeder Slide mit Feature-Text, konkretem Beispiel-Beleg und CTAs.
Grafik-Spalte pro Slide vorbereitet fuer spaetere Screenshots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:06:33 +02:00
Claude Code
33f4afc7ae fix: Mobile-Layout komplett ueberarbeitet
- Feature-Cards: flex-direction:column, volle Breite auf Mobile
- Karussell: nur aktive Card sichtbar, volle Breite, keine Side-Cards
- Stats-Bar: kleinere Zahlen, weniger Padding
- Carousel-Pfeile auf Mobile ausgeblendet
- Dot-Navigation bleibt fuer Card-Wechsel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:25:40 +02:00
Claude Code
9e6f0b5270 fix: Zielgruppe in Problem-Section, Mobile Feature-Cards
- Untertitel in Problem-Section: Zielgruppe definiert
  (Sicherheitsbehoerden, Redaktionen, Unternehmen)
- Feature-Cards auf Mobile volle Breite (Flex-Override)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:22:26 +02:00
Claude Code
85f4091e33 docs: CLAUDE.md aktualisiert (Sektionsreihenfolge, Contact-Handler, Icons)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:17:19 +02:00
Claude Code
6f0e6028c5 feat: Kontaktformular sendet serverseitig per SMTP statt mailto
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:14:05 +02:00
Claude Code
2053f215e5 fix: JS Syntax-Fehler im Kontaktformular behoben
Mehrzeilige String-Literale durch korrekte \n Escape-Sequenzen ersetzt.
Fehler verhinderte komplette JS-Ausfuehrung (Modal + Lagebild-Daten).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:51:42 +02:00
Claude Code
fa36d7267d feat: Kontaktformular als Popup, Grid zentriert, Straße gefixt
- Kontaktformular als Modal-Popup (Name, Organisation, E-Mail, Nachricht)
- Oeffnet per Button-Klick, schliessbar per X/Overlay/Escape
- Submit erstellt mailto-Link mit vorausgefuellten Feldern
- Feature-Grid: letzte 2 Cards zentriert statt linksbuendig
- Gladbacher Strasse -> Gladbacher Straße

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:48:40 +02:00
Claude Code
6ec058b874 fix: Alte Chevron-Reste und 'n'-Artefakt entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:41:21 +02:00
Claude Code
d61dcf49d3 fix: Hero-Chevron als clip-path statt separatem Element
clip-path auf der Hero-Section selbst schneidet sauber spitz ab,
kein separates SVG-Element mehr. Video, Overlay und Content
werden alle gleichmässig abgeschnitten.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:39:47 +02:00
Claude Code
4e2d78ee1e fix: Chevron groesser (100px), deckt Hero-Video-Rand sauber ab
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:38:38 +02:00
Claude Code
7bcb699ba6 fix: Chevron-Spitze zwischen Hero und Problem wiederhergestellt
Navy-Dreieck ragt von unten in den Hero hinein (negative margin),
erzeugt sauberen spitzen Uebergang zwischen Video-Hero und
dunkler Problem-Section.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:37:24 +02:00
Claude Code
efc3ca5075 feat: Icons getauscht, Faktenprüfung als Statement statt Card
- Echtzeit-Monitoring: shield.svg -> monitor.svg (Lucide)
- Mehrsprachige Auswertung: document.svg -> languages.svg (Lucide)
- Strukturierte Lagebilder: clock.svg -> document.svg
- Faktenprüfung: Card mit Border/Icon -> Statement-Section
  (große Typografie, kein Icon, kein Rahmen)
- 2 neue SVG-Icons: monitor.svg, languages.svg

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:34:31 +02:00
Claude Code
f578529d94 fix: Chevron zwischen Hero und Problem entfernt (beide Navy, nahtlos)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:27:25 +02:00
Claude Code
13432c43c2 refactor: Seitenstruktur, visuelle Differenzierung, Feedback-Fixes
- Problem-Section vor Workflow verschoben (Hero -> Problem -> Workflow)
- Problem-Section dunkel (Navy) fuer visuellen Kontrast
- Faktenprüfung als eigene Highlight-Card hervorgehoben (Gold-Border)
- Tippfehler Grosslage -> Großlage
- Nachhaltigkeit Icon von clock.svg zu shield-check.svg
- Hero Spacing verbessert (mehr Abstand Claim/Subtext)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:25:07 +02:00
Claude Code
bd878de0c3 fix: Unser Versprechen heller als Footer (navy-light vs navy)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:16:46 +02:00
Claude Code
3435141547 fix: E-Mail-Adresse unter CTA-Button entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:15:39 +02:00
Claude Code
054e310ce1 fix: Gradient-Uebergang nach Unser Versprechen entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:15:18 +02:00
Claude Code
08e21bf3e8 fix: CTA vor Unser Versprechen verschoben
Reihenfolge: Features -> CTA -> Unser Versprechen -> Footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:14:07 +02:00
Claude Code
450a86f071 fix: Unser Versprechen ans Ende verschoben (vor CTA)
Reihenfolge: Hero -> Workflow -> Stats/Karussell/Karte -> Problem ->
Features -> Unser Versprechen -> CTA -> Footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:12:50 +02:00
Claude Code
78dd17338e fix: Hero - KI-gestuetzt ergaenzt, Behoerden-Text entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:10:47 +02:00
Claude Code
aaafd9b848 docs: CLAUDE.md mit vollstaendiger Vorschau-Dokumentation aktualisiert
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:09:56 +02:00
Claude Code
66cbe33a6b fix: Karte zeigt Iran sofort, Legende nicht mehr doppelt
- dataLoaded Flag verhindert Map-Update bevor Daten geladen sind
- legendControl wird korrekt gespeichert und beim Wechsel entfernt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:06:55 +02:00
Claude Code
6e7f5b5c5f feat: Karte reagiert auf Karussell-Wechsel
- Map-Instanz wird einmalig erstellt, Marker dynamisch gewechselt
- data-lage Attribute auf Carousel-Cards fuer Lagen-Zuordnung
- Bei Lage mit Daten: Marker + Legende angezeigt
- Bei Platzhalter: Karte ausgeblendet, 'Kartendaten folgen'
- Zukunftssicher: Neue Lagen brauchen nur data-lage + summary.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:03:59 +02:00
Claude Code
b1a5293d82 fix: Karussell-Hoehe passt sich dynamisch an Inhalt an
- Active Card position:relative (bestimmt Track-Hoehe)
- Side Cards position:absolute (schweben ueber Active)
- Viewport nur horizontal geclippt, vertikal frei
- min-height entfernt, Card-Inhalt bestimmt die Hoehe

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:54:01 +02:00
Claude Code
251c257dfa fix: mdToHtml rendert Ueberschriften und Listen korrekt
Vorherige Version entfernte alle ## Headlines und ignorierte
Aufzaehlungen. Neue Version rendert h2/h3 und ul/li.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:51:51 +02:00
Claude Code
4b49ba04ff fix: Excerpt-Text und Karte laden jetzt korrekt
- ReferenceError durch undeklarierten 'eu'-Verweis behoben
  (verhinderte Ausfuehrung von Excerpt- und Map-Code)
- mdToHtml rendert jetzt Ueberschriften (h2/h3) und Listen (ul/li)
  statt alles zu entfernen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:50:55 +02:00
Claude Code
0564198cbc fix: Stats in Boxen mit Titel, kleinerer Abstand zum Workflow
- 'Grosslage - Irankonflikt' als Titel ueber den Stats
- Zahlen in einzelnen Boxen mit Schatten und Rahmen
- Uebergangsbereich zwischen Workflow und Stats deutlich kleiner

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:48:01 +02:00
Claude Code
44368f11cf fix: Workflow nach oben, Untertitel und Aktualisiert-Anzeige entfernt
- 'So funktioniert der AegisSight Monitor' direkt nach Hero
- 'Sehen Sie den Monitor in Aktion' Titel/Untertitel entfernt
- 'Aktualisiert vor X Std.' entfernt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:43:42 +02:00
Claude Code
747ea0f5e4 feat: Stats-Bar ueber Karussell, Pfeil-Navigation, Count-Up
- Stats (Artikel/Quellen/Faktenchecks) als prominente Bar ueber dem
  Karussell mit Count-Up-Animation und gruener Live-Pulse-Anzeige
- Pfeil-Buttons links/rechts fuer Karussell-Navigation
- Text-Card breiter (860px)
- Stats nicht mehr in der Card

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:39:28 +02:00
Claude Code
128d26056d perf: Produktseite laedt summary.json statt current.json (116 KB statt 10,4 MB)
- Produktseite fetcht summary.json statt der vollen current.json
- ~90x kleinere Datenmenge, deutlich schnellere Ladezeit
- Zusammenfassung bereits serverseitig extrahiert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:36:38 +02:00
Claude Code
dc17fbabc7 fix: Nur Zusammenfassung aktueller Entwicklungen anzeigen
Statt dem gesamten Lagebild-Text wird nur der Abschnitt
'Zusammenfassung aktueller Entwicklungen' extrahiert und
vollständig angezeigt. Kein Scroll, kein Weiterlesen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:31:02 +02:00
Claude Code
db5ba28bf1 fix: Karussell-Overflow behoben, Active Card im Seitenfluss
- Active Card position:relative statt absolute (Sektion wächst mit)
- Side Cards absolute positioniert mit Überlappung
- Excerpt max-height 500px mit Scroll für langen Text
- Viewport overflow:hidden verhindert Überlauf

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:29:12 +02:00
Claude Code
bfc545abda fix: Breitere Lagen-Card, Map-Zoom, gemischte Sektionsübergänge
- Iran-Card deutlich breiter (720px), voller Lagebild-Text mit Überschriften
- Weiterlesen-Button entfernt, gesamter Inhalt sichtbar
- Mausrad-Zoom auf Leaflet-Karte aktiviert
- Sektionsübergänge: Chevron (Hero), Gradient-Fades, Diagonale Schnitte
  statt einheitlicher Wellen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:26:59 +02:00
Claude Code
9c5ce933fb fix: 3D-Karussell + exakte Leaflet-Karte wie /lagebild
- 3D-Perspektiv-Karussell: Zentrale Card gross, seitliche klein/gekippt
- Klick auf seitliche Cards wechselt Ansicht, Dot-Navigation
- Karte mit exakten Pulse-Markern (Ring + Dot Animation)
- Dark Popups und Dark Legende wie bei /lagen/iran-konflikt/
- Kategorie-Farben und Labels aus der API

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:15:41 +02:00
Claude Code
d4d54a59b8 feat: Vorschau-Seite v2 - Komplettes Redesign
- Hero mit rotierenden Hintergrund-Videos
- Live-Demo Karussell mit Lagebild-Textauszug + Weiterlesen
- Interaktive Leaflet-Karte mit Live-Markern
- Weichere Hintergrundfarben (kein hartes Weiss)
- SVG-Wellen-Divider zwischen Sektionen
- Trust-Section ersetzt durch Unser Versprechen (4 Cards)
- Quellenanalyse-Icon getauscht (cube statt globe)
- Keine Emdashes
- Deutsche Flagge korrekt angezeigt (kein Invert-Filter)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:07:29 +02:00
Claude Code
f9a19a5153 fix: Passwort-Gate in Vorschau-Seite wiederhergestellt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:40:35 +02:00
Claude Code
aa6da557e4 feat: Neue Produktseite AegisSight Monitor unter /vorschau/
Produktfokussierte Landing Page mit:
- Hero: Klare Produktbotschaft und CTAs
- Problem/Solution: Warum OSINT-Automation nötig ist
- Features: 6 Kernfähigkeiten des Monitors
- Live-Demos: 3 Lagen-Cards (Iran live + 2 Platzhalter)
- Trust-Signale: Made in Germany, DSGVO, Hosting DE
- Light-Mode Design mit Navy/Gold Akzenten
- Live-Daten-Fetch aus /lagen/iran-konflikt/data/current.json
- Responsive (Desktop/Tablet/Mobile)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:38:18 +02:00
Claude Code
816d2a3a30 refactor: Lagebild nach /lagen/iran-konflikt/ verschoben + Vorschau-Seite
- /lagebild/ -> 301 Redirect -> /lagen/iran-konflikt/
- Relative Pfade auf absolute umgestellt (Tiefe 2)
- Sync-Script + Analytics auf neuen Pfad aktualisiert
- /vorschau/ mit Passwort-Gate fuer neue Hauptseite
- CLAUDE.md aktualisiert
- .gitignore: Lagen-Datenverzeichnisse ausgeschlossen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:20:21 +02:00
Claude Code
f777f44c06 AccountForger Video-Seite ans AegisSight Design angepasst
Navy-Hintergrund (#0A1832), Gold-Akzente (#C8A851) fuer Controls
und Buttons. AegisSight-Logo im Header. Alte IntelSight-CSS-Referenz
entfernt (Datei existierte nicht). Verwaiste JS-Klammer bereinigt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 15:28:57 +02:00
Claude Code
beaa0adde0 Auth-Modal an AegisSight Design angepasst
Navy-Hintergrund (#0A1832), Gold-Akzente (#C8A851), weisse Schrift
auf dunklem Grund. Ersetzt das generische blau-weisse Design.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 15:23:03 +02:00
Claude Code
f7f5be076d AccountForger-Video serverseitig geschützt
Clientseitigen sessionStorage-Check durch Nginx auth_request ersetzt.
Video-Seite und MP4-Datei werden nur noch mit gültigem Cookie ausgeliefert.
Token-Validierung läuft über das Security Dashboard (FastAPI + bcrypt).
Zugangscode wird über Security Dashboard Einstellungen verwaltet.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:15:05 +02:00
Claude Code
81f0b7121c analytics-events.js nur noch nach Cookie-Consent laden
Script-Tag aus allen HTML-Seiten entfernt. analytics-events.js wird
jetzt in cookie-consent.js dynamisch geladen — erst nach Zustimmung,
zusammen mit dem Umami-Tracking-Script. Bei Widerruf wird es wieder
entfernt. Beseitigt DSGVO-Bedenken durch bedingungsloses Laden.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:48:54 +02:00
Claude Code
4ebb29f941 Favicon in accountforger-video.html ergänzt
Einzige Seite der Website ohne Favicon-Tag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:32:13 +02:00
Claude Code
c4387fbd34 Analytics auf Umami umgestellt, Firmennamen korrigiert, Lagebild-Daten aus Git entfernt
- cookie-consent.js: Von /insights/t.js auf Umami (/analytics-und-so/datenblick.js)
  umgestellt, cookieloses Tracking korrekt beschrieben, Website-ID ergänzt
- analytics-events.js: Custom-Event-Tracking für Umami (Produkt-Clicks,
  About-Tabs, Scroll, Sprachwechsel, Lagebild-Besuche)
- Alle HTML-Seiten: analytics-events.js eingebunden
- impressum.html: "UG i. G." -> "UG (haftungsbeschränkt)"
- impressum-en.html: Footer-Jahr dynamisch, Firmenname korrigiert
- .gitignore: lagebild/data/ ausgeschlossen (wird per Cron-Sync
  alle 5min vom Monitor regeneriert, gehört nicht ins Repo)
- Doku-Updates: COOKIE_CONSENT_IMPLEMENTATION.md, DATENSCHUTZ_ANALYTICS.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:18:44 +02:00
Claude Code
38fb23481e protection.js entfernt — seit Jan 2026 deaktiviert, toter Code
Client-seitiger Kopierschutz (DevTools-Blocker, Rechtsklick-Sperre) war
seit 08.01.2026 per early return deaktiviert. Bietet keinen echten Schutz,
nur UX-Einschränkungen. Script-Tag aus index.html entfernt, Datei gelöscht.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:08:24 +02:00
Claude Code
d8ee667129 Footer: Blog-Link hinzugefügt (blog.aegis-sight.de)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 20:51:07 +02:00
Claude Code
eab7b0608e Lagebild: Powered-Badge durch Quellenhinweis im Tab ersetzt
Statt Badge rechts oben im Hero jetzt dezente Zeile
"Daten bereitgestellt durch AegisSight Monitor" über der
Zusammenfassung im Lagebild-Tab.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:24:41 +02:00
Claude Code
ced090a2e2 Lagebild: Powered-Badge Position nach oben korrigiert (top: 20px)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:21:21 +02:00
Claude Code
e2d4238889 Lagebild: Powered-Badge Verlinkung entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:20:42 +02:00
Claude Code
57a8645ede Lagebild Hero: Shield-Icon entfernt, LIVE-LAGEBILD Badge entfernt
Powered-Badge ist jetzt nur Text ohne Icon. Der pulsierende
LIVE-LAGEBILD Badge wurde komplett entfernt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:17:00 +02:00
Claude Code
1415139c10 Lagebild: Powered by AegisSight Monitor Badge im Hero hinzugefügt
Dezenter Badge rechts oben im Hero-Bereich, verlinkt auf /#products.
Responsive: Auf Mobile zentriert über dem Content.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:14:33 +02:00
Claude Code
4693f3b0ba fix: Lagebild-Links aus Navbar und Footer von Impressum/Datenschutz entfernt
Lagebild soll nur unter Lösungen auf der Startseite verlinkt sein,
nicht eigenständig in der Navigation oder im Footer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 21:25:11 +01:00
Claude Code
d78a41b924 Lagebild-Karte auf deutsche OSM-Kacheln umgestellt
tile.openstreetmap.de statt CartoDB Voyager für deutsche Beschriftungen,
identisch zum Monitor.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 22:58:07 +01:00
Claude Code
5caf66dd1e Karte: Zoom- und Scroll-Grenzen wie beim Monitor hinzugefügt
- minZoom: 2 verhindert zu weites Auszoomen
- maxBounds begrenzt Pan-Bereich auf Weltgrenzen
- maxBoundsViscosity: 1.0 macht Grenzen fest
- noWrap: true verhindert Kachel-Wiederholung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 22:49:21 +01:00
Claude Code
9463ca87ea feat: Kontextabhängige Karten-Kategorien im Lagebild
Neue Keys (primary/secondary/tertiary/mentioned) mit dynamischen
Labels aus category_labels API-Feld.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 15:04:15 +01:00
Claude Code
2c2913a48c fix: Quellenverweise mit Buchstaben-Suffix (z.B. [377a]) als klickbare Links
Der Regex fuer Citation-Links erkannte nur rein numerische Verweise [123],
nicht aber [123a]. Jetzt werden auch Suffixe wie a, b etc. korrekt
als klickbare Links gerendert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:48:42 +01:00
Claude Code
6c71e32648 fix: fixUmlauts-Funktion deaktiviert - verursachte falsche Umlaut-Ersetzungen
Die Funktion ersetzte blind ae->ae, oe->oe, ue->ue im gesamten Text.
Die unvollstaendige Skip-Liste fuehrte zu Fehlern wie:
- quer -> qür
- steuere -> steüre
Da die API-Daten bereits echte UTF-8-Umlaute enthalten, ist die
Funktion ueberfluessig und wurde durch eine Identity-Funktion ersetzt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 08:34:35 +01:00
Claude Code
1c953bf9c7 fix: Sync-Script ersetzt Gedankenstriche durch Kommas statt Bindestriche
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 07:37:04 +01:00
Claude Code
cafaeff61c Fix: Kein Geister-Eintrag in Timeline wenn Lagebild identisch mit letztem Snapshot
Wenn current_lagebild.updated_at == neuester Snapshot, wird kein separater
current-Eintrag erzeugt. Stattdessen bekommt der Snapshot das Aktuell-Label
mit aktuellen Live-Counts für Artikel und Faktenchecks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:28:15 +01:00
Claude Code
763b63cf1f Fix: Timeline zeigt korrekte historische Zahlen für Artikel, FCs und Quellen
- Dropdown: Gespeicherten fact_check_count statt Live-Filter verwenden
- Snapshot: Artikel per collected_at filtern statt immer alle anzeigen
- currentView: article_count + fact_check_count an allen 4 Stellen mitgeben
- Hero-Stats: Artikel/Quellen/FC-Zähler bei Snapshot-Wechsel aktualisieren
- Badges: Quellen- und FC-Badge dynamisch aktualisieren
- Hinweis wenn weniger FCs verfügbar als historisch gespeichert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:18:52 +01:00
Claude Code
27db92d124 Fix: Timezone-Doppel-Offset bei naiven Timestamps behoben
Naive Timestamps aus der DB (ohne Timezone-Info) wurden faelschlich als
UTC interpretiert (+Z), dann nochmal +1h fuer Europe/Berlin angezeigt.
Jetzt wird der korrekte Berlin-Offset (CET/CEST) dynamisch ermittelt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:06:47 +01:00
Claude Code
a249f6babf Fix syntax error in translations.js: remove stray n characters
Two stray n characters before OSINT Monitor comments (lines 122, 291)
caused a JavaScript syntax error that broke the entire translations module,
resulting in the error banner on page load and non-functional DE/EN toggle.
2026-03-09 17:22:15 +01:00
Claude Code
814f970961 Product-Titel dauerhaft Navy (#0A1832) statt nur bei Hover
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:14:52 +01:00
Claude Code
6a2832b7ae Lucide Earth-Icon und Navy-Titelfarbe für Monitor Card
- world-globe.svg durch Lucide Earth-Icon ersetzt (richtige Weltkugel)
- Titelfarbe auf #0A1832 (Navy) wie AccountForger

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:12:28 +01:00
Claude Code
9f3a38cd8d Beschreibungstext: AegisSight Monitor statt Unser OSINT-Monitor
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:08:50 +01:00
Claude Code
7ac09a41aa OSINT Monitor Card: Icon, Name und Emdash korrigiert
- Neues Weltkugel-Icon (world-globe.svg) statt generischem globe.svg
- Titel zu AegisSight Monitor geändert (ohne OSINT)
- Emdashes durch normale Bindestriche ersetzt (DE + EN)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:08:41 +01:00
Claude Code
d983bc3c73 OSINT Monitor Product Card zur Lösungen-Sektion hinzugefügt
- Neue Product Card mit Globe-Icon, Beschreibungstext und Link zum Iran-Liveticker
- DE/EN Übersetzungen ergänzt
- Card verlinkt direkt auf /lagebild/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:06:34 +01:00
Claude Code
93d5a1ecad Fix: Timeline-Faktencheck-Zähler nutzt jetzt getFactChecksAtTime()
Der Timeline-Zähler zeigte bisher fact_check_count aus den Snapshot-Metadaten,
die für ältere Snapshots 0 waren. Jetzt wird dieselbe Logik wie im Tab
verwendet, sodass die Zahlen immer konsistent sind.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:05:58 +01:00
Claude Code
bc29689a87 Lagebild-Link aus Navigation entfernen
Entfernt den direkten Link zu /lagebild aus Desktop-Nav, Mobile-Nav.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:07:24 +01:00
Claude Code
f9a0b1b3b9 Lagebild: Timeline-Dropdown durch horizontale Timeline ersetzt
- Grid-Dropdown durch horizontale Zeitleiste ersetzt (links alt, rechts neu)
- Goldene Farbgebung: Punkte, Linie, aktiver Punkt pulsierend
- Sichtbare goldene Scrollbar bei vielen Einträgen
- Fester Abstand zwischen Punkten (gap statt flex:1)
- Auto-Scroll zum aktiven (aktuellsten) Punkt
- Andere Tage laden den ältesten Snapshot, aktueller Tag den neuesten
- Labels ausgeschrieben (Artikel, Faktenchecks)
- Timeline immer sichtbar (auch bei nur 1 Snapshot)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:19:25 +01:00
Claude Code
039c9a6832 Lagebild-Karte: dynamische Locations aus API statt hardcoded
Karte zeigt jetzt Orte aus der Monitor-API (article_locations)
statt einer festen Liste. Kategorien target/response/actor/mentioned
werden dynamisch angezeigt mit Legende.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 22:00:48 +01:00
Claude Code
ccdbbdc687 Lagebild: JS-seitige Dash-Ersetzung entfernt (wird jetzt im Sync-Skript bereinigt)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:57:09 +01:00
Claude Code
8c779cd988 Lagebild: Em-Dashes und En-Dashes aus Summary-Text entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:54:01 +01:00
Claude Code
a7236e38fa Lagebild: Summary-Text kompakter, Bold-Hervorhebung entfernt
- Schriftgröße von 1.02rem auf 0.9rem reduziert
- Zeilenhöhe von 1.85 auf 1.7 reduziert
- Fettschrift im Lagebericht deaktiviert (font-weight: normal)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:49:36 +01:00
Claude Code
26c82dfa86 Lagebild: Lagebild-Link aus Navigation entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:39:05 +01:00
Claude Code
10c023210b Lagebild: Live-Feed komplett entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:30:39 +01:00
Claude Code
9f3b19def0 Lagebild: Live-Feed auf einzelne Statuszeile reduziert, Faktencheck-Beschreibung erweitert
- Artikel/Faktenchecks-Zeile aus Live-Feed entfernt
- Nur noch "Letzte Aktualisierung" als statische Anzeige
- Faktencheck-Beschreibung um kontinuierliche Prüfung ergänzt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:29:46 +01:00
Claude Code
8189cf9add Lagebild: Faktenchecks als Filter + Akkordeon mit Monitor-Icons
- Stat-Cards klickbar als Filter (Gesamt/Bestätigt/Offen/Widerlegt), zentriert
- Kompakte Akkordeon-Zeilen statt großer Karten
- Icons vom echten Monitor (✓ ✗ ? ↻ ⚠) als farbige Quadrate
- Klick auf Zeile klappt Detail auf (Evidenz + Statusverlauf)
- Nur eine Zeile gleichzeitig offen
- Gold-Punkt bei Einträgen mit Statusverlauf

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:24:49 +01:00
Claude Code
2bbe0b0bb7 Lagebild: Karte auf helle Tiles umgestellt (CartoDB Voyager)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:17:04 +01:00
Claude Code
fe24adf951 Lagebild: Quellen-Tab als Tile-Grid mit Aufklapp-Detail
- Quellen werden als 6-Spalten-Kachel-Grid dargestellt (wie im echten Monitor)
- Jede Kachel zeigt Favicon, Quellenname, Sprache und Artikelanzahl
- Klick auf Kachel öffnet Detail-Panel mit allen Artikeln dieser Quelle
- Nur eine Quelle gleichzeitig offen, Panel erscheint unter der Kachel-Reihe
- Gold-Glow Hover-Effekte, Slide-In Animation
- Responsive: 6 Spalten Desktop, 4 Tablet, 2 Mobile
- Live-Feed: Quellen-Zeile entfernt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:11:26 +01:00
Claude Code
27f4d0a2f9 Lagebild: Tab-Navigation zentriert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:43:08 +01:00
Claude Code
9712927746 Lagebild: Tab-Reihenfolge geändert, KI-Analyse Feed-Zeile entfernt
Neue Reihenfolge: Lagebild, Karte, Faktenchecks, Quellen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:41:31 +01:00
Claude Code
2e2726c013 Lagebild: Wow-Effekte hinzugefügt
- Gold-Glow-Effekte auf Stat-Cards, Tabs, CTA-Button, Badge, Timeline
- Tab-Wechsel mit Slide-Fade-Animation statt hartem Cut
- Partikel-Netzwerk im Hero-Hintergrund (Canvas, pure JS)
- Pulsierende Karten-Marker mit farbigen Ringen statt statischer Pins
- Live-Feed-Ticker im Hero (rotiert Statusmeldungen)
- Scroll-Progress-Bar am oberen Rand (goldener Balken)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:36:08 +01:00
Claude Code
15f076b06f Lagebild: Tab-Navigation wiederhergestellt (Revert Scroll-Narrative)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:05:00 +01:00
Claude Code
06c99fe4db Lagebild: Sticky Section-Nav und Scroll-Spy entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:01:43 +01:00
Claude Code
dc0792c073 Lagebild: Tab-Navigation zu Scroll-Narrative mit Sticky Section-Nav umgebaut
- Alle Sektionen (Lagebild, Karte, Faktenchecks, Artikel) auf einer scrollbaren Seite
- Sticky Section-Nav mit Scroll-Spy (IntersectionObserver) ersetzt Tab-Buttons
- Karte rendert sofort (nicht mehr erst bei Tab-Klick), full-width Layout
- Artikel auf Top 20 limitiert mit Alle anzeigen Button
- Quellen-Tab zu Artikel umbenannt, zitierte Quellen entfernt
- Control-Bar sticky mit Shadow-Effekt beim Scrollen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:53:44 +01:00
Claude Code
5e5cb0a3b2 Lagebild: Floating CTA erscheint nach 60s erneut wenn weggeklickt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:34:54 +01:00
Claude Code
3c0989545b Lagebild: CTA-Block durch Floating Pill ersetzt
- Statischer CTA-Block am Seitenende entfernt
- Floating Pill am unteren Bildschirmrand (zentriert)
- Erscheint nach 400px Scroll, Glasmorphism-Stil
- Gold-Button Kontakt aufnehmen mit mailto-Link
- Schliessbar mit X-Button
- Responsive: volle Breite auf Mobile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:30:34 +01:00
Claude Code
d48c090385 Lagebild: Inline-Quellenverzeichnis entfernt, Heading zurueckgesetzt
- Quellenverzeichnis am Ende des Lagebild-Tabs entfernt (Zitat-Refs verlinken direkt)
- Heading im Quellen-Tab zurueck zu Im Lagebild zitierte Quellen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:23:17 +01:00
Claude Code
2a72e5c38d Lagebild: Quellen-Ueberschrift gekuerzt zu Zitierte Quellen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:19:33 +01:00
Claude Code
b7944a78f0 Lagebild: Quellenverzeichnis-Toggle als Button mit groesserem Pfeil
- Toggle als sichtbare Schaltflaeche mit Background und Border
- Pfeil groesser (1.1rem) und in Gold
- Hover-Effekt mit Gold-Border

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:17:58 +01:00
Claude Code
fa3aa6ed12 Lagebild: Quellenverzeichnis collapsible mit Inline-Flow-Layout
- Standardmaessig zugeklappt: Pfeil + Quellenverzeichnis (91 Quellen)
- Klick klappt auf: Quellen inline mit Mittelpunkt-Trenner
- Jede Quelle verlinkt auf URL

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:16:15 +01:00
Claude Code
80dfb671ce Lagebild: FC zu Faktenchecks ausgeschrieben in Timeline-Dropdown
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:10:04 +01:00
Claude Code
8d432e5ec9 Lagebild: Zitate verlinken auf Quell-URL, Quellenverzeichnis kompakter, Em-Dashes entfernt
- Zitat-Refs zeigen Quellenname im Tooltip, oeffnen URL in neuem Tab
- Quellenverzeichnis: kompaktes 2-Spalten-Layout, nur Name als Link
- Alle Em-Dashes durch Bindestriche ersetzt
- Stand im Hero zeigt jetzt auch Uhrzeit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:08:39 +01:00
Claude Code
3429a3fd9e Lagebild: Stand-Karte entfernt (Datum in Titel), Control-Bar nicht mehr sticky, Timeline-Dropdown Grid-Layout
- Stand stat card entfernt, Datum als Span neben incident-title
- Hero-Stats Grid von 4 auf 3 Spalten, max-width 650px
- Control-Bar: position sticky/top/z-index entfernt
- Timeline-Dropdown: flex -> CSS grid (auto-fill minmax 210px)
- Responsive: Dropdown-Grid für Mobile angepasst (minmax 170px)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:54:59 +01:00
Claude Code
23b6a7036d Fix: Logo-Hintergrund, Scroll-Reveal-Bug, Timeline-Dropdown, UI-Cleanup
- Logo: Blau-grauer Hintergrund für Lesbarkeit auf dunkler Navbar
- Scroll-Reveal Fix: Cards in hidden tabs sofort revealed, nur sichtbare via Observer
- Tab-Wechsel: Reveal-Trigger für Cards im neu aktiven Panel
- Timeline-Dropdown: Aufklappbare Uhrzeiten pro Tag, neuester Tag standardmäßig offen
- Entfernt: FC-Quick-Stats im Hero, Powered-by Badge, CTA-Powered-Text
- CSS: Timeline-Dropdown Styles, unused hero-fc/powered-by Styles entfernt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:35:50 +01:00
Claude Code
500f6129f1 Lagebild Design-Refresh: Dark Theme mit Navy/Gold Design System
- CSS komplett neu: Dark Theme mit eigenen Variablen (--lb-*), Glasmorphism Stat-Cards, Timeline-Strip
- Hero: Count-Up Animationen, Faktencheck-Quick-Stats, Powered-by Badge
- Kalender-Timeline ersetzt Snapshot-Dropdown (Tage gruppiert, Gold-Akzent für aktiven Tag)
- Tab-Badges mit Quellen-/Faktencheck-Zähler
- Dark Map Tiles (CartoDB Dark Matter) mit dunkler Legende und Popups
- Scroll-Reveal Animationen (IntersectionObserver)
- Smooth-Scroll für Zitat-Links mit Gold-Highlight
- Favicons via Google Favicon API bei Artikeln
- Responsive: Mobile 2x2 Stat-Grid, scrollbare Timeline
- Nav + Footer Dark Override ohne Änderung an main.css

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:17:49 +01:00
Claude Code
3ea6acaab2 Sicherung vor Design-Refresh: Timezone-Fixes + neue Snapshots
- lagebild.js: Feste Europe/Berlin Zeitzone für alle Datumsanzeigen
- Neue Snapshot-Dateien (111-118) hinzugefügt
- current.json aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:04:05 +01:00
152 geänderte Dateien mit 12268 neuen und 43561 gelöschten Zeilen

5
.gitignore vendored Normale Datei
Datei anzeigen

@@ -0,0 +1,5 @@
# Lagebild-Daten (werden per Cron-Sync vom Monitor regeneriert)
lagebild/data/
lagen/*/data/*
# Aber Verzeichnis-Platzhalter behalten (Staging-Container braucht Mountpoint)
!lagen/*/data/.gitkeep

339
CLAUDE.md
Datei anzeigen

@@ -2,93 +2,208 @@
RELATED_DOCS: RELATED_DOCS:
COOKIE_CONSENT_IMPLEMENTATION.md: "Cookie-Banner Implementierung, GDPR, Testing" COOKIE_CONSENT_IMPLEMENTATION.md: "Cookie-Banner Implementierung, GDPR, Testing"
DATENSCHUTZ_ANALYTICS.md: "Textbausteine fuer Datenschutzerklaerung" DATENSCHUTZ_ANALYTICS.md: "Textbausteine für Datenschutzerklärung"
PROFESSIONAL_TOOLBOX_CONTENT.md: "Backup-HTML fuer entfernte Produktkarte" PROFESSIONAL_TOOLBOX_CONTENT.md: "Backup-HTML für entfernte Produktkarte"
VIDEO_UPLOAD_INSTRUCTIONS.md: "Anleitung fuer manuelle Video-Uploads (Git-Limit)" VIDEO_UPLOAD_INSTRUCTIONS.md: "Anleitung für manuelle Video-Uploads (Git-Limit)"
LAUNCH-CHECKLIST.md: "Checkliste für den Launch der überarbeiteten Hauptseite"
PROJECT: Website PROJECT: Website
STATUS: PRODUCTION STATUS: PRODUCTION
URL: https://aegis-sight.de URL: https://aegis-sight.de
CONTAINER: aegis-website-nginx CONTAINER: aegis-website-nginx (+ aegis-php-fpm für /insights/)
COMPANY: COMPANY:
name: AegisSight UG (haftungsbeschraenkt) name: AegisSight UG (haftungsbeschränkt)
domain: aegis-sight.de domain: aegis-sight.de
email: info@aegis-sight.de email: info@aegis-sight.de
TECHNOLOGY: TECHNOLOGY:
type: Static Website type: Static Website (kein Build-Step)
build_process: NONE build_process: NONE
deployment: Docker/nginx deployment: Docker (nginx:alpine für statische Files, PHP-FPM für /insights/)
frontend: frontend:
- HTML5 - HTML5
- CSS3 (modular) - CSS3 (modular)
- JavaScript ES6+ - JavaScript ES6+ (kein Framework)
- SVG - SVG
- Leaflet 1.9.4 + MarkerCluster (CDN, für Lagebild-Karten)
features: features:
- multi_language: [DE, EN] - multi_language: [DE, EN]
- responsive: mobile-first - responsive: mobile-first
- video_backgrounds: true - hero_video_slider: 5 Slides auf der Startseite (Auto-Play mit Endcard, manuelle Navigation)
- cookie_consent: GDPR-compliant - 3d_carousel: Lagen-Showcase auf der Hauptseite, gekoppelt an Leaflet-Karte
- live_data: /lagen/{thema}/data/current.json (alle 5 min synchronisiert)
- cookie_consent: GDPR-konform
- security_headers: enabled - security_headers: enabled
STRUCTURE: STRUCTURE:
root_files: root_files:
- index.html: Hauptseite - index.html: Hauptseite (DE) - Hero-Slider, Features, Problem, Workflow, Demos, Kontakt, Trust
- impressum.html: Impressum DE - impressum.html: Impressum (DE)
- impressum-en.html: Impressum EN - datenschutz.html: Datenschutz (DE)
- datenschutz.html: Datenschutz DE - accountforger-video.html: Geschützte Produkt-Demo (auth_request gegen Security-Dashboard)
- datenschutz-en.html: Datenschutz EN - cookie-consent.js, cookie-consent.css: GDPR Cookie-System (liest <html lang> selbständig)
- accountforger-video.html: Produkt-Demo - analytics-events.js: Umami-Custom-Events
- robots.txt: SEO-Konfiguration - favicon.svg, de.svg, en.svg, robots.txt, sitemap.xml, llms.txt
- cookie-consent.js: GDPR Cookie-System - LAUNCH-CHECKLIST.md, DATENSCHUTZ_ANALYTICS.md, COOKIE_CONSENT_IMPLEMENTATION.md, PROFESSIONAL_TOOLBOX_CONTENT.md, VIDEO_UPLOAD_INSTRUCTIONS.md: interne Doku
- cookie-consent.css: Cookie-Banner Styles
directories: directories:
assets: en/:
fonts: [Inter, Bebas Neue] - index.html: Hauptseite (EN)
images: - legal-notice.html: Impressum (EN, Hinweis "German version prevails")
icons: UI-Icons (SVG) - privacy.html: Datenschutz (EN, Hinweis "German version prevails")
flags: Laenderflaggen situations/:
logos: "Logo+Schrift_Rechts.svg" - iran-conflict/index.html: Lagebild Iran (EN-Mirror, teilt /lagen/iran-konflikt/data)
videos: "~300MB - Hero-Videos, AFv6.mp4" - cyber-attacks/index.html: Lagebild Cyberangriffe (EN-Mirror, teilt /lagen/cyberangriffe/data)
- deepfakes/index.html: Recherche Deepfakes (EN-Mirror, teilt /lagen/deepfakes/data)
css: assets/:
- main.css: Kern-Styles fonts/: Inter, Bebas Neue
- animations-enhanced.css: Animationen images/: icons (UI-SVG), flags (Länderflaggen), logos (Logo+Schrift_Rechts.svg, AegisSightLogo_NavyGold.svg, og-image.png)
- mobile.css: Mobile Responsive videos/AFv6.mp4: AccountForger-Demo, ~93 MB, Git LFS
- fonts.css: Typografie handshake.svg
js: videos/: Hero-Slider-Videos der Startseite
- main.js: Einstiegspunkt - hero-slide-1-monitoring.mp4: Echtzeit-Monitoring
- translations.js: Mehrsprachigkeit - hero-slide-2-monitoring.mp4: Faktenprüfung
- components.js: UI-Komponenten - hero-slide-3-monitoring.mp4: KI-gestützte Recherche
- animations.js: Animationssystem - hero-slide-4-monitoring.mp4: Globale Quellenabdeckung
- hero-slide-5-monitoring.mp4: Flexibel einsetzbar
docs: Rechtliche PDFs css/:
aktiv_eingebunden:
- main.css: Kern-Styles
- style.css: Light-Mode Styles (index, legal pages, /en/)
- mobile.css: Mobile Responsive
- fonts.css: Typografie
- lang-switcher.css: Sprachumschalter-Komponente (DE/EN)
# Legacy CSS-Files am 2026-05-10 entfernt
js/:
aktiv_eingebunden:
- app.js: Hero-Slider, Smooth-Scroll, Mobile-Menü, 3D-Karussell, Leaflet-Karte, Live-Daten, Kontaktformular
- config.js: globale Konfiguration
- mobile-nav.js: Mobile-Menü-Helfer
# Legacy JS-Files am 2026-05-10 entfernt
docs/: Legacy-PDFs aus IntelSight-Zeit, von der aktuellen Seite nicht mehr verlinkt
- datenschutzerklaerung_intelsight_de_de.pdf, impressum_intelsight_de_de.pdf, Sitemap_IntelSight_UG.docx
downloads/:
af-updates/: AccountForger-Update-Pakete (per Token zugänglich)
insights/: PHP-Skripte für /insights/ (Container aegis-php-fpm), Datenablage in insights/data/
lagen/:
iran-konflikt/:
- index.html, lagebild.css, lagebild.js, data/{current.json, current_en.json, snapshot-N.json}
- HOST der Lagebild-Assets: cyberangriffe und deepfakes binden /lagen/iran-konflikt/lagebild.{css,js} ein
cyberangriffe/:
- index.html (referenziert /lagen/iran-konflikt/lagebild.{js,css}), data/...
deepfakes/:
- index.html (referenziert /lagen/iran-konflikt/lagebild.{js,css}), data/...
PAGES: PAGES:
homepage: homepage:
sections: [Hero mit Video, Ueber uns, Loesungen, Kontakt] sections:
- "Hero: 5-Video-Slider mit Auto-Play, Endcard und manueller Navigation (Pfeile + Dots)"
- "Features: Was der Monitor leistet (Echtzeit-Monitoring, Quellenanalyse, Geo, Mehrsprachigkeit, Lagebilder)"
- "Problem: Warum manuelle OSINT-Auswertung nicht skaliert"
- "Solution/Workflow: 3 Schritte (Erfassen, Analysieren, Berichten)"
- "Demos: Live-Stats-Bar + 3D-Karussell (Iran/Cyber/Deepfakes-Cards) + gekoppelte Leaflet-Karte"
- "Kontakt-CTA: öffnet Modal mit Kontaktformular"
- "Trust: Unser Versprechen (Zusammenarbeit, Made in Germany, Partnerschaft, Nachhaltigkeit)"
legal: legal:
- Impressum (DE/EN) - /impressum.html bzw. /en/legal-notice.html
- Datenschutz (DE/EN) - /datenschutz.html bzw. /en/privacy.html
product: product:
- AccountForger Video-Demo - /accountforger-video.html: AccountForger Video-Demo, Cookie-/Token-geschützt über Security-Dashboard
lagen:
url_struktur:
de: /lagen/{thema}/
en: /en/situations/{slug}/
slug_mapping:
iran-konflikt: iran-conflict
cyberangriffe: cyber-attacks
deepfakes: deepfakes
daten_freigabe: |
EN-Mirror-Seiten setzen window.LAGEBILD_DATA_BASE auf den DE-Pfad,
damit beide Sprachvarianten die gleichen JSON-Daten laden. lagebild.js
liest curLang() aus <html lang> und schaltet UI-Strings automatisch um
(lang.de / lang.en Dictionary).
redirect: /lagebild/ -> 301 -> /lagen/iran-konflikt/
aktiv:
- iran-konflikt / iran-conflict: Live-Lagebild Irankonflikt
- cyberangriffe / cyber-attacks: Live-Lagebild Cyberangriffe
- deepfakes / deepfakes: Recherche-Briefing Deepfakes (rechtliche Lage in DE)
DEVELOPMENT: DEVELOPMENT:
translations: js/translations.js i18n:
large_files: "assets/videos/ (~300MB)" ansatz: statische Duplikate (DE unter /, EN unter /en/)
sprachumschalter: css/lang-switcher.css
pendant_urls: in jeder Seite hardcoded (funktioniert ohne JS)
cookie_banner: cookie-consent.js liest <html lang> selbständig
lagen: lagebild.js liest <html lang> via curLang(); Daten-Pfad über
window.LAGEBILD_DATA_BASE pro EN-Mirror-Seite
kontaktformular: |
Frontend (js/app.js) sendet lang im POST-Body, zeigt Sende- und
Fehler-Texte in der jeweiligen Sprache. Backend
(/opt/v2-Docker/aegis-website/contact-form.py, NICHT im Repo)
liest lang und antwortet entsprechend; E-Mail an info@aegis-sight.de
bleibt deutsch, mit Hinweis "[EN]" im Betreff bei EN-Anfragen.
large_files:
- assets/videos/AFv6.mp4 (~93 MB, Git LFS)
- videos/hero-slide-{1..5}-monitoring.mp4
design: mobile-first responsive design: mobile-first responsive
SERVICES:
contact-form:
script: /opt/v2-Docker/aegis-website/contact-form.py
service: aegis-contact.service
port: 127.0.0.1:8074
nginx: /api/contact -> 127.0.0.1:8074
zweck: Kontaktformular-Handler (SMTP via IONOS an info@aegis-sight.de)
rate_limit: 3 Anfragen pro IP / 10 Min
i18n: lang im POST-Body steuert Fehler-/Erfolgsmeldungen, [EN]-Tag im Betreff
sync-lagebild:
script: /opt/v2-Docker/aegis-website/sync-lagebild.py
cron: alle 5 Minuten via /home/claude-dev/run-sync-lagebild.sh
quelle: https://monitor.aegis-sight.de/api/public (X-API-Key)
ziel: /opt/v2-Docker/aegis-website/html/lagen/{slug}/data/
übersetzung: claude-haiku-4-5 (Title, Description, Summary, Latest-Developments, Faktenchecks Batches à 30)
cache: data/{slug}/translation_cache.json (md5(text) als key)
lagen_konfiguriert: iran-konflikt (incident_id 6, legacy_endpoint), deepfakes (55), cyberangriffe (58)
ssr_patch: |
Modul /opt/v2-Docker/aegis-website/ssr_patch.py (NICHT im Repo).
Wird am Ende von sync_lage() aufgerufen und patcht die statischen
Lagen-HTML-Files DE+EN mit aktuellen Live-Daten:
- <p id="incident-title">: Topic + Stand-Datum (lokalisiert DE/EN)
- <div id="hero-stats">: 3 Stat-Cards (Artikel/Quellen/Faktenchecks)
- Schema.org dateModified: aktuelles Datum
Patches sind ID-basiert und idempotent.
WICHTIG: Auto-Deploy (git reset --hard) ueberschreibt die SSR-Patches
im html-Verzeichnis. Nach jedem Promote dauert es bis zum naechsten
5-min-Sync, bis Crawler wieder den SSR-Content sehen. Fuer Nutzer
mit JavaScript ist das egal (lagebild.js rendert sowieso identisch).
insights:
container: aegis-php-fpm (172.18.0.6)
zweck: PHP-Backend für /insights/ (Analytics-Datenablage)
volumes: ./insights:/var/www/insights:ro, ./insights/data:/var/www/insights/data:rw
DEPLOYMENT: DEPLOYMENT:
container: aegis-website-nginx container: aegis-website-nginx (172.18.0.5)
server: nginx (static files) server: nginx:alpine, read-only Filesystem, no-new-privileges, cap_drop ALL
ssl: enabled ssl: Host-nginx mit Let's Encrypt (Reverse-Proxy auf den Container)
security_headers: enabled security_headers: /etc/nginx/snippets/security-headers.conf
rate_limiting: configured rate_limiting: konfiguriert für Kontaktformular und /usage/api/widget/
besonderheiten:
- "Lagen-JSON: 60 s Browser-Cache mit must-revalidate (ETag-Validierung)"
- "/accountforger-video.html + assets/videos/AFv6.mp4: auth_request gegen Security-Dashboard (8050), bei Ablehnung 302 zu /?showAuth=1"
- "/analytics-und-so/datenblick.js: verschleierter Pfad gegen Adblocker (proxied auf Umami)"
CHANGE_LOG: CHANGE_LOG:
2026-01-08: 2026-01-08:
@@ -96,5 +211,131 @@ CHANGE_LOG:
- "Neues Logo: Logo+Schrift_Rechts.svg" - "Neues Logo: Logo+Schrift_Rechts.svg"
- "Email: info@aegis-sight.de" - "Email: info@aegis-sight.de"
- "Footer: Dynamisches Jahr, AGB entfernt" - "Footer: Dynamisches Jahr, AGB entfernt"
2026-05-06:
- "i18n: Sprachumschalter DE/EN, neue Seiten unter /en/"
- "Aufräumen: js/translations.js, impressum-en.html, datenschutz-en.html entfernt"
- "data-translate Attribute aus Lagen-Seiten entfernt"
- "EN-Lagen-Seiten unter /en/situations/{slug}/, teilen DE-Datenfiles"
- "lagebild.js: curLang() liest <html lang>, dataBase()-Helper neu, tote initLangToggle/switchContent entfernt"
- "Kontaktformular zweisprachig (Frontend + Backend)"
2026-05-10:
- "Doku-Cleanup: /vorschau/ entfernt (alte Vorab-Produktseite, längst durch index.html mit Hero-Slider und Live-Demos ersetzt)"
- "STRUCTURE: aktive vs. legacy CSS/JS getrennt, videos/, downloads/, insights/, accountforger-video.html, weitere Top-Level-Files ergänzt"
- "Lagen-Layout: cyberangriffe und deepfakes binden Lagebild-CSS/JS aus iran-konflikt ein (zentrale Assets)"
- "SERVICES: sync-lagebild und insights ergänzt"
- "SEO Quick-Wins: Title-Konsistenz Iran-Konflikt; Meta-Hygiene auf 12 Seiten (robots index/follow + max-image-preview:large, theme-color, author)"
- "SEO Stufe 2: SSR-Patches der Lagen-HTMLs alle 5 min (sync-lagebild.py + neues ssr_patch.py-Modul). Crawler sehen Topic + Stats + Stand-Datum im HTML statt JS-Shell"
- "Tech: Self-Hosting Leaflet 1.9.4 + Markercluster 1.5.3 nach assets/vendor/leaflet/ (kein Third-Party-Call mehr); image-Sitemap mit og-image + Logo pro URL"
- "Performance: Logo PNG -> SVG mit width/height (CLS), loading=lazy auf 25 unter-Fold-Bilder, preconnect zu unpkg (jetzt obsolet, durch Self-Hosting ersetzt)"
- "3 Lagen-Descriptions auf <=160 Zeichen gekuerzt"
- "Sitemap mit lastmod-Tag pro URL"
- "Hauptseite Schema.org erweitert: WebSite + SoftwareApplication (mit featureList und offers)"
- "Lagen-Seiten Schema.org BreadcrumbList ergänzt (Home -> Topic)"
- "llms.txt angelegt (Site-Struktur für KI-Crawler)"
- "Performance: Hero-Slides 2-5 preload=metadata -> none (Slide 1 bleibt auto)"
- "Repo aufgeräumt: 5 tote CSS-Files in /css/, 7 tote JS-Files in /js/, robots-launch.txt + sitemap-launch.xml entfernt"
- "SEO Stufe 1: noindex/nofollow von 12 indexierbaren Seiten entfernt; robots.txt scharf geschaltet (Live-Search-AI-Bots erlaubt, Training-Bots geblockt); sitemap.xml deployt"
- "Lagen-Seiten: description, canonical, Open Graph, Twitter Card, Schema.org Article ergänzt; Topic-Default in #incident-title als Crawler-Fallback"
Last-Updated: 2026-01-25 Last-Updated: 2026-05-10
RULES:
neue_html_seiten:
- "Jede neue HTML-Datei MUSS im <head> folgende Favicon-Tags enthalten:"
- "<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon.svg\">"
- "<link rel=\"apple-touch-icon\" href=\"/assets/images/logos/AegisSightLogo_NavyGold.svg\">"
- "Für Unterverzeichnisse relative Pfade anpassen, z.B. ../favicon.svg"
# ───────────────────────────────────────────────────────────────────
# STAGING-UMGEBUNG
# ───────────────────────────────────────────────────────────────────
STAGING:
url: https://staging.aegis-sight.de
server: 46.225.225.49 (gleicher Host wie Live)
container: aegis-website-staging-nginx (eigener Docker-Container)
pfad: /opt/v2-Docker/aegis-website-staging/html
branch: develop
netzwerk_ip: 172.18.0.7 (im v2_internal_net)
zugriff: Magic-Link-Login an info@aegis-sight.de (Cookie 30 Tage)
besonderheit_lagen_daten:
erklaerung: |
Die Live-Lagen-Daten (/lagen/*/data/*.json) werden vom sync-lagebild.py
erzeugt und nicht ins Repo committed. Im Staging-Container ist das
Live-/lagen/-Verzeichnis read-only gemountet, damit die Karten-Vorschau
auch im Staging mit echten Daten funktioniert.
mount_im_compose: /opt/v2-Docker/aegis-website/html/lagen:/usr/share/nginx/html/lagen:ro
auth_service:
pfad: /opt/v2-Docker/aegis-staging-auth
service: aegis-staging-auth.service
port: 127.0.0.1:8095
cookie_domain: staging.aegis-sight.de
cookie_name: aegis_staging_auth
WORKFLOW_STAGING_TO_LIVE:
1_aenderung_in_develop: |
# NIE direkt im Live-Verzeichnis arbeiten -> tmp-Klon nutzen
git clone <repo> /tmp/website-work && cd /tmp/website-work
git checkout develop
# Änderung machen
git add . && git commit -m ...
git push origin develop
2_staging_aktualisieren_automatisch: |
# Auto-Deploy pullt automatisch -> kein manueller git pull nötig
# (Webhook -> /__deploy mit HMAC -> aegis-staging-deploy.service)
3_in_browser_pruefen: https://staging.aegis-sight.de
4_promote_zu_live: |
# Auf deploy.aegis-sight.de "Promote -> Live" klicken
# Erstellt PR develop->main, mergt ihn auto, triggert Live-Deploy via HMAC
# ───────────────────────────────────────────────────────────────────
# AUTO-DEPLOY + PROMOTE-UI
# ───────────────────────────────────────────────────────────────────
AUTO_DEPLOY:
prinzip: |
Gitea-Webhook bei Push auf develop -> Listener-Service auf dem Server pullt
automatisch + restartet ggf. den Service. Kein manueller git pull mehr nötig.
listener_service:
pfad: /opt/v2-Docker/aegis-staging-deploy
service: aegis-staging-deploy.service
port: 127.0.0.1:8096
deployments:
staging: "develop -> /opt/v2-Docker/aegis-website-staging/html"
live: "main -> /opt/v2-Docker/aegis-website/html"
endpoints:
"POST /__deploy": "staging (HMAC über Gitea-Webhook)"
"POST /__deploy/live": "live (HMAC über Promote-UI)"
secrets: in /opt/v2-Docker/aegis-staging-deploy/.env (nicht im Repo)
gitea_webhook:
repo: AegisSight/Website
url: https://staging.aegis-sight.de/__deploy
branch_filter: develop
PROMOTE_UI:
url: https://deploy.aegis-sight.de
pfad: /opt/v2-Docker/aegis-promote
service: aegis-promote.service
port: 127.0.0.1:8097
zugriff: Magic-Link-Login an info@aegis-sight.de (eigener Cookie deploy.aegis-sight.de)
funktion: |
Zeigt pro Service (Webseite + Monitor + Verwaltung + Tenders) Live- vs. Staging-Stand.
Promote-Button erstellt Gitea-PR develop->main, mergt ihn auto, und triggert
den Live-Deploy via HMAC-signed Webhook am Listener-Service.
Release-Notes-Vorschlag (Sonnet) editierbar oder leer lassen.
WORKFLOW_KOMPLETT:
1_entwickeln: |
# NIE direkt im Live-Verzeichnis arbeiten!
# Klon in /tmp/<service>-work/ oder lokal nutzen
git checkout develop
# Änderung
git add . && git commit && git push origin develop
# -> Auto-Deploy pullt in /opt/v2-Docker/aegis-website-staging/html
2_pruefen_staging: https://staging.aegis-sight.de/
3_promoten: https://deploy.aegis-sight.de/ (Promote-Knopf)
4_pruefen_live: https://aegis-sight.de/

Datei anzeigen

@@ -1,51 +1,54 @@
# 🍪 COOKIE CONSENT IMPLEMENTIERUNG - KOMPLETT-GUIDE # ANALYTICS IMPLEMENTATION - KOMPLETT-GUIDE
**IntelSight / Aegis-Sight** **AegisSight UG**
**Datum:** 2025-11-09 **Datum:** 2026-03-20
**Version:** 1.0 **Version:** 2.0
**Status:** Implementation Complete **Status:** Implementation Complete
--- ---
# PHASE 1: BESTANDSAUFNAHME # PHASE 1: BESTANDSAUFNAHME
## Dienste & Cookies Katalog ## Dienste & Tracking Katalog
### **Dienste im Einsatz:** ### **Dienste im Einsatz:**
- **IntelSight Analytics** (Self-Hosted, Deutschland) - **AegisSight Analytics (Umami v3.0.3)** - Self-Hosted, Deutschland
- Keine Google Analytics - Keine Google Analytics
- Keine Facebook Pixel - Keine Facebook Pixel
- Keine Third-Party CDNs - Keine Third-Party CDNs
- Keine Social Media Widgets - Keine Social Media Widgets
### **Cookies:** ### **Cookies:**
| Cookie | Zweck | Laufzeit | Opt-In? |
|--------|-------|----------|---------|
| `_insights_session` | Session-Tracking | 30 Min. | ✅ Ja |
| `insights-consent` | Consent-Status | 12 Mon. | ❌ Nein (technisch) |
| `insights-theme` | Dark Mode | ∞ | ❌ Nein (funktional) |
### **Tracking-Daten:** **Keine.** Umami arbeitet vollständig cookieless. Es werden weder Session-Cookies noch Tracking-Cookies gesetzt. Die Identifikation erfolgt ohne Cookies und ohne Fingerprinting.
| Eintrag | Zweck | Typ | Opt-In? |
|---------|-------|-----|---------|
| `analytics-consent` (LocalStorage) | Consent-Status | LocalStorage | Nein (technisch) |
### **Tracking-Daten (anonymisiert):**
- Browser, OS, Device, Screen Resolution - Browser, OS, Device, Screen Resolution
- Stadt, Land, Koordinaten (GeoIP) - Land, Region (kein Stadtlevel, kein GeoIP-Lookup)
- Seiten, Referrer, Session-Dauer, Bounce - Seiten, Referrer, Session-Dauer
- Traffic Source, UTM-Parameter - Traffic Source, UTM-Parameter
### **Personenbezug:** ⚠️ Ja (IP + Fingerprinting) ### **Personenbezug:** Nein
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. a DSGVO (Einwilligung) Umami speichert keine IP-Adressen und verwendet kein Fingerprinting. Alle Daten sind aggregiert und nicht auf einzelne Nutzer rückführbar.
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse) - da cookieless und ohne Personenbezug ist kein Opt-In zwingend erforderlich. Der Consent-Banner wird dennoch aus Transparenzgründen eingesetzt.
--- ---
# PHASE 2: ENTSCHEIDUNG & DESIGN # PHASE 2: ENTSCHEIDUNG & DESIGN
## **Entscheidung: CUSTOM BANNER** ## **Entscheidung: CUSTOM BANNER**
**Gründe:** **Gründe:**
- Nur 1 Dienst CMP wäre Overkill - Nur 1 Dienst - CMP wäre Overkill
- Volle Kontrolle, keine Abhängigkeiten - Volle Kontrolle, keine Abhängigkeiten
- Schneller (<5KB vs. 50-100KB) - Schneller (<5KB vs. 50-100KB für CMP)
- Kostenlos vs. €50-500/Monat für CMP - Kostenlos
--- ---
@@ -54,29 +57,31 @@
### Banner (Primary): ### Banner (Primary):
``` ```
┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────┐
🍪 Diese Website nutzt Cookies Website-Analyse
│ │ │ │
│ Text: Self-Hosted, Deutschland, keine │ Text: Cookieless Analytics, Self-
Weitergabe an Dritte... Hosted in Deutschland, keine
│ Weitergabe an Dritte... │
│ │ │ │
│ [Details & Einstellungen] │ │ [Details & Einstellungen]
│ [Alle akzeptieren] [Nur notw.] │ │ [Alles akzeptieren] [Nur notwendige] │
└─────────────────────────────────────────┘ └─────────────────────────────────────────┘
``` ```
### Settings Modal: ### Settings Modal:
``` ```
┌─────────────────────────────────┐ ┌─────────────────────────────────────
Cookie-Einstellungen [✕] │ Analyse-Einstellungen ] │
├─────────────────────────────────┤ ├─────────────────────────────────────
│ ☑ Notwendig (immer aktiv) │ │ ☑ Notwendig (immer aktiv)
│ ☐ Statistik & Analyse │ │ ☐ Statistik & Analyse
│ └─ IntelSight Analytics │ └─ AegisSight Analytics (Umami)
│ • _insights_session (30min) │ • Keine Cookies
│ • Deutschland, kein 3rd │ • Keine IP-Speicherung
• Self-Hosted, Deutschland
[Auswahl speichern] [Alle ✓]
└─────────────────────────────────┘ │ [Auswahl speichern] [Alle akz.] │
└─────────────────────────────────────┘
``` ```
--- ---
@@ -84,64 +89,82 @@
## **Texte (DE/EN)** ## **Texte (DE/EN)**
**Deutsch:** **Deutsch:**
- Titel: "Diese Website nutzt Cookies 🍪" - Titel: "Website-Analyse"
- Text: "Selbst gehostet, Deutschland, keine Dritte..." - Text: "Wir nutzen cookielose Analyse-Software auf unserem eigenen Server in Deutschland. Es werden keine persönlichen Daten gespeichert und nichts an Dritte weitergegeben."
- Buttons: "Alle akzeptieren" / "Nur notwendige" - Buttons: "Alles akzeptieren" / "Nur notwendige"
**Englisch:** **Englisch:**
- Title: "This website uses cookies 🍪" - Title: "Website Analytics"
- Text: "Self-hosted, Germany, no third parties..." - Text: "We use cookieless analytics software on our own server in Germany. No personal data is stored and nothing is shared with third parties."
- Buttons: "Accept all" / "Only necessary" - Buttons: "Accept all" / "Only necessary"
--- ---
# PHASE 3: IMPLEMENTATIONSPLAN # PHASE 3: IMPLEMENTATIONSPLAN
## **3.1 Gating-Pattern (Opt-In)** ## **3.1 Gating-Pattern**
``` ```
Page Load Page Load
Check LocalStorage['insights-consent'] Check LocalStorage['analytics-consent']
├─→ null → Show Banner + Block Tracking ├─→ null → Show Banner + Block Tracking
├─→ 'accepted' → Load /insights/t.js ├─→ 'accepted' → Load Umami Script
└─→ 'rejected' → Block Tracking └─→ 'rejected' → Block Tracking
``` ```
**Kritisch:** Script `/insights/t.js` wird ERST nach Zustimmung geladen! **Ablauf:** Das Umami-Script `/analytics-und-so/datenblick.js` wird erst nach Zustimmung geladen.
--- ---
## **3.2 Storage-Schema** ## **3.2 Script-Einbindung**
### Umami Tracking-Script (wird dynamisch geladen bei Consent):
```html
<script
defer
src="/analytics-und-so/datenblick.js"
data-website-id="598ef5fd-d2dc-4540-9e65-602889981dac"
></script>
```
### API-Endpoint:
```
POST /analytics-und-so/api/erfassen
```
---
## **3.3 Storage-Schema**
### LocalStorage Keys: ### LocalStorage Keys:
```javascript ```javascript
// Consent Status // Consent Status
"insights-consent": { "analytics-consent": {
value: "accepted" | "rejected", value: "accepted" | "rejected",
expires: 1730832000000 // Timestamp expires: 1774051200000 // Timestamp (12 Monate)
} }
// Consent Details (Audit-Trail) // Consent Details (Audit-Trail)
"insights-consent-details": { "analytics-consent-details": {
timestamp: "2025-11-09T18:00:00Z", timestamp: "2026-03-20T12:00:00Z",
version: "1.0", version: "2.0",
categories: { necessary: true, analytics: true }, categories: { necessary: true, analytics: true },
language: "de", language: "de",
userAgent: "Mozilla/5.0...",
gpcSignal: false gpcSignal: false
} }
``` ```
--- ---
## **3.3 Footer-Link (Persistent)** ## **3.4 Footer-Link (Persistent)**
```html ```html
<footer> <footer>
<a href="#" id="cookie-settings-link">Cookie-Einstellungen</a> <a href="#" id="cookie-settings-link">Analyse-Einstellungen</a>
</footer> </footer>
``` ```
@@ -149,297 +172,183 @@ Check LocalStorage['insights-consent']
--- ---
## **3.4 Re-Prompt Regeln** ## **3.5 Re-Prompt Regeln**
**Banner erneut zeigen bei:** **Banner erneut zeigen bei:**
1. Consent abgelaufen (nach 12 Monaten) 1. Consent abgelaufen (nach 12 Monaten)
2. Version-Change (neue Dienste hinzugefügt) 2. Version-Change (z.B. 2.0 → 2.1)
3. User löscht LocalStorage 3. User löscht LocalStorage
4. Click auf "Cookie-Einstellungen" 4. Klick auf "Analyse-Einstellungen"
5. GPC-Signal erkannt (optional)
--- ---
## **3.5 Global Privacy Control (GPC)** ## **3.6 Global Privacy Control (GPC)**
**Was:** HTTP-Header `Sec-GPC: 1` → User will nicht getrackt werden
**Implementierung:**
```javascript ```javascript
if (navigator.globalPrivacyControl === true) { if (navigator.globalPrivacyControl === true) {
// Auto-reject analytics // Auto-reject analytics
localStorage.setItem('insights-consent', 'rejected'); localStorage.setItem('analytics-consent', JSON.stringify({
value: 'rejected',
expires: Date.now() + 365 * 24 * 60 * 60 * 1000
}));
} }
``` ```
**Rechtlich:** CCPA-bindend (Kalifornien), EU empfohlen
--- ---
# PHASE 4: UMSETZUNG + TESTS # PHASE 4: UMSETZUNG + TESTS
## **4.1 Dateien erstellt** ## **4.1 Dateien**
### **1. cookie-consent.html** (Demo-Seite) ### **1. cookie-consent.css**
- Test-Seite zum Testen des Banners
- Live-Status-Anzeige
- Test-Buttons (Reset, Show Banner)
### **2. cookie-consent.css** (2.4 KB)
- Responsive Design (Mobile-First) - Responsive Design (Mobile-First)
- Accessibility (Focus-Trap, ARIA, Keyboard) - Accessibility (Focus-Trap, ARIA, Keyboard)
- Animations (Fade-In, Slide-Up) - Animations (Fade-In, Slide-Up)
- Dark Mode kompatibel - Dark Mode kompatibel
- High Contrast Support
### **3. cookie-consent.js** (14 KB) ### **2. cookie-consent.js**
- Consent Management Logic - Consent Management Logic
- GPC Detection - GPC Detection
- LocalStorage mit Expiry - LocalStorage mit Expiry
- Multilingual (DE/EN) - Multilingual (DE/EN)
- Public API - Public API
- Version Control - Version Control
- Dynamisches Laden von `/analytics-und-so/datenblick.js`
### **4. DATENSCHUTZ_ANALYTICS.md** ### **3. DATENSCHUTZ_ANALYTICS.md**
- Fertige Datenschutzerklärung - Fertige Datenschutzerklärung
- DSGVO-konforme Texte - DSGVO-konforme Texte
- Cookie-Liste
- FAQ-Sektion
--- ---
## **4.2 Features implementiert** ## **4.2 Features implementiert**
**Opt-In vor Tracking** (Gating) - **Opt-In vor Tracking** (Gating)
**Backdrop-Overlay** (verhindert Interaktion) - **Backdrop-Overlay** (verhindert Interaktion)
**Two-Step Design** (Banner → Settings) - **Two-Step Design** (Banner → Settings)
**Consent-Versionierung** (Re-Prompt bei Updates) - **Consent-Versionierung** (Re-Prompt bei Updates)
**GPC/DNT Support** (Auto-Reject) - **GPC/DNT Support** (Auto-Reject)
**LocalStorage mit Expiry** (12 Monate) - **LocalStorage mit Expiry** (12 Monate)
**Audit-Trail** (Consent-Details) - **Audit-Trail** (Consent-Details)
**Multilingual** (DE/EN, erweiterbar) - **Multilingual** (DE/EN)
**Accessibility** (ARIA, Focus-Trap, Keyboard) - **Accessibility** (ARIA, Focus-Trap, Keyboard)
**Responsive** (Mobile-optimiert) - **Responsive** (Mobile-optimiert)
**Public API** (programmatischer Zugriff) - **Public API** (programmatischer Zugriff)
- **Cookieless Tracking** (keine Cookies nötig)
--- ---
## **4.3 Test-Checkliste** ## **4.3 Test-Checkliste**
### **Desktop Tests:** ### **Funktional:**
- [ ] Banner erscheint beim ersten Besuch
- [ ] "Alles akzeptieren" lädt `/analytics-und-so/datenblick.js`
- [ ] "Nur notwendige" blockiert Script-Laden
- [ ] Re-Visit: Kein Banner (Consent gespeichert)
- [ ] Footer-Link öffnet Banner erneut
- [ ] Widerruf funktioniert (Accept → Reject)
- [ ] GPC-Signal wird erkannt und respektiert
- [ ] Version-Change löst Re-Prompt aus
- [ ] **Chrome (Windows)** ### **Script-Integration:**
- [ ] Banner erscheint beim ersten Besuch - [ ] Script hat korrektes `data-website-id="598ef5fd-d2dc-4540-9e65-602889981dac"`
- [ ] "Alle akzeptieren" lädt Tracking-Script - [ ] Pageview wird an `/analytics-und-so/api/erfassen` gesendet
- [ ] "Nur notwendige" blockiert Tracking - [ ] Keine Cookies im Browser nach Tracking
- [ ] Cookie `_insights_session` wird gesetzt (bei Accept)
- [ ] LocalStorage `insights-consent` wird gespeichert
- [ ] Re-Visit: Kein Banner (Consent gespeichert)
- [ ] Footer-Link öffnet Banner erneut
- [ ] Settings Modal funktioniert
- [ ] Analytics-Toggle funktioniert
- [ ] "Auswahl speichern" speichert Einstellung
- [ ] **Firefox (Windows)** ### **Accessibility & Responsive:**
- [ ] Alle oben genannten Tests - [ ] Keyboard-Navigation funktioniert (Tab, Enter, Esc)
- [ ] GPC-Signal wird erkannt (wenn aktiviert) - [ ] Screen Reader liest Banner korrekt vor
- [ ] Mobile: Buttons sind touchbar, kein horizontaler Scroll
- [ ] **Safari (macOS)**
- [ ] Alle oben genannten Tests
- [ ] ITP (Intelligent Tracking Prevention) respektiert
- [ ] **Edge (Windows)**
- [ ] Alle oben genannten Tests
### **Mobile Tests:**
- [ ] **Chrome Mobile (Android)**
- [ ] Banner ist scrollbar
- [ ] Buttons sind touchbar (mind. 44x44px)
- [ ] Settings Modal ist lesbar
- [ ] Overlay verhindert Scroll
- [ ] **Safari Mobile (iOS)**
- [ ] Alle oben genannten Tests
- [ ] Kein horizontal scroll
### **Sprach-Tests:**
- [ ] **Deutsch (`lang="de"`)**
- [ ] Alle Texte auf Deutsch
- [ ] Datenschutz-Link auf Deutsch
- [ ] **Englisch (`lang="en"`)**
- [ ] Alle Texte auf Englisch
- [ ] Privacy Policy Link auf Englisch
### **GPC-Tests:**
- [ ] **Firefox mit Tracking-Schutz**
- [ ] Banner zeigt GPC-Notice
- [ ] Analytics automatisch deaktiviert
- [ ] User kann trotzdem manuell akzeptieren
- [ ] **Brave Browser**
- [ ] GPC standardmäßig aktiv
- [ ] Auto-Reject funktioniert
### **Accessibility Tests:**
- [ ] **Screen Reader (NVDA/JAWS)**
- [ ] Banner wird vorgelesen
- [ ] Buttons sind beschriftet
- [ ] ARIA-Attribute korrekt
- [ ] **Keyboard Navigation**
- [ ] Tab durchläuft alle Buttons
- [ ] Enter/Space aktiviert Buttons
- [ ] Esc schließt Settings Modal
- [ ] Focus-Trap funktioniert
- [ ] **High Contrast Mode**
- [ ] Banner ist lesbar
- [ ] Borders sind sichtbar
### **Funktional Tests:**
- [ ] **Consent-Speicherung**
- [ ] Akzeptiert → `/insights/t.js` geladen
- [ ] Abgelehnt → Kein Script geladen
- [ ] LocalStorage korrekt befüllt
- [ ] Expiry-Timestamp korrekt
- [ ] **Widerruf**
- [ ] Footer-Link öffnet Banner
- [ ] Von Akzeptiert → Abgelehnt funktioniert
- [ ] Script wird nicht mehr geladen
- [ ] Cookie wird gelöscht
- [ ] **Ablauf (Expiry)**
- [ ] Nach 12 Monaten: Re-Prompt
- [ ] Vor Ablauf: Kein Banner
- [ ] **Version-Change**
- [ ] Version 1.0 → 1.1: Re-Prompt
- [ ] Consent Details werden aktualisiert
- [ ] **LocalStorage löschen**
- [ ] Banner erscheint erneut
- [ ] Consent muss neu erteilt werden
### **Integration Tests:**
- [ ] **Tracking-Script**
- [ ] `/insights/t.js` lädt ERST nach Consent
- [ ] Pageview wird getrackt (200 OK)
- [ ] Cookie `_insights_session` gesetzt
- [ ] Daten in DB (Nuremberg, DE, etc.)
- [ ] **Datenschutzerklärung**
- [ ] Link funktioniert
- [ ] Alle Dienste aufgelistet
- [ ] Opt-Out erklärt
--- ---
## **4.4 Browser-Kompatibilität** ## **4.4 Browser-Kompatibilität**
| Browser | Version | Getestet | Status | | Browser | Version | Status |
|---------|---------|----------|--------| |---------|---------|--------|
| Chrome | 120+ | ⏳ Pending | - | | Chrome | 120+ | - |
| Firefox | 121+ | ⏳ Pending | - | | Firefox | 121+ | - |
| Safari | 17+ | ⏳ Pending | - | | Safari | 17+ | - |
| Edge | 120+ | ⏳ Pending | - | | Edge | 120+ | - |
| Chrome Mobile | 120+ | ⏳ Pending | - | | Chrome Mobile | 120+ | - |
| Safari iOS | 17+ | ⏳ Pending | - | | Safari iOS | 17+ | - |
**Minimum Support:** ES6 (2015+), LocalStorage, Fetch API **Minimum Support:** ES6 (2015+), LocalStorage, Fetch API
--- ---
# PHASE 5: DATENSCHUTZERKLÄRUNG # PHASE 5: DATENSCHUTZERKLÄRUNG
## **5.1 Textbausteine erstellt** ## **5.1 Textbausteine**
**Datei:** `DATENSCHUTZ_ANALYTICS.md` **Datei:** `DATENSCHUTZ_ANALYTICS.md`
**Enthält:** **Enthält:**
- Art und Umfang der Datenverarbeitung - Art und Umfang der Datenverarbeitung
- Rechtsgrundlage (Art. 6 Abs. 1 lit. a DSGVO) - Rechtsgrundlage (Art. 6 Abs. 1 lit. f DSGVO - berechtigtes Interesse)
- ✅ Zweck der Verarbeitung - Hinweis auf cookieloses Tracking
- ✅ Empfänger (keine Dritte!) - Keine IP-Speicherung, kein Fingerprinting
- ✅ Datenübermittlung Drittländer (keine!) - Self-Hosted auf eigenem Server (Deutschland)
- ✅ Speicherdauer (90 Tage) - Keine Datenübermittlung an Dritte
- Widerruf der Einwilligung - Widerruf der Einwilligung
- GPC-Unterstützung - GPC-Unterstützung
- Betroffenenrechte (Art. 15-21 DSGVO) - Betroffenenrechte (Art. 15-21 DSGVO)
- ✅ Opt-Out Möglichkeiten
- ✅ Technische Sicherheitsmaßnahmen
- ✅ Cookie-Liste (Tabellenform)
- ✅ FAQ-Sektion
--- ---
## **5.2 Integration in Website** ## **5.2 Integration in Website**
### **Datenschutz-Seite:**
```html ```html
<!-- /datenschutz.html --> <!-- /datenschutz.html -->
<section id="analytics"> <section id="analytics">
<h2>4. Website-Analyse</h2> <h2>4. Website-Analyse</h2>
<!-- Inhalt aus DATENSCHUTZ_ANALYTICS.md einfügen --> <p>Wir nutzen AegisSight Analytics (Umami), eine cookielose, datenschutzfreundliche
Analyse-Software. Diese wird auf unserem eigenen Server in Deutschland betrieben.
Es werden keine Cookies gesetzt, keine IP-Adressen gespeichert und kein
Fingerprinting eingesetzt. Die erhobenen Daten sind nicht auf einzelne Personen
rückführbar.</p>
</section> </section>
``` ```
### **Impressum:** (Pflichtangaben)
```
Verantwortlicher:
[Firmenname]
[Straße Hausnummer]
[PLZ Ort]
E-Mail: info@ihre-domain.de
Datenschutzbeauftragter: (falls vorhanden)
E-Mail: datenschutz@ihre-domain.de
```
--- ---
## **5.3 Rechtliche Checkliste** ## **5.3 Rechtliche Checkliste**
- [x] **Opt-In vor Tracking** - [x] Opt-In vor Tracking (Consent-Banner)
- [x] **Widerruf ermöglichen** (Footer-Link) - [x] Widerruf ermöglichen (Footer-Link)
- [x] **Datenschutzerklärung** (vollständig) - [x] Datenschutzerklärung (vollständig)
- [x] **Impressum** ⏳ (muss angepasst werden) - [x] Rechtsgrundlage benannt (Art. 6 I f DSGVO)
- [x] **Cookie-Liste** ✅ (vollständig) - [x] Hinweis cookieloses Tracking
- [x] **Rechtsgrundlage benannt** ✅ (Art. 6 I a DSGVO) - [x] Betroffenenrechte (Art. 15-21)
- [x] **Speicherdauer angegeben** ✅ (90 Tage) - [ ] Impressum vollständig (muss geprüft werden)
- [x] **Betroffenenrechte** ✅ (Art. 15-21) - [ ] Aufsichtsbehörde (muss eingefügt werden)
- [x] **Aufsichtsbehörde** ⏳ (muss eingefügt werden)
- [x] **Kontakt Datenschutz** ⏳ (muss eingefügt werden)
--- ---
# DEPLOYMENT-ANLEITUNG # DEPLOYMENT-ANLEITUNG
## **1. Dateien auf Server kopieren** ## **1. Dateien auf Server**
```bash ```
# Cookie Consent Dateien
/var/www/html/ /var/www/html/
├── cookie-consent.css ├── cookie-consent.css
├── cookie-consent.js ├── cookie-consent.js
└── cookie-consent-demo.html (optional, für Tests) └── cookie-consent-demo.html (optional)
```
# Tracking-Script (bereits vorhanden) ## **2. Umami-Infrastruktur**
/opt/v2-Docker/aegis-website/insights/t.js
```
Analytics-System: Umami v3.0.3 (Node.js/Next.js)
Datenbank: PostgreSQL
Script-Pfad: /analytics-und-so/datenblick.js
API-Endpoint: /analytics-und-so/api/erfassen
Website-ID: 598ef5fd-d2dc-4540-9e65-602889981dac
``` ```
--- ---
## **2. In alle HTML-Seiten integrieren** ## **3. In HTML-Seiten integrieren**
```html ```html
<!DOCTYPE html> <!DOCTYPE html>
@@ -447,123 +356,45 @@ E-Mail: datenschutz@ihre-domain.de
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Ihre Seite</title> <title>Ihre Seite</title>
<!-- Cookie Consent CSS -->
<link rel="stylesheet" href="/cookie-consent.css"> <link rel="stylesheet" href="/cookie-consent.css">
</head> </head>
<body> <body>
<!-- Ihr Inhalt --> <!-- Inhalt -->
<footer> <footer>
<nav> <nav>
<a href="/datenschutz">Datenschutz</a> <a href="/datenschutz">Datenschutz</a>
<a href="/impressum">Impressum</a> <a href="/impressum">Impressum</a>
<a href="#" id="cookie-settings-link">Cookie-Einstellungen</a> <a href="#" id="cookie-settings-link">Analyse-Einstellungen</a>
</nav> </nav>
</footer> </footer>
<!-- WICHTIG: Cookie Consent MUSS VOR Tracking-Script geladen werden! --> <!-- Cookie Consent MUSS VOR allem anderen JS geladen werden -->
<script src="/cookie-consent.js"></script> <script src="/cookie-consent.js"></script>
<!-- Tracking-Script wird automatisch geladen bei Zustimmung --> <!-- Umami-Script wird automatisch bei Consent geladen -->
<!-- NICHT direkt einbinden: <script src="/insights/t.js"></script> --> <!-- NICHT direkt einbinden! -->
</body> </body>
</html> </html>
``` ```
--- ---
## **3. Datenschutzerklärung aktualisieren** ## **4. Container neu laden**
```bash ```bash
# Textbausteine aus DATENSCHUTZ_ANALYTICS.md kopieren
cp DATENSCHUTZ_ANALYTICS.md /var/www/html/datenschutz-bausteine.md
# In /datenschutz.html einfügen (Abschnitt 4)
```
**WICHTIG:** Folgende Platzhalter ersetzen:
- `[Ihr Unternehmensname]`
- `[Straße Hausnummer]`
- `[PLZ Ort]`
- `[Ihr Hosting-Provider]`
- `datenschutz@ihre-domain.de`
- Zuständige Aufsichtsbehörde
---
## **4. Container neu starten** (falls nötig)
```bash
# Nginx neu laden
docker exec aegis-website-nginx nginx -s reload docker exec aegis-website-nginx nginx -s reload
# PHP-FPM neu starten
docker restart aegis-php-fpm
``` ```
--- ---
## **5. Tests durchführen**
### **Manueller Test:**
```bash
# 1. Demo-Seite öffnen
https://aegis-sight.de/cookie-consent-demo.html
# 2. Banner erscheint?
# 3. "Alle akzeptieren" klicken
# 4. LocalStorage prüfen:
# - insights-consent: "accepted"
# - insights-consent-details: {...}
# 5. Tracking-Script geladen?
# Im DevTools Network-Tab: /insights/t.js (200 OK)
# 6. Pageview getrackt?
curl -X POST https://aegis-sight.de/insights/api/track ...
# Sollte {"status":"ok"} zurückgeben
# 7. Daten in DB?
# Prüfen: city, country_code befüllt
```
---
## **6. Produktiv schalten**
- [ ] Tests erfolgreich
- [ ] Datenschutzerklärung aktualisiert
- [ ] Impressum vollständig
- [ ] Alle Platzhalter ersetzt
- [ ] Footer-Links funktionieren
**Dann:** In alle Website-Seiten integrieren!
---
# WARTUNG & UPDATES # WARTUNG & UPDATES
## **Monatlich:**
- [ ] GeoIP-Datenbank aktualisieren
```bash
cd /opt/v2-Docker/aegis-website/insights/data/geoip
wget -O GeoLite2-City.mmdb.new https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-City.mmdb
mv GeoLite2-City.mmdb.new GeoLite2-City.mmdb
```
## **Vierteljährlich:** ## **Vierteljährlich:**
- [ ] Umami-Version prüfen und ggf. updaten
- [ ] Analytics-Daten prüfen (>90 Tage löschen) - [ ] Datenschutzerklärung überprüfen
```bash
php /opt/v2-Docker/aegis-website/insights/cleanup-old-data.php
```
## **Jährlich:** ## **Jährlich:**
- [ ] Datenschutzerklärung überprüfen
- [ ] Rechtsgrundlagen aktualisieren - [ ] Rechtsgrundlagen aktualisieren
- [ ] Consent-Version erhöhen (bei Änderungen) - [ ] Consent-Version erhöhen (bei Änderungen)
@@ -573,12 +404,10 @@ curl -X POST https://aegis-sight.de/insights/api/track ...
## **Problem: Banner erscheint nicht** ## **Problem: Banner erscheint nicht**
**Ursache:** JavaScript-Fehler oder Consent bereits gesetzt
**Lösung:**
```javascript ```javascript
// In Browser-Console: // In Browser-Console:
localStorage.clear(); localStorage.removeItem('analytics-consent');
localStorage.removeItem('analytics-consent-details');
location.reload(); location.reload();
``` ```
@@ -588,34 +417,33 @@ location.reload();
**Check 1:** LocalStorage **Check 1:** LocalStorage
```javascript ```javascript
localStorage.getItem('insights-consent') JSON.parse(localStorage.getItem('analytics-consent'))
// Sollte: {"value":"accepted","expires":...} // Erwartet: { value: "accepted", expires: ... }
``` ```
**Check 2:** Script geladen? **Check 2:** Script geladen?
```javascript ```javascript
document.querySelector('script[src="/insights/t.js"]') document.querySelector('script[src="/analytics-und-so/datenblick.js"]')
// Sollte: <script src="/insights/t.js"></script> // Erwartet: <script> Element
``` ```
**Check 3:** Cookie gesetzt? **Check 3:** Website-ID korrekt?
```javascript ```javascript
document.cookie document.querySelector('script[data-website-id]')?.dataset.websiteId
// Sollte enthalten: _insights_session=... // Erwartet: "598ef5fd-d2dc-4540-9e65-602889981dac"
``` ```
--- ---
## **Problem: GPC wird nicht erkannt** ## **Problem: GPC wird nicht erkannt**
**Check:**
```javascript ```javascript
navigator.globalPrivacyControl navigator.globalPrivacyControl
// Firefox Tracking-Schutz: true // Firefox mit Tracking-Schutz: true
// Normale Browser: undefined // Normale Browser: undefined
``` ```
**Lösung:** GPC ist optional, nicht alle Browser unterstützen es GPC ist optional - nicht alle Browser unterstützen es.
--- ---
@@ -645,9 +473,9 @@ const status = CookieConsent.getStatus();
{ {
consent: "accepted" | "rejected" | null, consent: "accepted" | "rejected" | null,
analytics: true | false, analytics: true | false,
version: "1.0", version: "2.0",
timestamp: "2025-11-09T18:00:00Z", timestamp: "2026-03-20T12:00:00Z",
expires: 1730832000000, expires: 1774051200000,
gpc: false gpc: false
} }
*/ */
@@ -660,37 +488,48 @@ CookieConsent.setLanguage('en'); // oder 'de'
# CHANGELOG # CHANGELOG
## Version 2.0 (2026-03-20)
### Geändert:
- **Umstieg auf Umami v3.0.3** (ersetzt altes PHP-basiertes System)
- **Cookieless Tracking** - keine Cookies mehr nötig
- **Neues Tracking-Script:** `/analytics-und-so/datenblick.js`
- **Neuer API-Endpoint:** `/analytics-und-so/api/erfassen`
- **PostgreSQL** als Datenbank (ersetzt SQLite/Flatfile)
- **Rechtsgrundlage** auf Art. 6 I f DSGVO geändert (berechtigtes Interesse)
- **LocalStorage-Keys** umbenannt (`analytics-consent` statt `insights-consent`)
- Texte angepasst (keine Cookie-Referenzen mehr)
- Test-Checklisten gekürzt
### Entfernt:
- Cookie `_insights_session`
- PHP-Backend und zugehörige Konfiguration
- GeoIP-Datenbank (nicht mehr benötigt)
- Monatliche GeoIP-Update-Routine
## Version 1.0 (2025-11-09) ## Version 1.0 (2025-11-09)
### Added: ### Hinzugefügt:
- Custom Cookie Banner (Slim Layer Design) - Custom Cookie Banner (Slim Layer Design)
- Settings Modal (Two-Step) - Settings Modal (Two-Step)
- GPC Support (Auto-Reject) - GPC Support, Multilingual (DE/EN)
- ✅ Multilingual (DE/EN) - LocalStorage mit Expiry, Consent Versioning
- ✅ LocalStorage mit Expiry - Accessibility (ARIA, Focus-Trap), Responsive Design
- ✅ Consent Versioning - Public API, Datenschutzerklärung
- ✅ Audit-Trail (Consent Details)
- ✅ Accessibility (ARIA, Focus-Trap)
- ✅ Responsive Design
- ✅ Public API
- ✅ Datenschutzerklärung (vollständig)
--- ---
# LIZENZ & CREDITS # LIZENZ & CREDITS
**Erstellt für:** IntelSight / Aegis-Sight **Erstellt für:** AegisSight UG
**Entwickler:** Claude Code (Anthropic AI) **Datum:** 2026-03-20
**Datum:** 2025-11-09 **Lizenz:** Proprietär (AegisSight)
**Lizenz:** Proprietär (IntelSight)
**Rechtliche Hinweise:** **Rechtliche Hinweise:**
- Keine Garantie für vollständige Rechtssicherheit - Keine Garantie für vollständige Rechtssicherheit
- Datenschutzerklärung muss von Anwalt geprüft werden - Datenschutzerklärung sollte von einem Anwalt geprüft werden
- Individuelle Anpassungen je nach Use Case erforderlich - Individuelle Anpassungen je nach Use Case erforderlich
--- ---
**Status: ✅ READY FOR PRODUCTION** **Status: PRODUKTIV**
Alle 5 Phasen erfolgreich abgeschlossen!

Datei anzeigen

@@ -1,7 +1,7 @@
# Datenschutzerklärung - Abschnitt Website-Analyse # Datenschutzerklärung - Abschnitt Website-Analyse
> **Textbaustein für /datenschutz Seite** > **Textbaustein für /datenschutz Seite**
> IntelSight / Aegis-Sight GmbH > AegisSight UG
--- ---
@@ -9,7 +9,9 @@
### 4.1 Art und Umfang der Datenverarbeitung ### 4.1 Art und Umfang der Datenverarbeitung
Wir verwenden ein selbst entwickeltes und selbst gehostetes Analyse-Tool ("IntelSight Analytics"), um die Nutzung unserer Website zu verstehen und kontinuierlich zu verbessern. Das Tool läuft ausschließlich auf unseren eigenen Servern in Deutschland und gibt keine Daten an Drittanbieter weiter. Wir verwenden **AegisSight Analytics** (basierend auf [Umami](https://umami.is), Open-Source-Software, Version 3.0.3) als selbst gehostetes Analyse-Tool, um die Nutzung unserer Website zu verstehen und kontinuierlich zu verbessern. Das Tool läuft ausschließlich auf unseren eigenen Servern in Deutschland und gibt keine Daten an Drittanbieter weiter.
**Wichtig:** AegisSight Analytics arbeitet **vollständig cookieless** – es werden keine Cookies auf Ihrem Gerät gesetzt. Es findet **keine IP-Speicherung** und **kein Fingerprinting** statt. Umami anonymisiert alle Daten vollständig.
#### Erhobene Daten: #### Erhobene Daten:
@@ -21,56 +23,43 @@ Wir verwenden ein selbst entwickeltes und selbst gehostetes Analyse-Tool ("Intel
- Besuchte Seiten (URL-Pfade) - Besuchte Seiten (URL-Pfade)
- Verweildauer auf einzelnen Seiten - Verweildauer auf einzelnen Seiten
- Referrer-URL (vorherige Website, von der Sie kamen) - Referrer-URL (vorherige Website, von der Sie kamen)
- JavaScript-Status (aktiviert/deaktiviert)
**Standortdaten:** **Standortdaten:**
- IP-Adresse (wird für GeoIP-Lookup verwendet, aber nur anonymisiert gespeichert) - Ungefährer Standort auf Land-/Regions-Ebene (ermittelt zur Laufzeit, IP-Adresse wird **nicht gespeichert**)
- Ungefährer Standort auf Stadt-Ebene (z.B. "München, Bayern")
- Land und Region - Land und Region
- Ländercode (z.B. "DE" für Deutschland)
- Geografische Koordinaten (Stadt-Genauigkeit, ±10 Kilometer)
**Nutzungsdaten:** **Nutzungsdaten:**
- Anzahl der Seitenaufrufe pro Besuch - Anzahl der Seitenaufrufe pro Besuch
- Klickpfade und Navigation durch die Website - Klickpfade und Navigation durch die Website
- Session-Dauer (Gesamtzeit des Besuchs) - Session-Dauer (Gesamtzeit des Besuchs)
- Bounce-Rate (Verlassen nach einer Seite) - Bounce-Rate (Verlassen nach einer Seite)
- Scroll-Tiefe auf einzelnen Seiten
**Marketing-Daten:** **Marketing-Daten:**
- Herkunft des Besuchs (Direkteingabe, Suchmaschine, Social Media, andere Website) - Herkunft des Besuchs (Direkteingabe, Suchmaschine, Social Media, andere Website)
- UTM-Parameter bei Marketing-Kampagnen (utm_source, utm_medium, utm_campaign, utm_term, utm_content) - UTM-Parameter bei Marketing-Kampagnen (utm_source, utm_medium, utm_campaign, utm_term, utm_content)
**Bot-Erkennung:** ---
- Analyse-Score zur Unterscheidung echter Nutzer von automatisierten Zugriff (Bots, Crawler)
#### Verwendete Cookies: ### 4.2 Keine Cookies, keine IP-Speicherung, kein Fingerprinting
| Cookie-Name | Zweck | Laufzeit | Kategorie | AegisSight Analytics (Umami v3.0.3) setzt **keine Cookies** und speichert **keine personenbezogenen Daten**:
|-------------|-------|----------|-----------|
| `_insights_session` | Session-Tracking zur Berechnung der Bounce-Rate und Verweildauer | 30 Minuten | Statistik |
**Pseudonymisierung:** - **Keine Cookies:** Es werden keinerlei Cookies oder LocalStorage-Einträge für Analysezwecke auf Ihrem Gerät gesetzt.
- **Keine IP-Speicherung:** Ihre IP-Adresse wird zur Laufzeit für die Standortbestimmung (Land/Region) verwendet, aber **niemals gespeichert oder protokolliert**.
Wir erstellen einen pseudonymen "Visitor-Hash" (eindeutige Kennung) aus folgenden Elementen: - **Kein Fingerprinting:** Es werden keine Browser-Fingerprints oder Hashes zur Wiedererkennung erstellt.
- Anonymisierte IP-Adresse (letzte 8 Bits entfernt, z.B. 192.168.1.0 statt 192.168.1.123) - **Keine geräteübergreifende Nachverfolgung:** Eine Identifikation einzelner Nutzer über Besuche hinweg ist technisch nicht möglich.
- User-Agent String
- Browser-Spracheinstellung
- Aktuelles Datum (24-Stunden-Rotation)
Dieser Hash wird mittels SHA-256 erstellt und rotiert täglich, sodass eine langfristige Nachverfolgung einzelner Nutzer technisch nicht möglich ist.
--- ---
### 4.2 Rechtsgrundlage ### 4.3 Rechtsgrundlage
Die Verarbeitung erfolgt auf Grundlage Ihrer **Einwilligung gemäß Art. 6 Abs. 1 lit. a DSGVO**. Die Verarbeitung erfolgt auf Grundlage Ihrer **Einwilligung gemäß Art. 6 Abs. 1 lit. a DSGVO**.
Sie erteilen Ihre Einwilligung durch Klick auf "Alle akzeptieren" oder "Auswahl speichern" im Cookie-Banner beim ersten Besuch unserer Website. Sie erteilen Ihre Einwilligung durch Klick auf "Alle akzeptieren" oder "Auswahl speichern" im Cookie-Banner beim ersten Besuch unserer Website. Bei Einwilligung wird das Tracking-Script geladen; bei Ablehnung wird es **nicht geladen** und es findet keinerlei Datenerhebung statt.
--- ---
### 4.3 Zweck der Verarbeitung ### 4.4 Zweck der Verarbeitung
Wir nutzen die erhobenen Daten für folgende Zwecke: Wir nutzen die erhobenen Daten für folgende Zwecke:
@@ -79,53 +68,51 @@ Wir nutzen die erhobenen Daten für folgende Zwecke:
3. **Technische Optimierung:** Anpassung der Website an verwendete Geräte und Browser 3. **Technische Optimierung:** Anpassung der Website an verwendete Geräte und Browser
4. **Performance-Monitoring:** Identifikation technischer Probleme und langsamer Seiten 4. **Performance-Monitoring:** Identifikation technischer Probleme und langsamer Seiten
5. **Marketing-Erfolgsmessung:** Bewertung der Wirksamkeit von Kampagnen und Traffic-Quellen 5. **Marketing-Erfolgsmessung:** Bewertung der Wirksamkeit von Kampagnen und Traffic-Quellen
6. **Sicherheit:** Erkennung und Filterung von Bot-Traffic und Spam
--- ---
### 4.4 Empfänger der Daten ### 4.5 Empfänger der Daten
**Es erfolgt KEINE Weitergabe an Drittanbieter.** **Es erfolgt KEINE Weitergabe an Drittanbieter.**
Alle Daten werden ausschließlich auf unseren eigenen Servern verarbeitet und gespeichert: Alle Daten werden ausschließlich auf unseren eigenen Servern verarbeitet und gespeichert:
- **Server-Standort:** Deutschland (Rechenzentrum: [Ihr Hosting-Provider]) - **Server-Standort:** Deutschland (Hetzner Cloud, Nürnberg)
- **Zugriff:** Nur autorisierte Mitarbeiter unseres Unternehmens zu Analyse-Zwecken - **Zugriff:** Nur autorisierte Mitarbeiter unseres Unternehmens zu Analyse-Zwecken
- **Keine externen Dienste:** Wir nutzen kein Google Analytics, Facebook Pixel oder ähnliche Third-Party-Tools - **Keine externen Dienste:** Wir nutzen kein Google Analytics, Facebook Pixel oder ähnliche Third-Party-Tools
- **Open Source:** Umami ist quelloffene Software – der Code ist öffentlich einsehbar und überprüfbar
--- ---
### 4.5 Datenübermittlung in Drittländer ### 4.6 Datenübermittlung in Drittländer
Es findet **keine Übermittlung in Drittländer** (außerhalb EU/EWR) statt. Es findet **keine Übermittlung in Drittländer** (außerhalb EU/EWR) statt.
--- ---
### 4.6 Speicherdauer ### 4.7 Speicherdauer
- **Analytics-Daten:** Automatische Löschung nach **90 Tagen** - **Analytics-Daten:** Automatische Löschung nach **90 Tagen**
- **Session-Cookie:** Automatische Löschung nach **30 Minuten** Inaktivität
- **Consent-Status:** Speicherung für **12 Monate**, danach erneute Abfrage - **Consent-Status:** Speicherung für **12 Monate**, danach erneute Abfrage
Nach Ablauf dieser Fristen werden die Daten unwiderruflich gelöscht. Nach Ablauf dieser Fristen werden die Daten unwiderruflich gelöscht.
--- ---
### 4.7 Widerruf der Einwilligung ### 4.8 Widerruf der Einwilligung
Sie können Ihre Einwilligung zur Datenverarbeitung **jederzeit widerrufen**, ohne dass die Rechtmäßigkeit der bis zum Widerruf erfolgten Verarbeitung berührt wird. Sie können Ihre Einwilligung zur Datenverarbeitung **jederzeit widerrufen**, ohne dass die Rechtmäßigkeit der bis zum Widerruf erfolgten Verarbeitung berührt wird.
**Widerruf-Möglichkeiten:** **Widerruf-Möglichkeiten:**
1. **Cookie-Einstellungen:** Klicken Sie auf den Link "Cookie-Einstellungen" im Footer dieser Website 1. **Cookie-Banner:** Klicken Sie auf den Link "Cookie-Einstellungen" im Footer dieser Website und wählen Sie "Nur notwendige"
2. **Browser-Einstellungen:** Löschen Sie das Cookie `_insights_session` in Ihren Browser-Einstellungen 2. **E-Mail:** Senden Sie uns eine E-Mail an datenschutz@aegis-sight.de
3. **E-Mail:** Senden Sie uns eine E-Mail an [datenschutz@ihre-domain.de]
Nach Widerruf erfolgt keine weitere Datenerhebung mehr, bereits gespeicherte Daten werden gelöscht. Nach Widerruf wird das Tracking-Script nicht mehr geladen und es erfolgt keine weitere Datenerhebung.
--- ---
### 4.8 Global Privacy Control (GPC) ### 4.9 Global Privacy Control (GPC)
Wir respektieren das **Global Privacy Control (GPC)**-Signal Ihres Browsers. Wir respektieren das **Global Privacy Control (GPC)**-Signal Ihres Browsers.
@@ -138,7 +125,7 @@ Wenn Ihr Browser das GPC-Signal sendet (z.B. Firefox mit aktiviertem Tracking-Sc
--- ---
### 4.9 Ihre Rechte ### 4.10 Ihre Rechte
Sie haben folgende Rechte bezüglich Ihrer Daten: Sie haben folgende Rechte bezüglich Ihrer Daten:
@@ -172,32 +159,33 @@ Sie haben das Recht, sich bei einer Aufsichtsbehörde zu beschweren:
--- ---
### 4.10 Opt-Out / Do-Not-Track ### 4.11 Opt-Out
Zusätzlich zum Widerruf der Einwilligung können Sie die Analyse auch durch folgende Maßnahmen verhindern: Sie können die Analyse durch folgende Maßnahmen verhindern:
1. **Cookie-Banner:** Wählen Sie "Nur notwendige" beim ersten Besuch 1. **Cookie-Banner:** Wählen Sie "Nur notwendige" beim ersten Besuch – das Tracking-Script wird dann nicht geladen
2. **Browser-Einstellungen:** Blockieren Sie Third-Party-Cookies (betrifft uns nicht, da First-Party) 2. **Cookie-Einstellungen:** Klicken Sie jederzeit auf "Cookie-Einstellungen" im Footer, um Ihre Auswahl zu ändern
3. **Private/Incognito-Modus:** Analytics-Cookies werden nicht persistent gespeichert 3. **JavaScript deaktivieren:** Tracking funktioniert nur mit aktiviertem JavaScript
4. **JavaScript deaktivieren:** Tracking funktioniert nur mit aktiviertem JavaScript 4. **Ad-Blocker:** Viele Ad-Blocker blockieren auch Analytics-Skripte
5. **Ad-Blocker:** Viele Ad-Blocker blockieren auch Analytics-Skripte
--- ---
### 4.11 Technische Sicherheitsmaßnahmen ### 4.12 Technische Sicherheitsmaßnahmen
Zum Schutz Ihrer Daten setzen wir folgende Maßnahmen ein: Zum Schutz Ihrer Daten setzen wir folgende Maßnahmen ein:
- **SSL/TLS-Verschlüsselung:** Alle Daten werden verschlüsselt übertragen (HTTPS) - **SSL/TLS-Verschlüsselung:** Alle Daten werden verschlüsselt übertragen (HTTPS)
- **IP-Anonymisierung:** Automatische Kürzung der IP-Adresse vor Speicherung - **Keine IP-Speicherung:** IP-Adressen werden nicht gespeichert oder protokolliert
- **Zugriffskontrolle:** Nur autorisierte Mitarbeiter haben Zugriff auf Analytics-Daten - **Cookieless Tracking:** Keine Cookies oder lokale Speicherung auf Ihrem Gerät
- **Datensparsamkeit:** Wir erheben nur die minimal notwendigen Daten - **Zugriffskontrolle:** Nur autorisierte Mitarbeiter haben Zugriff auf Analytics-Daten
- **Container-Isolation:** Analytics-System läuft in isolierter Docker-Umgebung - **Datensparsamkeit:** Wir erheben nur die minimal notwendigen Daten
- **Regelmäßige Audits:** Vierteljährliche Überprüfung der Datenschutz-Compliance - **Container-Isolation:** Analytics-System läuft in isolierter Docker-Umgebung
- **Open Source:** Umami-Quellcode ist öffentlich einsehbar und auditierbar
- **Regelmäßige Audits:** Vierteljährliche Überprüfung der Datenschutz-Compliance
--- ---
### 4.12 Automatisierte Entscheidungsfindung / Profiling ### 4.13 Automatisierte Entscheidungsfindung / Profiling
Es findet **keine automatisierte Entscheidungsfindung** (einschließlich Profiling) gemäß Art. 22 DSGVO statt. Es findet **keine automatisierte Entscheidungsfindung** (einschließlich Profiling) gemäß Art. 22 DSGVO statt.
@@ -205,7 +193,7 @@ Die erhobenen Daten werden ausschließlich zu statistischen Zwecken verwendet un
--- ---
### 4.13 Kontakt Datenschutz ### 4.14 Kontakt Datenschutz
Bei Fragen zur Verarbeitung Ihrer Daten können Sie sich an uns wenden: Bei Fragen zur Verarbeitung Ihrer Daten können Sie sich an uns wenden:
@@ -216,7 +204,7 @@ Bei Fragen zur Verarbeitung Ihrer Daten können Sie sich an uns wenden:
**Datenschutzbeauftragter:** (falls vorhanden) **Datenschutzbeauftragter:** (falls vorhanden)
[Name] [Name]
E-Mail: datenschutz@ihre-domain.de E-Mail: datenschutz@aegis-sight.de
Telefon: [Telefonnummer] Telefon: [Telefonnummer]
--- ---
@@ -225,20 +213,16 @@ Telefon: [Telefonnummer]
Wir behalten uns vor, diese Datenschutzerklärung anzupassen, um sie an geänderte Rechtslagen oder Änderungen unserer Dienstleistungen anzupassen. Wir behalten uns vor, diese Datenschutzerklärung anzupassen, um sie an geänderte Rechtslagen oder Änderungen unserer Dienstleistungen anzupassen.
**Stand:** 2025-11-09 **Stand:** 2026-03-20
**Version:** 1.0 **Version:** 2.0
--- ---
## Zusatz: Cookie-Liste (Tabellenform) ## Hinweis zu Cookies
Für maximale Transparenz listen wir hier alle verwendeten Cookies auf: AegisSight Analytics setzt **keine Cookies** und nutzt **keine lokale Speicherung** (LocalStorage) für Analysezwecke. Das System arbeitet vollständig cookieless. Eine Cookie-Tabelle für Analytics-Cookies ist daher nicht erforderlich.
| Name | Anbieter | Zweck | Typ | Laufzeit | Kategorie | Opt-In | Der Cookie-Banner auf unserer Website dient der Steuerung, ob das Tracking-Script geladen wird oder nicht. Bei Ablehnung findet keinerlei Datenerhebung statt.
|------|----------|-------|-----|----------|-----------|--------|
| `_insights_session` | IntelSight Analytics (First-Party) | Session-Tracking, Bounce-Rate Berechnung | HTTP Cookie | 30 Minuten | Statistik | Ja |
| `insights-consent` | Cookie-Banner (LocalStorage) | Speichert Ihre Cookie-Einwilligung | LocalStorage | 12 Monate | Technisch notwendig | Nein |
| `insights-theme` | Dark Mode (LocalStorage) | Speichert UI-Präferenz (Hell/Dunkel) | LocalStorage | Unbegrenzt | Funktional | Nein |
--- ---
@@ -247,14 +231,23 @@ Für maximale Transparenz listen wir hier alle verwendeten Cookies auf:
**Q: Warum nutzen Sie kein Google Analytics?** **Q: Warum nutzen Sie kein Google Analytics?**
A: Wir möchten vollständige Kontrolle über die Daten behalten und diese nicht mit Drittanbietern teilen. Zudem vermeiden wir rechtliche Unsicherheiten bezüglich internationaler Datenübermittlung (Schrems II). A: Wir möchten vollständige Kontrolle über die Daten behalten und diese nicht mit Drittanbietern teilen. Zudem vermeiden wir rechtliche Unsicherheiten bezüglich internationaler Datenübermittlung (Schrems II).
**Q: Kann ich nachvollziehen, welche Daten über mich gespeichert sind?** **Q: Setzt AegisSight Analytics Cookies?**
A: Ja, senden Sie eine Auskunftsanfrage an datenschutz@ihre-domain.de. Aufgrund der Pseudonymisierung können wir Ihre Daten jedoch nur anhand Ihrer IP-Adresse und des Zeitstempels zuordnen. A: Nein. Umami v3.0.3 arbeitet vollständig cookieless. Es werden keine Cookies, kein LocalStorage und keine anderen clientseitigen Speichermechanismen für Analysezwecke verwendet.
**Q: Wird meine IP-Adresse gespeichert?**
A: Nein. Ihre IP-Adresse wird nur zur Laufzeit für die Standortbestimmung (Land/Region) verwendet und danach sofort verworfen. Sie wird niemals in der Datenbank gespeichert.
**Q: Kann ich als einzelner Nutzer nachverfolgt werden?**
A: Nein. Da keine Cookies gesetzt, keine IP-Adressen gespeichert und keine Fingerprints erstellt werden, ist eine Identifikation oder Nachverfolgung einzelner Nutzer technisch nicht möglich.
**Q: Werden meine Daten verkauft?** **Q: Werden meine Daten verkauft?**
A: Nein, niemals. Wir geben keine Daten an Dritte weiter oder verkaufen diese. A: Nein, niemals. Wir geben keine Daten an Dritte weiter oder verkaufen diese.
**Q: Was passiert, wenn ich Cookies ablehne?** **Q: Was passiert, wenn ich im Cookie-Banner ablehne?**
A: Die Website funktioniert vollständig normal. Sie erhalten alle Inhalte und Funktionen, wir können nur keine Statistiken über Ihre Nutzung erfassen. A: Das Tracking-Script wird nicht geladen. Die Website funktioniert vollständig normal – wir können lediglich keine anonymisierten Statistiken über Ihre Nutzung erfassen.
**Q: Ist das System DSGVO-konform?** **Q: Ist das System DSGVO-konform?**
A: Ja, durch Opt-In-Mechanismus, IP-Anonymisierung, Datensparsamkeit, Speicherbegrenzung und ausschließliche Verarbeitung in Deutschland erfüllen wir alle DSGVO-Anforderungen. A: Ja. Durch den Opt-In-Mechanismus, die vollständig cookieless Architektur, fehlende IP-Speicherung, Datensparsamkeit, Speicherbegrenzung und ausschließliche Verarbeitung in Deutschland erfüllen wir alle DSGVO-Anforderungen. Umami ist als datenschutzfreundliche Alternative zu Google Analytics bekannt.
**Q: Was ist Umami?**
A: Umami ist eine quelloffene (Open Source) Web-Analytics-Software, die als datenschutzfreundliche Alternative zu Google Analytics entwickelt wurde. Der Quellcode ist öffentlich auf GitHub einsehbar.

365
LAUNCH-CHECKLIST.md Normale Datei
Datei anzeigen

@@ -0,0 +1,365 @@
# LAUNCH-CHECKLIST — Online-Schaltung der neuen AegisSight-Hauptseite
**Zielgruppe dieser Datei:** Claude (oder ein Mensch) auf einem anderen Rechner, der diese Datei vollständig liest und Schritt für Schritt ausführt. Alle Anweisungen sind so geschrieben, dass keine Eigenentscheidungen nötig sind.
**Auslöser:** Der User sagt sinngemäß "Jo stell online" oder "Schalte die Vorschau live".
**Was passiert:** Die Vorschauseite (`/vorschau/`) wird zur neuen Hauptseite (`/`). Die alte Hauptseite ("Sicherheit Made in Germany") wird in `_archiv/` verschoben. SEO wird aktiviert (robots.txt + sitemap.xml + Entfernung der noindex-Meta-Tags). Cookie-Consent + Umami sind bereits eingebaut.
---
## 0. Voraussetzungen — vor dem Start prüfen
- [ ] **Iran-Lage-Anpassung ist fertig.** Der zuständige Kollege hat die zu langen Iran-Lagen-Texte gekürzt/strukturiert. Sichtcheck: `https://aegis-sight.de/vorschau/` (Passwort: siehe Pass-Manager) → Demos-Karussell → Iran-Karte sollte ähnlich hoch sein wie Cyberangriffe und Deepfakes.
- [ ] **SSH-Zugriff** auf `claude-dev@46.225.225.49` funktioniert.
- [ ] **Git-Push-Rechte** für `https://gitea-undso.aegis-sight.de/AegisSight/Website.git` vorhanden (Token im Remote-URL eingebettet).
- [ ] **User hat ausdrücklich Go gegeben** ("Stell online", "Schalte live", o.ä.).
Wenn ein Punkt nicht erfüllt: NICHT FORTSETZEN, dem User Bescheid geben.
---
## 1. Pre-Flight-Backup (Pflicht!)
Werden auf dem Server (`46.225.225.49`) ausgeführt:
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && git tag pre-launch-$(date +%Y%m%d-%H%M%S) && git push origin --tags'
ssh claude-dev@46.225.225.49 'tar -czf /home/claude-dev/website-snapshot-$(date +%Y%m%d-%H%M%S).tar.gz -C /opt/v2-Docker/aegis-website html'
ssh claude-dev@46.225.225.49 'ls -lh /home/claude-dev/website-snapshot-*.tar.gz | tail -1'
```
Erwartet: Tar-Archiv ~40–60 MB. Git-Tag `pre-launch-YYYYMMDD-HHMMSS` ist gepusht.
**Notiere dir den Git-Tag-Namen** — du brauchst ihn fürs Rollback.
---
## 2. Schaltungs-Schritte (in genau dieser Reihenfolge)
Alle Pfade relativ zu `/opt/v2-Docker/aegis-website/html/`. Alle Commands per `ssh claude-dev@46.225.225.49 '...'` ausführen.
### 2.1 Archiv-Verzeichnis vorbereiten
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && mkdir -p _archiv'
```
### 2.2 Alte Hauptseite-Files in `_archiv/` verschieben
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
mv index.html _archiv/old-index.html && \
cp -r css _archiv/old-css && \
cp -r js _archiv/old-js && \
mv robots.txt _archiv/old-robots.txt && \
mv assets/videos/AFv6.mp4 _archiv/ 2>/dev/null; \
mv assets/videos/hero-code-abstract.mp4 _archiv/ 2>/dev/null; \
mv assets/videos/hero-data-flow.mp4 _archiv/ 2>/dev/null; \
mv assets/videos/hero-network-viz.mp4 _archiv/ 2>/dev/null; \
ls -la _archiv/'
```
**Wichtig:** `css` und `js` werden mit `cp -r` (kopiert, NICHT verschoben), weil die Lagen-Seiten weiterhin `/js/config.js`, `/js/translations.js`, `/js/mobile-nav.js` aus dem alten /js/-Ordner brauchen. Die alten /css/-Stylesheets brauchen die Lagen ebenfalls (`/css/main.css`, `/css/fonts.css`, `/css/mobile.css`).
### 2.3 Neue Vorschau-Files an Hauptseite-Position kopieren
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
cp vorschau/index.html index.html && \
cp vorschau/css/style.css css/vorschau-style.css && \
cp vorschau/js/app.js js/vorschau-app.js && \
mkdir -p assets/videos/vorschau-hero && \
cp vorschau/videos/* assets/videos/vorschau-hero/ && \
ls -la index.html css/vorschau-style.css js/vorschau-app.js assets/videos/vorschau-hero/'
```
**Begründung:** Die Vorschau-CSS heißt `style.css` und liegt unter `vorschau/css/`. Wenn wir sie nach `/css/style.css` packen, würden wir die alte Hauptseite-CSS überschreiben (die für Lagen-Seiten gebraucht wird, falls dort references existieren). Daher: eindeutige Namen `vorschau-style.css` und `vorschau-app.js`.
### 2.4 Pfade in der neuen `index.html` anpassen
Die Vorschau-`index.html` referenziert relativ:
- `<link rel="stylesheet" href="css/style.css">` → muss zu `css/vorschau-style.css`
- `<script src="js/app.js"></script>` → muss zu `js/vorschau-app.js`
- `videos/hero-slide-X-monitoring.mp4` → muss zu `assets/videos/vorschau-hero/hero-slide-X-monitoring.mp4`
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
sed -i "s|href=\"css/style.css\"|href=\"/css/vorschau-style.css\"|g" index.html && \
sed -i "s|src=\"js/app.js\"|src=\"/js/vorschau-app.js\"|g" index.html && \
sed -i "s|src=\"videos/hero-slide-|src=\"/assets/videos/vorschau-hero/hero-slide-|g" index.html && \
grep -E "(vorschau-style|vorschau-app|vorschau-hero)" index.html | head -10'
```
Erwartet: 7 Treffer (1× CSS, 1× JS, 5× Videos).
### 2.5 Passwort-Gate aus `index.html` entfernen
Folgenden Block ersatzlos löschen — es sind drei zusammenhängende Bereiche:
1. `<!-- Password Gate -->` Kommentar + dahinterliegender `<style>`-Block
2. `<div id="login-gate">...</div>`
3. `<script>` mit `var PW_HASH=...` etc.
Sed-Lösung (einzeilig):
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
python3 -c "
import re
with open(\"index.html\") as f: c = f.read()
# Entferne den kompletten Block von '<!-- Password Gate -->' bis nach dem login-gate-Script
c = re.sub(r'<!-- Password Gate -->.*?if\(getCookie.*?</script>', '', c, count=1, flags=re.DOTALL)
with open(\"index.html\", \"w\") as f: f.write(c)
print(\"Passwort-Gate entfernt\")
"'
```
Verifikation:
```bash
ssh claude-dev@46.225.225.49 'grep -c "PW_HASH\|login-gate" /opt/v2-Docker/aegis-website/html/index.html'
```
Erwartet: `0`
### 2.6 noindex/nofollow-Meta-Tags entfernen
In `index.html` und in den drei Lagen-Seiten:
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
for f in index.html lagen/iran-konflikt/index.html lagen/cyberangriffe/index.html lagen/deepfakes/index.html; do \
sed -i "/<meta name=\"robots\" content=\"noindex/d" "$f"; \
done && \
echo "--- Verbliebene noindex-Tags (sollte 0 sein):"; \
grep -c noindex index.html lagen/*/index.html'
```
Erwartet: Alle Dateien zeigen `0`.
### 2.7 robots.txt aktivieren (Crawler erlaubt)
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
mv robots-launch.txt robots.txt && \
head -10 robots.txt'
```
Erwartet: erste Zeilen zeigen `Allow: /` und `Sitemap:` Verweis.
### 2.8 sitemap.xml aktivieren
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
mv sitemap-launch.xml sitemap.xml && \
head -5 sitemap.xml'
```
### 2.9 Vorschau-Verzeichnis löschen
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
rm -rf vorschau && \
ls -d vorschau 2>&1 | tail -1'
```
Erwartet: `ls: cannot access 'vorschau': No such file or directory`
### 2.10 `.bak.*`-Dateien aufräumen (optional)
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
find . -name "*.bak.*" -type f -delete && \
find . -name "*.bak.*" -type f | wc -l'
```
Erwartet: `0`
### 2.11 Git-Commit + Push
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
git add -A && \
git status --short | head -30'
```
Status prüfen — sollte zeigen:
- `D index.html` (alte gelöscht), `?? index.html` (neue erscheint via add) → wird als "renamed" oder M erkannt
- Diverse Dateien in `_archiv/` neu
- `vorschau/` komplett gelöscht
- `robots.txt`, `sitemap.xml` erscheinen oder werden modifiziert
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
git commit -m "Online-Schaltung: Vorschau ist die neue Hauptseite
- Vorschau-Inhalt aus /vorschau/ nach /index.html, /css/vorschau-style.css, /js/vorschau-app.js, /assets/videos/vorschau-hero/ verschoben
- Alte Hauptseite (Sicherheit Made in Germany) in /_archiv/ archiviert
- Passwort-Gate entfernt
- robots.txt: Crawler erlaubt (außer AI-Crawler), Sitemap-Verweis aktiviert
- sitemap.xml aktiviert (Hauptseite, 3 Lagen, Impressum, Datenschutz)
- noindex/nofollow Meta-Tags aus Hauptseite und Lagen entfernt
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>" && \
git push origin main 2>&1 | tail -5'
```
---
## 3. Smoke-Tests (sofort nach Push)
Jeden Test einzeln ausführen, erwartete Antwort daneben prüfen:
```bash
# Hauptseite läuft:
curl -sI https://aegis-sight.de/ | head -1
# Erwartet: HTTP/1.1 200 OK
# Title ist da:
curl -s https://aegis-sight.de/ | grep -c '<title>AegisSight Monitor'
# Erwartet: 1
# noindex ist WEG:
curl -s https://aegis-sight.de/ | grep -c 'noindex'
# Erwartet: 0
# Passwort-Gate ist WEG:
curl -s https://aegis-sight.de/ | grep -c 'PW_HASH\|login-gate'
# Erwartet: 0
# robots.txt erlaubt Crawling:
curl -s https://aegis-sight.de/robots.txt | grep -c '^Allow:'
# Erwartet: ≥1
# sitemap.xml ist da:
curl -sI https://aegis-sight.de/sitemap.xml | head -1
# Erwartet: HTTP/1.1 200 OK
# Vorschau ist 404:
curl -sI https://aegis-sight.de/vorschau/ | head -1
# Erwartet: HTTP/1.1 404 Not Found
# Lagen erreichbar:
curl -sI https://aegis-sight.de/lagen/iran-konflikt/ | head -1
# Erwartet: HTTP/1.1 200 OK
curl -sI https://aegis-sight.de/lagen/cyberangriffe/ | head -1
# Erwartet: HTTP/1.1 200 OK
curl -sI https://aegis-sight.de/lagen/deepfakes/ | head -1
# Erwartet: HTTP/1.1 200 OK
# Cookie-Consent Asset erreichbar:
curl -sI https://aegis-sight.de/cookie-consent.js | head -1
# Erwartet: HTTP/1.1 200 OK
# Impressum + Datenschutz:
curl -sI https://aegis-sight.de/impressum.html | head -1
curl -sI https://aegis-sight.de/datenschutz.html | head -1
# Erwartet: beide HTTP/1.1 200 OK
# OG-Image:
curl -sI https://aegis-sight.de/assets/images/og-image.png | head -1
# Erwartet: HTTP/1.1 200 OK
```
Wenn ALLE Smoke-Tests grün: **Sage dem User Bescheid, dass die Live-Schaltung erfolgreich war**, und bitte um manuelle Verifikation im Browser (Hard-Reload Strg+F5):
- Layout korrekt
- Cookie-Banner erscheint
- Kontaktformular funktioniert
- Hero-Videos laufen
- Lagen-Karussell zeigt aktuelle Daten
- Footer hat Cookie-Einstellungen-Link
---
## 4. Notfall-Rollback (falls Smoke-Tests fehlschlagen)
**Variante A — Git-Rollback (bevorzugt):**
```bash
# Den Tag-Namen aus Schritt 1 verwenden (z.B. pre-launch-20260427-093015)
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
git reset --hard pre-launch-YYYYMMDD-HHMMSS && \
git push --force-with-lease origin main && \
git status'
```
**WICHTIG**: `--force-with-lease` ist sicherer als `--force`. Im seltenen Fall, dass jemand parallel committed hat, schlägt es fehl statt Daten zu überschreiben.
**Variante B — Server-Snapshot zurückspielen:**
```bash
ssh claude-dev@46.225.225.49 'tar -xzf /home/claude-dev/website-snapshot-YYYYMMDD-HHMMSS.tar.gz -C /opt/v2-Docker/aegis-website/'
```
**Nach Rollback**: Smoke-Tests erneut laufen lassen — Vorschau sollte wieder unter `/vorschau/` erreichbar sein, Hauptseite zeigt wieder die alte Version.
---
## 5. Manuelle Aufgaben (User/Kollege außerhalb des Skripts)
- **Browser-Test** auf `https://aegis-sight.de/` (Hard-Reload Strg+F5):
- Layout, Hero-Videos, Karussell, Kontaktformular
- Cookie-Banner erscheint, Akzeptieren funktioniert
- Mobile-View testen
- Lagen-Footer-Links funktionieren (z.B. `/#features`, `/#contact`)
- **OG-Image-Preview** testen: URL in WhatsApp/Telegram/LinkedIn einfügen → Vorschaubild sollte erscheinen
- **Eintrag in Search Console / Bing Webmaster:** ENTFÄLLT laut User-Wunsch (eigener Tracking-Pixel via Umami)
---
## 6. Notfall-Wiederherstellung der alten Hauptseite (separater, eigenständiger Block)
Falls jemand die alte Hauptseite ("Sicherheit Made in Germany") jemals wieder sehen/wiederherstellen möchte:
**Option A — aus `_archiv/` zurückkopieren:**
```bash
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
ls _archiv/'
# Zeigt: old-index.html, old-css/, old-js/, old-robots.txt, old-videos
```
Ein einzelner File z.B.:
```bash
ssh claude-dev@46.225.225.49 'cp /opt/v2-Docker/aegis-website/html/_archiv/old-index.html /tmp/old-index.html && head -30 /tmp/old-index.html'
```
**Option B — aus Git-History wiederherstellen (auch wenn `_archiv/` mal gelöscht würde):**
```bash
# Letzten Commit finden, der die alte index.html noch enthielt:
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
git log --all --diff-filter=D --pretty=format:"%H %s" -- index.html | head -5'
# Dann die alte Datei aus diesem Commit zurückholen:
ssh claude-dev@46.225.225.49 'cd /opt/v2-Docker/aegis-website/html && \
git show <commit-hash>^:index.html > /tmp/old-index.html'
```
Analog für `css/`, `js/` etc.
---
## 7. Anhang — Was wird wo geändert (Übersicht)
| Pfad | Vor Schaltung | Nach Schaltung |
|---|---|---|
| `/index.html` | "Sicherheit Made in Germany" (alte Hauptseite) | AegisSight Monitor (war Vorschau) |
| `/vorschau/` | passwortgeschützte Vorschau | gelöscht (404) |
| `/css/style.css` (alt) | aktiv (alte Hauptseite) | unter `/_archiv/old-css/style.css` |
| `/css/vorschau-style.css` | nicht existent | aktiv (für neue Hauptseite) |
| `/js/main.js` (alt) | aktiv | unter `/_archiv/old-js/main.js` |
| `/js/vorschau-app.js` | nicht existent | aktiv |
| `/css/main.css`, `/css/fonts.css`, `/css/mobile.css` | aktiv (für Hauptseite + Lagen) | aktiv (weiterhin für Lagen) |
| `/js/config.js`, `/js/translations.js`, `/js/mobile-nav.js` | aktiv | aktiv (für Lagen) |
| `/robots.txt` | blockiert alle Crawler | erlaubt Crawler (außer AI/Spam) |
| `/sitemap.xml` | nicht existent | aktiv |
| `/lagen/*/index.html` | hat noindex/nofollow | wird indexierbar |
| `/cookie-consent.js`, `/cookie-consent.css` | aktiv (auf alter Hauptseite) | aktiv (auf neuer Hauptseite + Lagen) |
| `/assets/images/og-image.png` | bereits vorhanden | weiterhin vorhanden |
| `/datenschutz.html` | bereits erweitert (Kontakt + Umami) | unverändert |
---
**Bei Fragen oder unerwarteten Outputs:** NICHT improvisieren. Dem User die genaue Fehlermeldung melden und Anweisung abwarten.

Datei anzeigen

@@ -3,8 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AccountForger</title> <title>AccountForger - AegisSight</title>
<link rel="stylesheet" href="styles-intelsight.css">
<link rel="stylesheet" href="css/fonts.css"> <link rel="stylesheet" href="css/fonts.css">
<style> <style>
:root { :root {
@@ -12,7 +11,7 @@
} }
body { body {
background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); background: linear-gradient(135deg, #0A1832 0%, #060F20 100%);
min-height: 100vh; min-height: 100vh;
min-height: calc(var(--vh, 1vh) * 100); min-height: calc(var(--vh, 1vh) * 100);
overflow-x: hidden; overflow-x: hidden;
@@ -37,8 +36,8 @@
align-items: center; align-items: center;
gap: 0.5rem; gap: 0.5rem;
padding: 0.75rem 1.5rem; padding: 0.75rem 1.5rem;
background: rgba(255, 255, 255, 0.1); background: rgba(200, 168, 81, 0.15);
border: 1px solid rgba(255, 255, 255, 0.2); border: 1px solid rgba(200, 168, 81, 0.3);
border-radius: 8px; border-radius: 8px;
color: #fff; color: #fff;
text-decoration: none; text-decoration: none;
@@ -50,7 +49,7 @@
} }
.back-button:hover { .back-button:hover {
background: rgba(255, 255, 255, 0.15); background: rgba(200, 168, 81, 0.25);
transform: translateX(-5px); transform: translateX(-5px);
} }
@@ -242,7 +241,7 @@
} }
.play-button, .fullscreen-button, .volume-button { .play-button, .fullscreen-button, .volume-button {
background: rgba(255, 255, 255, 0.2); background: rgba(200, 168, 81, 0.25);
border: none; border: none;
width: 40px; width: 40px;
height: 40px; height: 40px;
@@ -255,7 +254,7 @@
} }
.play-button:hover, .fullscreen-button:hover, .volume-button:hover { .play-button:hover, .fullscreen-button:hover, .volume-button:hover {
background: rgba(255, 255, 255, 0.3); background: rgba(200, 168, 81, 0.4);
transform: scale(1.1); transform: scale(1.1);
} }
@@ -288,7 +287,7 @@
.volume-fill { .volume-fill {
height: 100%; height: 100%;
background: #00d4ff; background: #C8A851;
border-radius: 2px; border-radius: 2px;
width: 100%; width: 100%;
} }
@@ -304,7 +303,7 @@
.progress-fill { .progress-fill {
height: 100%; height: 100%;
background: #00d4ff; background: #C8A851;
border-radius: 2px; border-radius: 2px;
width: 0%; width: 0%;
transition: width 0.1s linear; transition: width 0.1s linear;
@@ -323,7 +322,7 @@
margin-top: 2rem; margin-top: 2rem;
padding: 1rem; padding: 1rem;
background: rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(200, 168, 81, 0.2);
border-radius: 8px; border-radius: 8px;
text-align: center; text-align: center;
color: rgba(255, 255, 255, 0.7); color: rgba(255, 255, 255, 0.7);
@@ -338,7 +337,7 @@
height: 20px; height: 20px;
vertical-align: middle; vertical-align: middle;
margin-right: 0.5rem; margin-right: 0.5rem;
fill: #00d4ff; fill: #C8A851;
} }
@keyframes fadeInUp { @keyframes fadeInUp {
@@ -519,6 +518,8 @@
} }
} }
</style> </style>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
</head> </head>
<body> <body>
<div class="video-container"> <div class="video-container">
@@ -530,7 +531,9 @@
</a> </a>
<div class="video-header"> <div class="video-header">
<img loading="lazy" src="assets/images/logos/AegisSightLogo_NavyGold.svg" alt="AegisSight" style="height: 48px; margin-bottom: 1rem;">
<h1>AccountForger</h1> <h1>AccountForger</h1>
<p>Video-Demo</p>
</div> </div>
<div class="video-wrapper"> <div class="video-wrapper">
@@ -572,10 +575,8 @@
</div> </div>
<script> <script>
// Check authentication // Zugangsschutz wird serverseitig von Nginx (auth_request) geprueft.
if (!sessionStorage.getItem('accountForgerAuth')) { // Wenn diese Seite laedt, wurde der Zugang bereits verifiziert.
window.location.href = 'index.html';
}
// Video player functionality // Video player functionality
const video = document.getElementById('protectedVideo'); const video = document.getElementById('protectedVideo');

73
analytics-events.js Normale Datei
Datei anzeigen

@@ -0,0 +1,73 @@
/**
* AegisSight Analytics - Custom Events
* Trackt wichtige Nutzerinteraktionen via Umami
*/
(function() {
"use strict";
// Nur tracken wenn umami geladen ist
function track(name, data) {
if (typeof umami !== "undefined" && umami.track) {
umami.track(name, data);
}
}
document.addEventListener("DOMContentLoaded", function() {
// 1. Produkt-Tab geklickt
document.querySelectorAll("[data-translate]").forEach(function(el) {
if (el.closest(".products-section, .product-card, .tab-button")) {
el.addEventListener("click", function() {
var text = el.textContent.trim().substring(0, 50);
track("Produkt-Interesse", { element: text });
});
}
});
// 2. About-Tabs (Unternehmen, Mission, Kernkompetenzen, Versprechen)
document.querySelectorAll(".about-tab, .tab-btn, [data-tab]").forEach(function(el) {
el.addEventListener("click", function() {
var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
track("About-Tab", { tab: tab });
});
});
// 3. Kontaktbereich erreicht (Scroll)
var contactTracked = false;
var observer = new IntersectionObserver(function(entries) {
entries.forEach(function(entry) {
if (entry.isIntersecting && !contactTracked) {
contactTracked = true;
track("Kontakt-Bereich-erreicht");
}
});
}, { threshold: 0.5 });
var footer = document.querySelector("footer, .contact-section, #kontakt, #contact");
if (footer) observer.observe(footer);
// 4. Sprachenwechsel
document.querySelectorAll(".lang-switch, .language-btn, [data-lang]").forEach(function(el) {
el.addEventListener("click", function() {
var lang = el.getAttribute("data-lang") || el.textContent.trim();
track("Sprachenwechsel", { sprache: lang });
});
});
// 5. Lagebild-Seite: Tab gewechselt
if (window.location.pathname.indexOf("lagen") > -1) {
document.querySelectorAll(".tab-button, [data-tab]").forEach(function(el) {
el.addEventListener("click", function() {
var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
track("Lagebild-Tab", { tab: tab });
});
});
track("Lagebild-Besuch");
}
// 6. AccountForger Video aufgerufen
if (window.location.pathname.indexOf("accountforger") > -1) {
track("AccountForger-Video-Aufruf");
}
});
})();

Datei anzeigen

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 8 6 6"/><path d="m4 14 6-6 2-3"/><path d="M2 5h12"/><path d="M7 2h1"/><path d="m22 22-5-10-5 10"/><path d="M14 18h6"/></svg>

Nachher

Breite:  |  Höhe:  |  Größe: 318 B

Datei anzeigen

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/></svg>

Nachher

Breite:  |  Höhe:  |  Größe: 314 B

Datei anzeigen

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21.54 15H17a2 2 0 0 0-2 2v4.54"/>
<path d="M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"/>
<path d="M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"/>
<circle cx="12" cy="12" r="10"/>
</svg>

Nachher

Breite:  |  Höhe:  |  Größe: 446 B

BIN
assets/images/og-image.png Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 35 KiB

Datei anzeigen

@@ -0,0 +1,60 @@
.marker-cluster-small {
background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
background-color: rgba(110, 204, 57, 0.6);
}
.marker-cluster-medium {
background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
background-color: rgba(240, 194, 12, 0.6);
}
.marker-cluster-large {
background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
background-color: rgba(241, 128, 23, 0.6);
}
/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
background-color: rgb(110, 204, 57);
}
.leaflet-oldie .marker-cluster-medium {
background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
background-color: rgb(240, 194, 12);
}
.leaflet-oldie .marker-cluster-large {
background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
background-color: rgb(241, 128, 23);
}
.marker-cluster {
background-clip: padding-box;
border-radius: 20px;
}
.marker-cluster div {
width: 30px;
height: 30px;
margin-left: 5px;
margin-top: 5px;
text-align: center;
border-radius: 15px;
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
line-height: 30px;
}

14
assets/vendor/leaflet/MarkerCluster.css vendored Normale Datei
Datei anzeigen

@@ -0,0 +1,14 @@
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}
.leaflet-cluster-spider-leg {
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

BIN
assets/vendor/leaflet/images/layers-2x.png vendored Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 1.2 KiB

BIN
assets/vendor/leaflet/images/layers.png vendored Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 696 B

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 2.4 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 1.4 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 618 B

661
assets/vendor/leaflet/leaflet.css vendored Normale Datei
Datei anzeigen

@@ -0,0 +1,661 @@
/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
max-width: none !important;
max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
width: auto;
padding: 0;
}
.leaflet-container img.leaflet-tile {
/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
/* Fallback for FF which doesn't support pinch-zoom */
touch-action: none;
touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
/* control positioning */
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
svg.leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
/* cursors */
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
background: #ddd;
outline-offset: 1px;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
/* general typography */
.leaflet-container {
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
font-size: 12px;
font-size: 0.75rem;
line-height: 1.5;
}
/* general toolbar styles */
.leaflet-bar {
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
font-size: 22px;
}
/* layers control */
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
font-size: 13px;
font-size: 1.08333em;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
background-image: url(images/marker-icon.png);
}
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.8);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
line-height: 1.4;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
text-decoration: underline;
}
.leaflet-attribution-flag {
display: inline !important;
vertical-align: baseline !important;
width: 1em;
height: 0.6669em;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
white-space: nowrap;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: rgba(255, 255, 255, 0.8);
text-shadow: 1px 1px #fff;
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
/* popup */
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 24px 13px 20px;
line-height: 1.3;
font-size: 13px;
font-size: 1.08333em;
min-height: 1px;
}
.leaflet-popup-content p {
margin: 17px 0;
margin: 1.3em 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-top: -1px;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
pointer-events: auto;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
border: none;
text-align: center;
width: 24px;
height: 24px;
font: 16px/24px Tahoma, Verdana, sans-serif;
color: #757575;
text-decoration: none;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
color: #585858;
}
.leaflet-popup-scrolled {
overflow: auto;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
-ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-interactive {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}
/* Printing */
@media print {
/* Prevent printers from removing background-images of controls. */
.leaflet-control {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}

6
assets/vendor/leaflet/leaflet.js vendored Normale Datei

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Datei anzeigen

@@ -47,13 +47,9 @@ main {
padding: 0 2rem; padding: 0 2rem;
} }
footer { /* Demo-Page-Reststyles: nackter footer-Selector entfernt, weil er sonst
background: var(--consent-text-dark); ueber alle Seiten den Site-Footer mit fremdem Margin/Background ueberlagert.
color: white; Cookie-Consent-Banner-Styles bleiben unten unveraendert. */
padding: 2rem;
text-align: center;
margin-top: 4rem;
}
footer nav { footer nav {
margin-bottom: 1rem; margin-bottom: 1rem;

Datei anzeigen

@@ -14,15 +14,15 @@
STORAGE_KEY: 'insights-consent', STORAGE_KEY: 'insights-consent',
STORAGE_EXPIRES: 'insights-consent-expires', STORAGE_EXPIRES: 'insights-consent-expires',
STORAGE_DETAILS: 'insights-consent-details', STORAGE_DETAILS: 'insights-consent-details',
TRACKING_SCRIPT: '/insights/t.js', TRACKING_SCRIPT: '/analytics-und-so/datenblick.js',
SESSION_COOKIE: '_insights_session' WEBSITE_ID: '598ef5fd-d2dc-4540-9e65-602889981dac'
}; };
// === TRANSLATIONS === // === TRANSLATIONS ===
const TRANSLATIONS = { const TRANSLATIONS = {
de: { de: {
title: 'Diese Website nutzt Cookies', title: 'Diese Website nutzt Cookies',
text: 'Wir verwenden ein selbst gehostetes Analyse-Tool, um unsere Website zu verbessern. Dabei erfassen wir anonymisierte Informationen über Ihre Nutzung (besuchte Seiten, Browser, ungefährer Standort). Alle Daten bleiben auf unserem Server in Deutschland und werden niemals an Dritte weitergegeben.', text: 'Wir verwenden AegisSight Analytics (basierend auf Umami), ein selbst gehostetes, cookieloses Analyse-Tool, um unsere Website zu verbessern. Dabei erfassen wir anonymisierte Informationen über Ihre Nutzung (besuchte Seiten, Browser, ungefährer Standort). Alle Daten bleiben auf unserem Server in Deutschland und werden niemals an Dritte weitergegeben.',
privacy: 'Mit "Alle akzeptieren" stimmen Sie der Verwendung von Analyse-Cookies zu. Sie können Ihre Einwilligung jederzeit in den Cookie-Einstellungen widerrufen.', privacy: 'Mit "Alle akzeptieren" stimmen Sie der Verwendung von Analyse-Cookies zu. Sie können Ihre Einwilligung jederzeit in den Cookie-Einstellungen widerrufen.',
btnAcceptAll: '✓ Alle akzeptieren', btnAcceptAll: '✓ Alle akzeptieren',
btnRejectAll: '✗ Nur notwendige', btnRejectAll: '✗ Nur notwendige',
@@ -40,7 +40,7 @@
}, },
en: { en: {
title: 'This website uses cookies', title: 'This website uses cookies',
text: 'We use a self-hosted analytics tool to improve our website. We collect anonymized information about your usage (pages visited, browser, approximate location). All data remains on our server in Germany and is never shared with third parties.', text: 'We use AegisSight Analytics (based on Umami), a self-hosted, cookieless analytics tool to improve our website. We collect anonymized information about your usage (pages visited, browser, approximate location). All data remains on our server in Germany and is never shared with third parties.',
privacy: 'By clicking "Accept all", you consent to the use of analytics cookies. You can revoke your consent at any time in the cookie settings.', privacy: 'By clicking "Accept all", you consent to the use of analytics cookies. You can revoke your consent at any time in the cookie settings.',
btnAcceptAll: '✓ Accept all', btnAcceptAll: '✓ Accept all',
btnRejectAll: '✗ Only necessary', btnRejectAll: '✗ Only necessary',
@@ -149,11 +149,17 @@
const script = document.createElement('script'); const script = document.createElement('script');
script.src = CONFIG.TRACKING_SCRIPT; script.src = CONFIG.TRACKING_SCRIPT;
script.async = true; script.setAttribute("data-website-id", CONFIG.WEBSITE_ID);
script.defer = true;
script.onerror = () => { script.onerror = () => {
console.error('[CookieConsent] Failed to load tracking script'); console.error('[CookieConsent] Failed to load tracking script');
}; };
document.head.appendChild(script); document.head.appendChild(script);
// Custom Analytics Events laden
const eventsScript = document.createElement("script");
eventsScript.src = "/analytics-events.js";
eventsScript.defer = true;
document.head.appendChild(eventsScript);
console.log('[CookieConsent] Analytics enabled - tracking script loaded'); console.log('[CookieConsent] Analytics enabled - tracking script loaded');
} }
} }
@@ -165,8 +171,11 @@
trackingScript.remove(); trackingScript.remove();
} }
// Delete session cookie // Analytics Events Script entfernen
deleteCookie(CONFIG.SESSION_COOKIE); const eventsScript = document.querySelector('script[src="/analytics-events.js"]');
if (eventsScript) {
eventsScript.remove();
}
console.log('[CookieConsent] Analytics disabled - tracking blocked'); console.log('[CookieConsent] Analytics disabled - tracking blocked');
} }
@@ -307,10 +316,10 @@
${getTranslation('analyticsDesc')} ${getTranslation('analyticsDesc')}
</div> </div>
<div class="category-details"> <div class="category-details">
<strong>AegisSight Analytics (Self-Hosted)</strong> <strong>AegisSight Analytics (Self-Hosted, Umami)</strong>
<ul> <ul>
<li><strong>Cookie:</strong> _insights_session (30 Minuten)</li> <li><strong>Cookies:</strong> Keine (cookieloses Tracking)</li>
<li><strong>Zweck:</strong> Session-Tracking, Bounce-Rate Berechnung</li> <li><strong>Zweck:</strong> Anonymisierte Nutzungsstatistiken</li>
<li><strong>Daten:</strong> Besuchte Seiten, Browser-Typ, ungefährer Standort (Stadt)</li> <li><strong>Daten:</strong> Besuchte Seiten, Browser-Typ, ungefährer Standort (Stadt)</li>
<li><strong>Server:</strong> Deutschland (aegis-sight.de)</li> <li><strong>Server:</strong> Deutschland (aegis-sight.de)</li>
<li><strong>Weitergabe:</strong> Keine Drittanbieter</li> <li><strong>Weitergabe:</strong> Keine Drittanbieter</li>

Datei anzeigen

@@ -1,612 +0,0 @@
/* Modern About Section Redesign */
/* About Section Background */
.about-section {
background: linear-gradient(135deg, var(--color-white) 0%, var(--color-gray-50) 100%);
position: relative;
overflow: hidden;
padding: var(--space-4xl) 0;
}
.about-section::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 60%;
height: 60%;
background: radial-gradient(circle, rgba(10, 24, 50, 0.04) 0%, transparent 70%);
border-radius: 50%;
animation: float-slow 20s ease-in-out infinite;
}
@keyframes float-slow {
0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(-30px, -30px) scale(1.05); }
66% { transform: translate(30px, -20px) scale(0.95); }
}
/* Modern Tab Navigation */
.about-tabs {
display: flex;
justify-content: center;
gap: 20px;
margin-bottom: 4rem;
position: relative;
padding: 10px;
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(10px);
border-radius: 100px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
max-width: 800px;
margin-left: auto;
margin-right: auto;
border: none;
}
.about-tab {
background: transparent;
border: none;
color: var(--color-gray-600);
padding: 15px 30px;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
font-size: 1rem;
font-weight: 600;
border-radius: 50px;
position: relative;
overflow: hidden;
z-index: 1;
}
.about-tab::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50px;
background: var(--color-navy);
transform: translate(-50%, -50%);
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
z-index: -1;
}
.about-tab.active::before {
width: 100%;
height: 100%;
}
.about-tab.active {
color: var(--color-white);
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(10, 24, 50, 0.3);
}
.about-tab:hover:not(.active) {
color: var(--color-gold-dark);
transform: translateY(-2px);
background: rgba(200, 168, 81, 0.08);
}
/* Tab Content Panels */
.about-content {
max-width: 1200px;
margin: 0 auto;
position: relative;
}
.about-panel {
display: none;
animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.about-panel.active {
display: block;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Company Tab - Cards Layout */
#who-we-are .panel-text {
display: flex;
gap: 40px;
align-items: stretch;
min-height: 500px;
}
.company-cards-wrapper {
display: flex;
flex-direction: column;
gap: 30px;
width: 50%;
justify-content: space-between;
}
.company-card {
background: white;
border-radius: 20px;
padding: 40px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
position: relative;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
flex: 1;
display: flex;
flex-direction: column;
}
.company-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: #0A1832;
transform: scaleY(0);
transition: transform 0.4s;
}
.company-card:hover::before {
transform: scaleY(1);
}
.company-card:hover {
transform: translateX(6px);
box-shadow: 0 12px 32px rgba(10, 24, 50, 0.1);
}
.company-card h4 {
color: var(--color-navy);
font-size: 1.4rem;
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 15px;
}
.company-card-icon {
width: 70px;
height: 70px;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.1), rgba(0, 64, 110, 0.05));
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: all 0.4s;
}
.company-card:hover .company-card-icon {
transform: scale(1.1) rotate(5deg);
background: #0A1832;
}
.company-card-icon img {
width: 35px;
height: 35px;
filter: brightness(0) saturate(100%) invert(42%) sepia(82%) saturate(723%) hue-rotate(178deg) brightness(98%) contrast(92%);
transition: filter 0.4s;
}
.company-card:hover .company-card-icon img {
filter: brightness(0) saturate(100%) invert(100%);
}
/* Mission & Values - Modern Grid */
.mission-grid {
text-align: left;
}
.mission-header {
background: #0A1832;
color: white;
padding: 60px;
border-radius: 30px;
margin-bottom: 40px;
position: relative;
overflow: hidden;
}
.mission-header::after {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 50%;
height: 200%;
background: rgba(255, 255, 255, 0.1);
transform: rotate(45deg);
}
.mission-header h3 {
font-size: 2.5rem;
margin-bottom: 20px;
position: relative;
z-index: 1;
color: #ffffff;
}
.mission-header p {
font-size: 1.2rem;
position: relative;
z-index: 1;
opacity: 0.95;
}
.values-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
margin: 3rem 0;
}
.value-card {
background: white;
border-radius: 24px;
padding: 35px;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
border: 2px solid transparent;
cursor: pointer;
}
.value-card::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.1) 0%, transparent 100%);
opacity: 0;
transition: opacity 0.4s;
}
.value-card:hover::after {
opacity: 1;
}
.value-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(10, 24, 50, 0.12);
border-color: var(--color-navy);
}
.value-icon {
width: 100px;
height: 100px;
margin-bottom: 20px;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.1), rgba(0, 64, 110, 0.05));
border-radius: 30px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.4s;
}
.value-icon img {
width: 50px;
height: 50px;
filter: brightness(0) saturate(100%) invert(42%) sepia(82%) saturate(723%) hue-rotate(178deg) brightness(98%) contrast(92%);
transition: filter 0.4s;
}
.value-card:hover .value-icon {
transform: scale(1.1) rotate(5deg);
background: #0A1832;
}
.value-card:hover .value-icon img {
filter: brightness(0) saturate(100%) invert(100%);
}
/* Competencies - Timeline Style */
.competencies-list {
position: relative;
padding-left: 40px;
}
.competencies-list::before {
content: '';
position: absolute;
left: 10px;
top: 0;
width: 3px;
height: 100%;
background: #0A1832;
border-radius: 2px;
}
.competency-item {
display: grid;
grid-template-columns: auto 1fr;
gap: 30px;
align-items: center;
padding: 30px;
margin-bottom: 30px;
background: white;
border-radius: 20px;
position: relative;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
.competency-item::before {
content: '';
position: absolute;
left: -30px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
background: white;
border: 4px solid #0f72b5;
border-radius: 50%;
z-index: 1;
}
.competency-item:hover {
transform: translateX(10px);
box-shadow: 0 8px 24px rgba(10, 24, 50, 0.1);
}
.competency-number {
font-size: 3rem;
font-weight: 700;
background: linear-gradient(135deg, #C8A851, #B39645);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
opacity: 1;
}
/* Why AegisSight - 2x2 Grid */
.why-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 30px;
grid-auto-rows: minmax(250px, auto);
}
.why-card {
grid-column: span 1;
grid-row: span 1;
}
.why-card {
background: white;
border-radius: 24px;
padding: 35px;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
border: 2px solid transparent;
}
.why-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(10, 24, 50, 0.1);
border-color: rgba(10, 24, 50, 0.2);
}
.why-icon {
width: 100px;
height: 100px;
margin: 0 auto 25px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.1), rgba(0, 64, 110, 0.05));
border-radius: 30px;
transition: all 0.4s;
}
.why-icon img {
width: 50px;
height: 50px;
filter: brightness(0) saturate(100%) invert(42%) sepia(82%) saturate(723%) hue-rotate(178deg) brightness(98%) contrast(92%);
transition: filter 0.4s;
}
/* German Flag Icon Special Styling */
.german-flag-icon {
background: transparent !important;
padding: 15px;
}
.german-flag-icon img {
width: 70px !important;
height: 42px !important;
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
filter: none !important;
}
.why-card:hover .german-flag-icon {
background: transparent !important;
transform: scale(1.15);
}
.why-card:hover .german-flag-icon img {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
filter: none !important;
}
.why-card:hover .why-icon {
transform: scale(1.1) rotate(5deg);
background: #0A1832;
}
.why-card:hover .why-icon img {
filter: brightness(0) saturate(100%) invert(100%);
}
.why-card h4 {
font-size: 1.6rem;
margin-bottom: 20px;
color: var(--color-navy);
text-align: center;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.why-card p {
color: var(--color-gray-600);
line-height: 1.8;
flex-grow: 1;
text-align: center;
font-size: 1.05rem;
}
/* Location Section with Map */
.location-section {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 45%;
margin-left: auto;
height: 100%;
}
.mini-germany-map {
flex: 1;
width: 100%;
max-width: 350px;
padding: 30px;
background: white;
border-radius: 20px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s;
margin-bottom: 20px;
position: relative;
overflow: hidden;
}
.mini-germany-map::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 35% 45%, rgba(10, 24, 50, 0.3) 0%, transparent 40%);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
z-index: 2;
}
.mini-germany-map:hover::before {
opacity: 1;
}
.mini-germany-map:hover {
transform: scale(1.02);
box-shadow: 0 15px 50px rgba(10, 24, 50, 0.15);
}
.mini-germany-map img {
width: 100%;
height: auto;
max-height: 100%;
object-fit: contain;
transition: all 0.4s ease;
position: relative;
z-index: 1;
}
.mini-germany-map:hover img {
filter: brightness(1.1) contrast(1.1);
}
/* Pulsing glow effect for NRW region */
@keyframes nrwPulse {
0%, 100% {
filter: drop-shadow(0 0 10px rgba(10, 24, 50, 0.5));
}
50% {
filter: drop-shadow(0 0 25px rgba(10, 24, 50, 0.8));
}
}
.mini-germany-map:hover img {
animation: nrwPulse 2s ease-in-out infinite;
}
/* Location Badge Enhancement */
.location-badge {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.1), rgba(0, 64, 110, 0.05));
border-radius: 100px;
color: #0f72b5;
font-weight: 600;
border: 2px solid rgba(15, 114, 181, 0.2);
transition: all 0.3s;
}
.location-badge:hover {
background: #0A1832;
color: white;
transform: scale(1.05);
box-shadow: 0 10px 30px rgba(15, 114, 181, 0.3);
}
.location-badge svg {
width: 24px;
height: 24px;
transition: all 0.3s;
}
.location-badge:hover svg {
animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes ping {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.2);
opacity: 0.8;
}
}
/* Responsive Design */
@media (max-width: 768px) {
.about-tabs {
flex-direction: column;
border-radius: 20px;
gap: 10px;
}
.why-grid {
grid-template-columns: 1fr;
}
.competencies-list {
padding-left: 20px;
}
}

Datei anzeigen

@@ -1,222 +0,0 @@
/* Enhanced Modern Animations & Effects */
/* Glassmorphism Base */
.glass {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.glass-dark {
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
/* Smooth Fade In Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInScale {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(-50px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
/* Staggered Animation Classes */
.animate-in {
opacity: 0;
animation: fadeInUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.animate-in-scale {
opacity: 0;
animation: fadeInScale 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }
/* Floating Animation */
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
}
.floating {
animation: float 6s ease-in-out infinite;
}
/* Pulse Glow Animation - Dezent */
@keyframes pulseGlow {
0%, 100% {
box-shadow:
0 0 5px rgba(10, 24, 50, 0.2),
0 0 10px rgba(10, 24, 50, 0.1);
}
50% {
box-shadow:
0 0 10px rgba(10, 24, 50, 0.3),
0 0 20px rgba(10, 24, 50, 0.15);
}
}
.pulse-glow {
animation: pulseGlow 3s ease-in-out infinite;
}
/* Gradient Animation */
@keyframes gradientShift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.gradient-animated {
background: linear-gradient(
-45deg,
var(--color-navy),
var(--color-navy-light),
var(--color-navy),
var(--color-blue)
);
background-size: 400% 400%;
animation: gradientShift 15s ease infinite;
}
/* Text Reveal Animation */
@keyframes textReveal {
from {
clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
to {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
}
.text-reveal {
animation: textReveal 1.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}
/* Card Hover Effects - Subtil */
.card-hover-lift {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover-lift:hover {
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(10, 24, 50, 0.12);
}
/* Magnetic Button Effect */
.magnetic-button {
position: relative;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.magnetic-button::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}
.magnetic-button:hover::before {
width: 300px;
height: 300px;
}
/* Parallax Layers */
.parallax-slow { transform: translateZ(-1px) scale(1.5); }
.parallax-medium { transform: translateZ(-2px) scale(2); }
.parallax-fast { transform: translateZ(-3px) scale(2.5); }
/* Reveal on Scroll */
.reveal {
opacity: 0;
transform: translateY(50px);
transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active {
opacity: 1;
transform: translateY(0);
}
/* Smooth Scroll Indicator */
@keyframes scrollDown {
0% {
transform: translateY(0);
opacity: 0;
}
40% {
opacity: 1;
}
80% {
transform: translateY(20px);
opacity: 0;
}
100% {
opacity: 0;
}
}
.scroll-indicator-animated {
animation: scrollDown 2s infinite;
}
/* Loading Shimmer - Für Gold-Akzente */
@keyframes shimmer {
0% {
background-position: -1000px 0;
}
100% {
background-position: 1000px 0;
}
}
.shimmer {
background: linear-gradient(
90deg,
rgba(200, 168, 81, 0) 0%,
rgba(200, 168, 81, 0.2) 50%,
rgba(200, 168, 81, 0) 100%
);
background-size: 1000px 100%;
animation: shimmer 3s infinite;
}

Datei anzeigen

@@ -1,271 +0,0 @@
/* Global Styles */
:root {
--primary-blue: #0f72b5;
--dark-blue: #00406e;
--accent-blue: #0f72b5;
--secondary-blue: #00406e;
--light-gray: #f4f4f4;
--white: #FFFFFF;
--text-dark: #333333;
--border-gray: #e0e0e0;
--alert-red: #FF4444;
--success-green: #4CAF50;
--warning-yellow: #FFC107;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
background-color: var(--white);
color: var(--text-dark);
overflow-x: hidden;
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Typography */
h1, h2, h3, h4 {
font-family: 'Bebas Neue', cursive;
letter-spacing: 1px;
}
.section-title {
font-size: 3.5rem;
text-align: center;
margin-bottom: 1rem;
position: relative;
display: inline-block;
width: 100%;
}
.section-subtitle {
font-size: 1.2rem;
text-align: center;
opacity: 0.8;
margin-bottom: 3rem;
font-weight: 300;
}
/* Navigation */
.navbar {
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
transition: all 0.3s ease;
background: var(--white);
border-bottom: 1px solid var(--border-gray);
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.nav-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1.5rem 2rem;
}
.logo-img {
height: 55px;
width: auto;
filter: none;
}
.nav-menu {
display: flex;
list-style: none;
gap: 2rem;
}
.nav-menu a {
color: var(--text-dark);
text-decoration: none;
font-weight: 500;
font-size: 1rem;
transition: all 0.3s ease;
position: relative;
}
.nav-menu a::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background: var(--primary-blue);
transition: width 0.3s ease;
}
.nav-menu a:hover::after {
width: 100%;
}
.nav-extras {
display: flex;
align-items: center;
gap: 1rem;
}
.lang-toggle {
background: transparent;
border: 1px solid var(--primary-blue);
color: var(--primary-blue);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
transition: all 0.3s ease;
font-weight: 500;
}
.lang-toggle:hover {
background: var(--primary-blue);
color: var(--white);
}
.cta-button, .primary-button, .secondary-button {
padding: 0.75rem 1.5rem;
border: none;
border-radius: 4px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
text-transform: none;
letter-spacing: 0.5px;
}
.cta-button, .primary-button {
background: var(--primary-blue);
color: var(--white);
}
.cta-button:hover, .primary-button:hover {
background: var(--dark-blue);
transform: translateY(-2px);
box-shadow: 0 5px 20px rgba(15, 114, 181, 0.3);
}
.secondary-button {
background: transparent;
color: var(--primary-blue);
border: 2px solid var(--primary-blue);
}
.secondary-button:hover {
background: var(--primary-blue);
color: var(--white);
}
.large {
padding: 1rem 2rem;
font-size: 1.1rem;
}
/* Hero Section */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
padding-top: 100px;
background: #000000;
}
/* Clean transition */
.hero::after {
display: none;
}
/* Video Background */
.hero-video {
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
transform: translate(-50%, -50%);
z-index: 0;
object-fit: cover;
}
/* Video Overlay to match brand colors */
.video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg,
rgba(15, 114, 181, 0.7) 0%,
rgba(0, 64, 110, 0.7) 50%,
rgba(15, 114, 181, 0.7) 100%);
mix-blend-mode: multiply;
z-index: 1;
}
#particleCanvas {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.hero-content {
text-align: center;
z-index: 3;
position: relative;
}
.hero-title {
margin-bottom: 2rem;
}
.subtitle {
display: block;
font-size: 1.2rem;
margin-bottom: 0.5rem;
color: var(--text-dark);
font-weight: 400;
letter-spacing: 1px;
}
.main-title {
display: block;
font-size: 3.5rem;
letter-spacing: 2px;
color: var(--primary-blue);
font-weight: 700;
}
.hero-text {
font-size: 1.1rem;
margin-bottom: 3rem;
color: var(--text-dark);
}
.hero-cta {
display: flex;
gap: 1rem;
justify-content: center;
margin-top: 2rem;
}

73
css/lang-switcher.css Normale Datei
Datei anzeigen

@@ -0,0 +1,73 @@
/* Language switcher (DE/EN)
Used on every page in the site header and inside the mobile menu.
Active language is non-clickable, inactive language is a link to the
counterpart URL. Pendant URL is hardcoded per page so the switch works
without JavaScript. */
.lang-switcher {
display: inline-flex;
align-items: center;
gap: 0.4em;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.04em;
user-select: none;
line-height: 1;
}
.lang-switcher .lang-active {
color: #C8A851;
cursor: default;
}
.lang-switcher .lang-link {
color: #5A6478;
text-decoration: none;
transition: color 0.2s ease;
padding: 0.15em 0;
}
.lang-switcher .lang-link:hover,
.lang-switcher .lang-link:focus-visible {
color: #C8A851;
outline: none;
}
.lang-switcher .lang-sep {
color: #5A6478;
opacity: 0.4;
}
/* Dark variant for the lagebild pages (dark navbar) */
.lagebild-page .lang-switcher .lang-link,
.lang-switcher.lang-switcher-dark .lang-link {
color: rgba(255, 255, 255, 0.7);
}
.lagebild-page .lang-switcher .lang-link:hover,
.lagebild-page .lang-switcher .lang-link:focus-visible,
.lang-switcher.lang-switcher-dark .lang-link:hover,
.lang-switcher.lang-switcher-dark .lang-link:focus-visible {
color: #C8A851;
}
.lagebild-page .lang-switcher .lang-sep,
.lang-switcher.lang-switcher-dark .lang-sep {
color: rgba(255, 255, 255, 0.5);
}
/* Inside mobile menus: full-width row with separator on top */
.mobile-menu .lang-switcher,
.nav-menu-mobile .lang-switcher {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid rgba(0, 0, 0, 0.08);
font-size: 1rem;
justify-content: center;
width: 100%;
}
.lagebild-page .nav-menu-mobile .lang-switcher {
border-top-color: rgba(255, 255, 255, 0.12);
}

Datei anzeigen

@@ -1,501 +0,0 @@
/* Modern Products Section Design */
.products-section {
background: var(--color-navy);
position: relative;
padding: var(--space-4xl) 0;
overflow: hidden;
}
/* Animated Background */
.products-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(circle at 20% 50%, rgba(19, 40, 68, 0.3) 0%, transparent 50%),
radial-gradient(circle at 80% 50%, rgba(19, 40, 68, 0.2) 0%, transparent 50%),
radial-gradient(circle at 50% 100%, rgba(200, 168, 81, 0.05) 0%, transparent 50%);
animation: backgroundShift 20s ease-in-out infinite;
}
@keyframes backgroundShift {
0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(-20px, -20px) scale(1.1); }
66% { transform: translate(20px, -10px) scale(0.95); }
}
/* Section Title */
.products-section .section-title {
color: #ffffff;
font-size: 3.5rem;
text-transform: uppercase;
letter-spacing: 3px;
margin-bottom: 20px;
position: relative;
display: inline-block;
animation: titleGlow 3s ease-in-out infinite;
}
@keyframes titleGlow {
0%, 100% { text-shadow: 0 0 15px rgba(200, 168, 81, 0.3); }
50% { text-shadow: 0 0 25px rgba(200, 168, 81, 0.5), 0 0 40px rgba(200, 168, 81, 0.2); }
}
.products-section .section-subtitle {
color: rgba(255, 255, 255, 0.7);
font-size: 1.3rem;
margin-bottom: 80px;
}
/* Products Container */
.products-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 20px;
position: relative;
z-index: 2;
}
/* Products Grid */
.products-grid {
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
margin-bottom: 60px;
}
/* Product Card */
.product-card {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(245, 245, 245, 0.95));
border: 1px solid rgba(200, 168, 81, 0.3);
border-radius: var(--radius-lg);
padding: 0;
position: relative;
overflow: visible;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
width: 90%;
max-width: 900px;
display: flex;
flex-direction: column;
backdrop-filter: blur(10px);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.product-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, transparent 0%, rgba(15, 114, 181, 0.05) 100%);
opacity: 0;
transition: opacity 0.5s;
border-radius: 20px;
}
.product-card:hover::before {
opacity: 1;
}
.product-card:hover {
transform: translateY(-6px);
background: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(250, 250, 250, 1));
border-color: var(--color-gold);
box-shadow:
0 20px 40px rgba(0, 0, 0, 0.3),
0 0 40px rgba(200, 168, 81, 0.1);
}
/* Product Header */
.product-header {
padding: 40px 40px 30px;
background: linear-gradient(135deg, rgba(10, 24, 50, 0.1) 0%, transparent 50%);
border-bottom: 1px solid rgba(200, 168, 81, 0.2);
display: grid;
grid-template-columns: 80px 1fr;
align-items: center;
gap: 25px;
}
.product-icon-wrapper {
width: 80px;
height: 80px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.product-icon-bg {
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--color-navy), var(--color-gold));
border-radius: var(--radius-lg);
opacity: 0.1;
transition: all 0.5s;
}
.product-card:hover .product-icon-bg {
opacity: 0.25;
transform: rotate(5deg) scale(1.05);
background: linear-gradient(135deg, var(--color-navy), var(--color-gold-dark));
}
.product-icon {
position: relative;
z-index: 1;
width: 50px;
height: 50px;
filter: brightness(0) saturate(100%) invert(8%) sepia(13%) saturate(4290%) hue-rotate(189deg) brightness(95%) contrast(97%);
transition: all 0.5s;
}
.product-card:hover .product-icon {
transform: scale(1.1);
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.product-title-wrapper {
display: flex;
flex-direction: column;
gap: 5px;
align-items: center;
text-align: center;
padding-right: 105px;
}
.product-title {
color: #1a1a1a;
font-size: 1.8rem;
font-weight: 700;
margin: 0;
transition: all 0.3s;
}
/* Specific styling for AccountForger title */
.product-title[data-translate="productAccountForgerTitle"] {
color: #0A1832;
}
.product-card:hover .product-title {
color: var(--color-navy);
}
.product-tagline {
color: rgba(0, 0, 0, 0.6);
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 500;
margin: 0;
}
/* Product Body */
.product-body {
padding: 30px 40px;
flex-grow: 1;
display: flex;
flex-direction: column;
}
.product-description {
color: rgba(0, 0, 0, 0.7);
line-height: 1.8;
margin-bottom: 30px;
flex-grow: 1;
}
/* Product Features */
.product-features {
list-style: none;
padding: 0;
margin: 0 0 30px 0;
}
.product-features li {
color: rgba(255, 255, 255, 0.7);
padding: 8px 0;
padding-left: 30px;
position: relative;
transition: all 0.3s;
}
.product-features li::before {
content: '▸';
position: absolute;
left: 0;
color: var(--color-gold);
font-size: 1.2rem;
transition: all 0.3s;
}
.product-card:hover .product-features li {
color: rgba(255, 255, 255, 0.9);
transform: translateX(5px);
}
.product-card:hover .product-features li::before {
color: var(--color-gold-light);
transform: translateX(3px);
}
/* Product Footer */
.product-footer {
padding: 30px 40px;
background: rgba(10, 24, 50, 0.05);
border-top: 1px solid rgba(200, 168, 81, 0.2);
display: flex;
justify-content: space-between;
align-items: center;
}
.product-status {
display: flex;
align-items: center;
gap: 10px;
}
.status-dot {
width: 8px;
height: 8px;
background: #00ff00;
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.2); }
}
.status-text {
color: rgba(255, 255, 255, 0.6);
font-size: 0.9rem;
}
/* Learn More Button */
.product-learn-more {
background: var(--color-gold);
border: 2px solid var(--color-gold);
color: var(--color-navy);
padding: 10px 25px;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s;
font-size: 0.95rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
position: relative;
overflow: hidden;
}
.product-learn-more::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: var(--color-navy);
transform: translate(-50%, -50%);
transition: all 0.5s;
border-radius: 50px;
}
.product-learn-more:hover::before {
width: 100%;
height: 100%;
}
.product-learn-more:hover {
color: var(--color-gold);
border-color: var(--color-gold);
transform: translateY(-2px);
box-shadow: 0 10px 30px rgba(200, 168, 81, 0.3);
}
.product-learn-more span {
position: relative;
z-index: 1;
}
/* Tools Grid Styling - Inside Product Body */
.product-body .tools-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
margin-top: 20px;
max-height: 0;
overflow: hidden;
opacity: 0;
transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease-in-out;
visibility: hidden;
}
.product-body .tools-grid.expanded {
max-height: 2000px;
opacity: 1;
visibility: visible;
}
/* Responsive grid adjustment */
@media (max-width: 768px) {
.product-body .tools-grid {
grid-template-columns: 1fr;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.product-body .tools-grid {
grid-template-columns: repeat(2, 1fr);
}
}
.tools-grid .tool-card {
background: rgba(0, 0, 0, 0.03);
border-radius: 12px;
padding: 20px;
transition: all 0.3s;
border: 1px solid rgba(0, 0, 0, 0.1);
}
.tools-grid .tool-card:hover {
transform: translateY(-3px);
background: rgba(0, 0, 0, 0.05);
border-color: rgba(200, 168, 81, 0.3);
box-shadow: 0 5px 15px rgba(10, 24, 50, 0.1);
}
.tools-grid .tool-icon {
width: 60px;
height: 60px;
margin-bottom: 15px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, rgba(15, 114, 181, 0.15), rgba(0, 64, 110, 0.1));
border-radius: 15px;
}
.tools-grid .tool-icon img {
width: 35px;
height: 35px;
filter: brightness(0) saturate(100%) invert(52%) sepia(82%) saturate(723%) hue-rotate(178deg) brightness(108%) contrast(92%);
}
.tools-grid h4 {
color: var(--color-navy);
font-size: 1.2rem;
margin-bottom: 15px;
font-weight: 600;
}
.tools-grid .tool-features ul {
list-style: none;
padding: 0;
}
.tools-grid .tool-features li {
color: rgba(0, 0, 0, 0.7);
padding: 5px 0;
font-size: 0.9rem;
position: relative;
padding-left: 20px;
line-height: 1.5;
}
.tools-grid .tool-features li::before {
content: '▸';
position: absolute;
left: 0;
color: var(--color-gold);
font-weight: bold;
}
/* Responsive Design */
@media (max-width: 968px) {
.products-grid {
grid-template-columns: 1fr;
}
.product-card.featured {
grid-column: span 1;
}
.products-section .section-title {
font-size: 2.5rem;
}
}
/* Floating Tech Particles */
.tech-particles {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
overflow: hidden;
pointer-events: none;
}
.particle {
position: absolute;
background: rgba(200, 168, 81, 0.3);
border-radius: 50%;
pointer-events: none;
}
.particle:nth-child(1) {
width: 3px;
height: 3px;
top: 10%;
left: 20%;
animation: float1 15s infinite;
}
.particle:nth-child(2) {
width: 2px;
height: 2px;
top: 70%;
left: 80%;
animation: float2 20s infinite;
}
.particle:nth-child(3) {
width: 4px;
height: 4px;
top: 40%;
left: 60%;
animation: float3 18s infinite;
}
@keyframes float1 {
0%, 100% { transform: translate(0, 0); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { transform: translate(100px, -100px); opacity: 0; }
}
@keyframes float2 {
0%, 100% { transform: translate(0, 0); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { transform: translate(-100px, -150px); opacity: 0; }
}
@keyframes float3 {
0%, 100% { transform: translate(0, 0); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { transform: translate(50px, -120px); opacity: 0; }
}

Datei anzeigen

@@ -1,437 +0,0 @@
/* Modern Section Transitions & Dividers */
/* Simple fade transition between sections */
.section-fade {
position: relative;
opacity: 0;
transform: translateY(30px);
transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.section-fade.visible {
opacity: 1;
transform: translateY(0);
}
/* Subtle gradient overlay at section edges */
.section-gradient-top {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100px;
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
pointer-events: none;
z-index: 1;
}
.section-gradient-bottom {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100px;
background: linear-gradient(to top, rgba(244,244,244,1) 0%, rgba(244,244,244,0) 100%);
pointer-events: none;
z-index: 1;
}
/* Animated Gradient Divider */
.gradient-divider {
position: relative;
height: 200px;
margin: -100px 0;
background: linear-gradient(
135deg,
transparent 0%,
rgba(15, 114, 181, 0.03) 25%,
rgba(15, 114, 181, 0.08) 50%,
rgba(15, 114, 181, 0.03) 75%,
transparent 100%
);
z-index: 5;
overflow: hidden;
}
.gradient-divider::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 200%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(15, 114, 181, 0.2),
transparent
);
animation: shimmerDivider 8s infinite;
}
@keyframes shimmerDivider {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
/* Diagonal Section Transitions */
.diagonal-section {
position: relative;
padding: 120px 0 80px;
margin-top: -50px;
clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 100%);
}
.diagonal-section-reverse {
position: relative;
padding: 120px 0 80px;
margin-top: -50px;
clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 100%);
}
/* Blob Divider */
.blob-divider {
position: absolute;
bottom: -150px;
left: 0;
width: 100%;
height: 300px;
z-index: 5;
pointer-events: none;
}
.blob-shape {
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(135deg, var(--color-blue), var(--color-blue-hover));
opacity: 0.1;
border-radius: 40% 60% 60% 40% / 60% 30% 70% 40%;
animation: morphBlob 20s ease-in-out infinite;
}
@keyframes morphBlob {
0%, 100% {
border-radius: 40% 60% 60% 40% / 60% 30% 70% 40%;
transform: translate(0, 0) scale(1);
}
33% {
border-radius: 60% 40% 30% 70% / 60% 70% 30% 40%;
transform: translate(-30px, -20px) scale(1.1);
}
66% {
border-radius: 30% 70% 70% 30% / 30% 60% 40% 70%;
transform: translate(30px, 20px) scale(0.9);
}
}
/* Particle Bridge */
.particle-bridge {
position: absolute;
width: 100%;
height: 200px;
bottom: -100px;
left: 0;
z-index: 8;
overflow: hidden;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: var(--color-blue);
border-radius: 50%;
opacity: 0.6;
}
@keyframes floatParticle {
0% {
transform: translateY(100px) translateX(0);
opacity: 0;
}
10% {
opacity: 0.6;
}
90% {
opacity: 0.6;
}
100% {
transform: translateY(-100px) translateX(100px);
opacity: 0;
}
}
/* Curved Section */
.curved-section {
position: relative;
padding-top: 100px;
margin-top: -80px;
}
.curved-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 80px;
background: inherit;
border-radius: 0 0 50% 50% / 0 0 100% 100%;
transform: scaleX(1.5);
}
/* Glass Transition */
.glass-transition {
position: relative;
margin: 50px 0;
padding: 40px 0;
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.1) 0%,
rgba(255, 255, 255, 0.05) 100%
);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-top: 1px solid rgba(15, 114, 181, 0.1);
border-bottom: 1px solid rgba(15, 114, 181, 0.1);
}
/* Zigzag Border */
.zigzag-top {
position: relative;
padding-top: 40px;
}
.zigzag-top::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 30px;
background: linear-gradient(
135deg,
transparent 33.33%,
var(--color-blue) 33.33%,
var(--color-blue) 66.66%,
transparent 66.66%
);
background-size: 30px 60px;
opacity: 0.1;
}
/* Flowing Lines */
.flow-lines {
position: absolute;
width: 100%;
height: 200px;
bottom: -100px;
left: 0;
overflow: hidden;
z-index: 5;
}
.flow-line {
position: absolute;
height: 2px;
background: linear-gradient(90deg, transparent, var(--color-blue), transparent);
animation: flowLine 6s infinite;
}
.flow-line:nth-child(1) {
top: 20%;
animation-delay: 0s;
width: 60%;
}
.flow-line:nth-child(2) {
top: 40%;
animation-delay: 1s;
width: 80%;
}
.flow-line:nth-child(3) {
top: 60%;
animation-delay: 2s;
width: 70%;
}
.flow-line:nth-child(4) {
top: 80%;
animation-delay: 3s;
width: 90%;
}
@keyframes flowLine {
0% {
transform: translateX(-100%);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
transform: translateX(200%);
opacity: 0;
}
}
/* Reveal Sections with Mask */
.section-reveal {
position: relative;
overflow: hidden;
}
.section-reveal::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.4),
transparent
);
animation: revealMask 2s ease-out forwards;
}
@keyframes revealMask {
to {
left: 100%;
}
}
/* Geometric Pattern Divider */
.geometric-divider {
position: relative;
height: 100px;
margin: 40px 0;
background-image:
repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
rgba(15, 114, 181, 0.05) 10px,
rgba(15, 114, 181, 0.05) 20px
),
repeating-linear-gradient(
-45deg,
transparent,
transparent 10px,
rgba(15, 114, 181, 0.05) 10px,
rgba(15, 114, 181, 0.05) 20px
);
}
/* Animated Border */
.animated-border {
position: relative;
padding: var(--space-4xl) 0;
}
.animated-border::before,
.animated-border::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(
90deg,
transparent,
var(--color-blue) 20%,
var(--color-blue) 80%,
transparent
);
}
.animated-border::before {
top: 0;
animation: borderSlide 4s infinite;
}
.animated-border::after {
bottom: 0;
animation: borderSlide 4s infinite reverse;
}
@keyframes borderSlide {
0%, 100% {
transform: translateX(-100%);
}
50% {
transform: translateX(100%);
}
}
/* Section Fade Transitions */
.fade-section {
opacity: 0;
transform: translateY(50px);
transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.fade-section.visible {
opacity: 1;
transform: translateY(0);
}
/* Parallax Background Sections */
.parallax-section {
position: relative;
min-height: 500px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.parallax-bg {
position: absolute;
top: -20%;
left: 0;
width: 100%;
height: 120%;
background-image: linear-gradient(135deg, rgba(15, 114, 181, 0.05) 0%, transparent 100%);
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
will-change: transform;
}
/* Split Color Section */
.split-section {
position: relative;
overflow: hidden;
}
.split-section::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
45deg,
transparent 48%,
rgba(15, 114, 181, 0.05) 49%,
rgba(15, 114, 181, 0.05) 51%,
transparent 52%
);
animation: rotateSplit 20s linear infinite;
}
@keyframes rotateSplit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

477
css/style.css Normale Datei
Datei anzeigen

@@ -0,0 +1,477 @@
/* AegisSight Monitor - Product Page v2 (Light Mode) */
/* Fonts */
@font-face { font-family:'Inter'; src:url('/assets/fonts/Inter-Regular.woff2') format('woff2'),url('/assets/fonts/Inter-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/assets/fonts/Inter-SemiBold.woff2') format('woff2'),url('/assets/fonts/Inter-SemiBold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/assets/fonts/Inter-Bold.woff2') format('woff2'),url('/assets/fonts/Inter-Bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/assets/fonts/Inter-Light.woff2') format('woff2'),url('/assets/fonts/Inter-Light.ttf') format('truetype'); font-weight:300; font-display:swap; }
:root {
--navy: #0A1832;
--navy-light: #132844;
--gold: #C8A851;
--gold-light: #D4B96A;
--gold-dark: #B39645;
--white: #FAFBFD;
--base: #F5F7FA;
--alt: #EDF0F5;
--alt-solid: #F0F3F7;
--gray-100: #E4E8EE;
--gray-200: #D0D5DE;
--gray-400: #9AA5B4;
--gray-600: #5A6478;
--text: #2A2F3A;
--text-light: #5A6478;
--radius: 8px;
--radius-lg: 12px;
--shadow: 0 2px 12px rgba(10,24,50,0.06);
--shadow-lg: 0 8px 32px rgba(10,24,50,0.1);
--nav-height: 72px;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--nav-height); }
body { font-family:'Inter',system-ui,-apple-system,sans-serif; font-size:16px; line-height:1.6; color:var(--text); background:var(--base); -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
.container { max-width:1120px; margin:0 auto; padding:0 24px; }
/* ==================== NAV ==================== */
.navbar { position:fixed; top:0; left:0; right:0; height:var(--nav-height); background:rgba(250,251,253,0.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:1000; transition:box-shadow 0.3s; }
.navbar.scrolled { box-shadow:0 1px 16px rgba(10,24,50,0.08); }
.nav-container { max-width:1120px; margin:0 auto; padding:0 24px; height:100%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; }
.logo-img { height:36px; width:auto; }
.nav-menu { list-style:none; display:flex; gap:32px; }
.nav-menu a { font-size:0.9rem; font-weight:500; color:var(--navy); transition:color 0.2s; }
.nav-menu a:hover { color:var(--gold); }
.nav-extras { display:flex; align-items:center; gap:18px; }
.mobile-menu-toggle { display:none; background:none; border:none; cursor:pointer; width:32px; height:24px; position:relative; flex-direction:column; justify-content:space-between; }
.mobile-menu-toggle span { display:block; width:100%; height:2px; background:var(--navy); border-radius:2px; transition:transform 0.3s,opacity 0.3s; }
.mobile-menu-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(7px,7px); }
.mobile-menu-toggle.active span:nth-child(2) { opacity:0; }
.mobile-menu-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(7px,-7px); }
.mobile-menu { position:fixed; top:var(--nav-height); left:0; right:0; background:var(--white); padding:16px 24px 24px; box-shadow:var(--shadow-lg); transform:translateY(-100%); opacity:0; transition:transform 0.3s,opacity 0.3s; z-index:999; pointer-events:none; }
.mobile-menu.open { transform:translateY(0); opacity:1; pointer-events:all; }
.mobile-menu ul { list-style:none; }
.mobile-menu li { border-bottom:1px solid var(--gray-100); }
.mobile-menu a { display:block; padding:14px 0; font-size:1rem; font-weight:500; color:var(--navy); }
.mobile-overlay { position:fixed; inset:0; background:rgba(10,24,50,0.3); z-index:998; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.mobile-overlay.open { opacity:1; pointer-events:all; }
/* ==================== HERO (Full-Video mit Endcard) ==================== */
.hero { position:relative; min-height:88vh; overflow:hidden; background:var(--navy); clip-path:polygon(0 0, 100% 0, 100% calc(100% - 60px), 50% 100%, 0 calc(100% - 60px)); margin-bottom:-60px; z-index:1; }
.gold { color:var(--gold); font-weight:600; }
/* Overlay-Layer für Text + Navigation */
.hero-content { position:absolute; inset:0; z-index:4; color:var(--white); pointer-events:none; }
.hero-content > * { pointer-events:auto; }
/* Brand (Titel + Tagline): nur während Endcard sichtbar, in Hero-Mitte */
.hero-brand { position:absolute; top:50%; left:0; right:0; padding:0 24px; text-align:center; transform:translateY(-50%); opacity:0; transition:opacity 0.5s ease; pointer-events:none; }
.hero.endcard .hero-brand { opacity:1; transition-delay:0.35s; pointer-events:auto; }
.hero-title { font-size:3.2rem; font-weight:700; line-height:1.1; letter-spacing:-0.02em; color:var(--white); margin:0; }
.hero-tagline { font-size:1.2rem; font-weight:300; color:rgba(255,255,255,0.9); margin-top:12px; }
/* ==================== HERO SLIDER ==================== */
/* Slider: unter der Navbar beginnen, oberhalb der Dots-Zone enden (60px Reserve fuer Dots) */
.hero-slider { position:absolute; top:var(--nav-height); left:0; right:0; bottom:60px; z-index:1; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 0.6s ease; pointer-events:none; }
.hero-slide.active { opacity:1; pointer-events:auto; }
.hero-slide.exiting { opacity:0; transition:opacity 0.4s ease; }
/* Video füllt den Slide (contain = komplett sichtbar, Navy-Letterbox) */
.hero-slide-video { position:absolute; inset:0; overflow:hidden; transition:opacity 0.4s ease; }
.hero-slide-video video { display:block; width:100%; height:100%; object-fit:contain; background:var(--navy); }
/* Beim Endcard-State Video ausfaden */
.hero-slide.ended .hero-slide-video { opacity:0; }
/* Per-Slide-Bottom (Beispieltext + CTA): nur während Endcard sichtbar, unter dem Titel */
.hero-slide-bottom { position:absolute; left:0; right:0; bottom:140px; padding:0 32px; text-align:center; opacity:0; transition:opacity 0.5s ease; pointer-events:none; }
.hero-slide.ended .hero-slide-bottom { opacity:1; transition-delay:0.5s; pointer-events:auto; }
.hero-slide-example { font-size:1.15rem; font-weight:400; line-height:1.55; color:rgba(255,255,255,0.9); margin:0 auto 24px; max-width:820px; padding:0; border:0; }
.hero-slide-cta { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.hero-slide-cta .btn-placeholder { opacity:0.5; cursor:default; border-style:dashed; pointer-events:none; }
/* Slider-Navigation: Dots zentriert ganz unten im Chevron-Band, ausserhalb des Video-Bereichs. */
.hero-slider-nav { position:absolute; left:0; right:0; bottom:22px; display:flex; justify-content:center; padding:0 24px; pointer-events:none; z-index:5; }
.hero-slider-dots { display:flex; gap:12px; pointer-events:auto; }
.hero-dot { width:10px; height:10px; border-radius:50%; border:2px solid var(--gold); background:transparent; cursor:pointer; transition:all 0.3s; padding:0; }
.hero-dot.active { background:var(--gold); }
.hero-slider-arrows { /* Container - Pfeile positionieren sich absolut relativ zu hero-content */ }
.hero-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,0.35); background:rgba(10,24,50,0.35); color:var(--white); font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:5; }
.hero-arrow:hover { border-color:var(--gold); color:var(--gold); background:rgba(10,24,50,0.6); }
.hero-arrow-prev { left:24px; }
.hero-arrow-next { right:24px; }
/* Altes hero-overlay nicht mehr verwendet */
.hero-overlay { display:none; }
/* ==================== BUTTONS ==================== */
.btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 28px; border-radius:var(--radius); font-family:inherit; font-size:0.95rem; font-weight:600; cursor:pointer; transition:all 0.2s; border:2px solid transparent; text-decoration:none; }
.btn-primary { background:var(--gold); color:var(--navy); border-color:var(--gold); }
.btn-primary:hover { background:var(--gold-dark); border-color:var(--gold-dark); }
.btn-outline-light { background:transparent; color:var(--white); border-color:rgba(255,255,255,0.4); }
.btn-outline-light:hover { background:rgba(255,255,255,0.1); border-color:var(--white); }
.btn-outline { background:transparent; color:var(--navy); border-color:var(--navy); }
.btn-outline:hover { background:var(--navy); color:var(--white); }
.btn-lg { padding:16px 40px; font-size:1.05rem; }
.btn-block { width:100%; }
/* ==================== SECTIONS ==================== */
.section { padding:88px 0; }
.section-base { background:var(--base); }
.section-alt { background:var(--alt-solid); }
.section-dark { background:var(--navy-light); color:var(--white); }
.section-title { font-size:2rem; font-weight:700; color:var(--navy); text-align:center; margin-bottom:16px; letter-spacing:-0.01em; }
.section-dark .section-title { color:var(--white); }
.section-subtitle-light { color:rgba(255,255,255,0.6); }
.section-subtitle { font-size:1.05rem; color:var(--text-light); text-align:center; max-width:600px; margin:0 auto 48px; }
/* ==================== SECTION DIVIDERS ==================== */
.divider { line-height:0; margin:0; overflow:hidden; }
.divider svg { display:block; width:100%; height:auto; }
.divider-chevron { background:var(--alt-solid); }
.divider-chevron-dark { background:var(--navy); }
.divider-diagonal { background:var(--base); }
.divider-diagonal-dark { background:var(--base); }
.divider-gradient-alt-to-base { height:40px; background:linear-gradient(to bottom, var(--alt-solid), var(--base)); }
.divider-gradient-base-to-alt { height:60px; background:linear-gradient(to bottom, var(--base), var(--alt-solid)); }
.divider-gradient-dark-to-base { height:80px; background:linear-gradient(to bottom, var(--navy), var(--base)); }
.divider-gradient-dark-to-alt { height:60px; background:linear-gradient(to bottom, var(--navy), var(--alt-solid)); }
/* ==================== GRID ==================== */
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
#features .grid-3 { justify-items:center; }
#features .grid-3 .feature-card:nth-last-child(-n+2):nth-child(3n+1) { grid-column: 1; }
#features .grid-3 { display:flex; flex-wrap:wrap; justify-content:center; }
#features .grid-3 .feature-card { width:calc(33.333% - 20px); }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
/* ==================== PROBLEM ==================== */
.problem-card { text-align:center; padding:32px 20px; }
.problem-icon { width:64px; height:64px; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; background:var(--white); border-radius:50%; box-shadow:var(--shadow); }
.problem-card h3 { font-size:1.1rem; font-weight:700; color:var(--navy); margin-bottom:10px; }
.problem-card p { font-size:0.93rem; color:var(--text-light); line-height:1.6; }
/* Problem dark variant */
.problem-card-dark { color:var(--white); }
.problem-card-dark h3 { color:var(--white); }
.problem-card-dark p { color:rgba(255,255,255,0.7); }
.problem-icon-dark { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.1); box-shadow:none; }
.problem-icon-dark img { filter:brightness(0) invert(1); }
/* ==================== WORKFLOW ==================== */
.workflow { display:flex; align-items:flex-start; justify-content:center; margin-top:56px; }
.workflow-step { flex:1; max-width:300px; text-align:center; padding:0 24px; }
.step-number { width:48px; height:48px; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; background:var(--gold); color:var(--navy); font-size:1.2rem; font-weight:700; border-radius:50%; }
.workflow-step h3 { font-size:1.1rem; font-weight:700; color:var(--navy); margin-bottom:10px; }
.workflow-step p { font-size:0.93rem; color:var(--text-light); line-height:1.6; }
.workflow-connector { width:60px; height:2px; background:var(--gold); margin-top:23px; flex-shrink:0; opacity:0.4; }
/* ==================== FEATURES ==================== */
.feature-card { background:var(--white); border-radius:var(--radius-lg); padding:28px 24px; box-shadow:var(--shadow); transition:box-shadow 0.3s,transform 0.3s,border-color 0.3s,background 0.3s; border:1px solid transparent; }
.feature-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.feature-icon { width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:var(--alt-solid); border-radius:var(--radius); margin-bottom:14px; border:1px solid transparent; }
.feature-card h3 { font-size:1rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.feature-card p { font-size:0.88rem; color:var(--text-light); line-height:1.6; }
/* Features im dunklen Section-Kontext: Glasmorphism mit Gold-Akzent */
.section-dark .feature-card { background:rgba(255,255,255,0.04); border-color:rgba(200,168,81,0.2); box-shadow:none; }
.section-dark .feature-card:hover { border-color:rgba(200,168,81,0.5); background:rgba(255,255,255,0.06); transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.3); }
.section-dark .feature-card h3 { color:var(--white); }
.section-dark .feature-card p { color:rgba(255,255,255,0.7); }
.section-dark .feature-icon { background:rgba(200,168,81,0.15); border-color:rgba(200,168,81,0.3); }
.section-dark .feature-icon img { filter:brightness(0) saturate(100%) invert(74%) sepia(49%) saturate(471%) hue-rotate(2deg) brightness(91%) contrast(83%); }
/* ==================== DEMOS SECTION ==================== */
#demos { padding-top:48px; }
/* ==================== LIVE STATS BAR ==================== */
.live-stats-bar { margin-bottom:40px; text-align:center; }
.live-stats-title { font-size:1rem; font-weight:600; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:16px; }
.live-stats-row { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.live-stat { text-align:center; background:var(--white); border-radius:var(--radius-lg); padding:20px 32px; box-shadow:var(--shadow); border:1px solid var(--gray-100); min-width:160px; }
.live-stat-value { display:block; font-size:2.4rem; font-weight:700; color:var(--navy); line-height:1.1; letter-spacing:-0.02em; }
.live-stat-label { display:block; font-size:0.8rem; color:var(--text-light); text-transform:uppercase; letter-spacing:0.08em; margin-top:4px; }
/* ==================== FEATURE HIGHLIGHT ==================== */
.feature-statement { text-align:center; max-width:700px; margin:0 auto 48px; padding:0 24px; }
.feature-statement-text { font-size:1.6rem; font-weight:700; color:var(--navy); line-height:1.35; margin-bottom:12px; letter-spacing:-0.01em; }
.feature-statement-sub { font-size:1rem; color:var(--text-light); line-height:1.6; }
.section-dark .feature-statement-text { color:var(--white); }
.section-dark .feature-statement-sub { color:rgba(255,255,255,0.7); }
@media(max-width:768px) { .feature-statement-text { font-size:1.3rem; } }
/* ==================== 3D CAROUSEL ==================== */
.carousel-viewport { overflow-x:clip; overflow-y:visible; padding:20px 0; position:relative; }
.carousel-track { display:flex; justify-content:center; position:relative; }
.carousel-card { width:860px; flex-shrink:0; background:var(--white); border-radius:var(--radius-lg); padding:28px 24px; box-shadow:var(--shadow); position:absolute; display:flex; flex-direction:column; transition:all 0.6s cubic-bezier(0.4,0,0.2,1); cursor:pointer; transform-style:preserve-3d; }
.carousel-card.active { position:relative; transform:none; z-index:3; opacity:1; }
.carousel-card.left { position:absolute; left:0; top:0; transform:scale(0.75) translateX(-70%); z-index:1; opacity:0.45; }
.carousel-card.right { position:absolute; right:0; top:0; transform:scale(0.75) translateX(70%); z-index:1; opacity:0.45; }
.carousel-card.hidden { position:absolute; transform:scale(0.5); z-index:0; opacity:0; pointer-events:none; }
/* Carousel arrows */
.carousel-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:44px; height:44px; border-radius:50%; border:2px solid var(--gray-200); background:var(--white); color:var(--navy); font-size:1.6rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; box-shadow:var(--shadow); line-height:1; }
.carousel-arrow:hover { border-color:var(--gold); color:var(--gold); box-shadow:var(--shadow-lg); }
.carousel-prev { left:8px; }
.carousel-next { right:8px; }
.carousel-nav { display:flex; justify-content:center; gap:10px; margin-top:24px; }
.carousel-dot { width:10px; height:10px; border-radius:50%; border:2px solid var(--gold); background:transparent; cursor:pointer; transition:all 0.3s; padding:0; }
.carousel-dot.active { background:var(--gold); }
.card-live { border:2px solid var(--gold); box-shadow:0 4px 24px rgba(200,168,81,0.15); }
.card-placeholder { border:2px dashed var(--gray-200); opacity:0.55; }
.demo-badge { display:inline-block; padding:4px 14px; border-radius:20px; font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px; width:fit-content; background:var(--gold); color:var(--navy); }
.badge-soon { background:var(--gray-100); color:var(--gray-400); }
.demo-title { font-size:1.25rem; font-weight:700; color:var(--navy); margin-bottom:16px; }
.demo-excerpt { margin-bottom:16px; }
.excerpt-text { font-size:0.88rem; color:var(--text); line-height:1.65; }
.excerpt-text h2 { font-size:1.05rem; font-weight:700; color:var(--navy); margin:20px 0 8px; }
.excerpt-text h3 { font-size:0.95rem; font-weight:600; color:var(--navy); margin:16px 0 6px; }
.excerpt-text p { margin-bottom:10px; }
.excerpt-text ul { margin:8px 0 12px 20px; }
.excerpt-text li { margin-bottom:4px; font-size:0.88rem; color:var(--text); }
.placeholder-title { color:var(--gray-400); }
.placeholder-text { font-size:0.95rem; color:var(--gray-400); flex:1; display:flex; align-items:center; justify-content:center; min-height:180px; }
/* ==================== MAP ==================== */
.map-section { margin-top:48px; }
.map-title { font-size:1.1rem; font-weight:600; color:var(--navy); margin-bottom:16px; text-align:center; }
.map-section { transition:opacity 0.3s; }
.map-section.map-hidden #map-container { display:none; }
.map-section.map-hidden .map-empty { display:flex!important; }
.map-empty { display:none; align-items:center; justify-content:center; height:300px; border:2px dashed var(--gray-200); border-radius:var(--radius-lg); color:var(--gray-400); font-size:1rem; background:var(--white); }
#map-container { height:420px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--gray-100); }
/* Map pulse markers (exact lagebild style) */
.pulse-marker-wrapper { position:relative; width:20px; height:20px; }
.pulse-marker-ring { position:absolute; inset:0; border-radius:50%; border:2px solid; animation:mapPulseRing 2s infinite; opacity:0; }
.pulse-marker-ring:nth-child(2) { animation-delay:1s; }
@keyframes mapPulseRing { 0%{transform:scale(0.5);opacity:0} 30%{opacity:0.6} 100%{transform:scale(2.5);opacity:0} }
.pulse-marker-dot { position:absolute; top:50%; left:50%; width:8px; height:8px; margin:-4px 0 0 -4px; border-radius:50%; animation:pulseDot 2s infinite; }
@keyframes pulseDot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.7)} }
/* Dark popup style */
.leaflet-popup-content-wrapper { background:#151D2E!important; color:#E8ECF4!important; border:1px solid #1E2D45!important; border-radius:4px!important; box-shadow:0 4px 16px rgba(0,0,0,0.4)!important; }
.leaflet-popup-tip { background:#151D2E!important; }
.leaflet-popup-content { margin:10px 14px!important; font-size:0.85rem!important; }
/* ==================== TRUST ==================== */
.trust-grid { margin-top:48px; }
.trust-card { text-align:center; padding:24px 16px; }
.trust-icon-wrap { height:56px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.trust-icon-wrap img { filter:brightness(0) invert(1); }
.trust-icon-wrap.trust-flag img { filter:none; }
.trust-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:8px; }
.trust-card p { font-size:0.88rem; opacity:0.7; line-height:1.5; }
/* ==================== CTA ==================== */
.cta-container { text-align:center; max-width:600px; }
.cta-text { font-size:1.1rem; color:var(--text-light); margin-bottom:32px; }
.cta-email { font-size:0.9rem; color:var(--text-light); margin-top:16px; }
/* ==================== CONTACT MODAL ==================== */
.modal-overlay { position:fixed; inset:0; z-index:9999; background:rgba(10,24,50,0.6); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:24px; }
.modal-content { background:var(--white); border-radius:var(--radius-lg); padding:40px; max-width:520px; width:100%; position:relative; box-shadow:0 24px 64px rgba(10,24,50,0.3); max-height:90vh; overflow-y:auto; }
.modal-close { position:absolute; top:16px; right:20px; background:none; border:none; font-size:1.8rem; color:var(--gray-400); cursor:pointer; line-height:1; }
.modal-close:hover { color:var(--navy); }
.modal-content h2 { font-size:1.5rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.modal-sub { font-size:0.95rem; color:var(--text-light); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:0.82rem; font-weight:600; color:var(--navy); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.04em; }
.form-group input, .form-group textarea { width:100%; padding:10px 14px; border:1px solid var(--gray-200); border-radius:var(--radius); font-family:inherit; font-size:0.95rem; color:var(--text); background:var(--base); transition:border-color 0.2s; }
.form-group input:focus, .form-group textarea:focus { outline:none; border-color:var(--gold); }
.form-group textarea { resize:vertical; }
.form-success { text-align:center; padding:40px 0; }
.form-success p { font-size:1.05rem; color:var(--navy); font-weight:500; }
@media(max-width:768px) { .form-row { grid-template-columns:1fr; } .modal-content { padding:28px 20px; } }
/* ==================== FOOTER ==================== */
.footer { background:var(--navy); color:rgba(255,255,255,0.7); padding:40px 0; font-size:0.85rem; }
.footer-content { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-company { font-weight:600; color:var(--white); margin-bottom:4px; }
.footer-links { display:flex; gap:24px; }
.footer-links a { color:rgba(255,255,255,0.7); transition:color 0.2s; }
.footer-links a:hover { color:var(--white); }
.footer-copyright { text-align:center; font-size:0.8rem; opacity:0.5; }
/* ==================== RESPONSIVE ==================== */
@media(max-width:1024px) {
.grid-3 { grid-template-columns:repeat(2,1fr); }
.grid-4 { grid-template-columns:repeat(2,1fr); }
.hero-title { font-size:2.5rem; }
.section { padding:64px 0; }
.workflow-connector { width:40px; }
}
@media(max-width:768px) {
.nav-menu { display:none; }
.mobile-menu-toggle { display:flex; }
.grid-3,.grid-4 { grid-template-columns:1fr; gap:20px; }
.hero { min-height:75vh; }
.hero-brand { padding:0 20px; }
.hero-title { font-size:1.9rem; }
.hero-tagline { font-size:0.95rem; margin-top:8px; }
.hero-slide-bottom { bottom:110px; padding:0 20px; }
.hero-slide-example { font-size:0.95rem; margin-bottom:18px; }
.hero-slide-cta { flex-direction:column; }
.hero-slide-cta .btn { width:100%; }
.hero-slider-nav { bottom:18px; }
.hero-slider-arrows { display:none; }
.section { padding:48px 0; }
.section-title { font-size:1.6rem; }
.workflow { flex-direction:column; align-items:center; gap:8px; }
.workflow-connector { width:2px; height:32px; margin:0; }
.workflow-step { max-width:100%; padding:16px 0; }
.footer-content { flex-direction:column; text-align:center; gap:16px; }
#map-container { height:300px; }
#features .grid-3 { display:flex; flex-direction:column; }
#features .grid-3 .feature-card { width:100%; }
.carousel-card { width:100%!important; max-width:100%; position:relative!important; }
.carousel-card.active { transform:none; }
.carousel-card.left, .carousel-card.right { display:none; }
.carousel-track { display:flex; flex-direction:column; }
.carousel-arrow { display:none; }
.carousel-viewport { overflow:visible; }
.live-stats-bar { padding:0 8px; }
.live-stats-row { gap:12px; }
.live-stat { min-width:0; padding:16px 12px; }
.live-stat-value { font-size:1.8rem; }
}
@media(max-width:480px) {
.hero-title { font-size:1.65rem; }
.hero-tagline { font-size:0.9rem; }
.hero-slide-example { font-size:0.9rem; }
.container { padding:0 16px; }
}
/* Marker-Cluster Dark Theme */
.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large {
background: rgba(21, 29, 46, 0.8);
}
.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div {
background: rgba(200, 168, 81, 0.9);
color: #0A1832;
font-weight: 600;
}
/* === Neueste Entwicklungen (Live-Monitoring Vorschau) === */
.dev-list-heading {
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.8px;
text-transform: uppercase;
color: #C8A851;
margin-bottom: 10px;
}
.dev-list {
display: flex;
flex-direction: column;
gap: 6px;
}
.dev-bullet {
background: rgba(30, 45, 69, 0.45);
border-left: 3px solid #C8A851;
border-radius: 4px;
padding: 8px 12px;
text-align: left;
}
.dev-bullet-head {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
margin-bottom: 4px;
flex-wrap: wrap;
}
.dev-sources {
display: inline-flex;
flex-wrap: wrap;
gap: 4px;
align-items: center;
min-width: 0;
}
.dev-source-pill {
display: inline-block;
padding: 2px 8px;
background: rgba(200, 168, 81, 0.15);
color: #E8ECF4;
border-radius: 3px;
font-size: 0.7rem;
font-weight: 500;
text-decoration: none;
line-height: 1.5;
white-space: normal;
overflow-wrap: anywhere;
font-variant-numeric: tabular-nums;
}
a.dev-source-pill:hover {
background: rgba(200, 168, 81, 0.3);
text-decoration: none;
color: #E8ECF4;
}
.dev-time {
color: #8896AB;
font-size: 0.7rem;
font-variant-numeric: tabular-nums;
white-space: nowrap;
flex-shrink: 0;
}
.dev-body {
font-size: 0.85rem;
line-height: 1.45;
color: #E8ECF4;
}
/* ==================== HELLIGKEITS-TONLEITER (Test) ==================== */
/* Vier helle Sections in vier Helligkeitsstufen — Seite "atmet" beim Scrollen
sanft von hell nach kühler, mündet hart in den dunklen Footer. */
:root {
--tone-1: #F5F7FA; /* Problem (hellster) */
--tone-2: #ECF0F5; /* Workflow */
--tone-3: #E4EAF1; /* Demos */
--tone-4: #ECF2F9; /* Contact (hell blau-grau-weiß, frischer Akzent vor Trust) */
}
#problem { background: var(--tone-1); }
#solution { background: var(--tone-2); }
#demos { background: var(--tone-3); }
#contact { background: var(--tone-4); }
/* Divider-Übergänge an die Tonstufen anpassen (Adjacent-Sibling) */
#problem + .divider { background: linear-gradient(to bottom, var(--tone-1), var(--tone-2)); }
#solution + .divider { background: linear-gradient(to bottom, var(--tone-2), var(--tone-3)); }
#demos + .divider { background: linear-gradient(to bottom, var(--tone-3), var(--tone-4)); height: 60px; }
#contact + .divider { background: var(--tone-4); } /* diagonal-dark Contact->Trust, Top-Farbe an Contact angleichen */
#trust { margin-top: -1px; } /* schließt Subpixel-Lücke zum Diagonal-Divider darüber */
/* === EXCERPT FADE-MASK PATCH 2026-04-26 START === */
/* Vereinheitlicht die Karussell-Kartenhoehe ueber feste Excerpt-Hoehe */
/* + weicher Fade-out bei langen Lagen statt harter Abschneidung */
.carousel-card .demo-excerpt {
position: relative;
height: 760px;
overflow: hidden;
-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 80px), transparent 100%);
mask-image: linear-gradient(to bottom, #000 calc(100% - 80px), transparent 100%);
}
@media(max-width:768px) {
.carousel-card .demo-excerpt { height: 640px; }
}
/* === EXCERPT FADE-MASK PATCH 2026-04-26 END === */

Datei anzeigen

@@ -1,321 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy - AegisSight</title>
<!-- Prevent search engine indexing -->
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="icon" type="image/svg+xml" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="apple-touch-icon" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/fonts.css">
<style>
body {
background: #0a0f1c;
min-height: 100vh;
}
.datenschutz-container {
max-width: 800px;
margin: 0 auto;
padding: 120px 20px 40px;
}
.datenschutz-header {
margin-bottom: 40px;
text-align: center;
}
.datenschutz-header h1 {
font-family: 'Bebas Neue', sans-serif;
font-size: 3rem;
font-weight: 400;
color: #ffffff;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 3px;
}
.datenschutz-content {
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.datenschutz-section {
margin-bottom: 35px;
}
.datenschutz-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.8rem;
color: #0f72b5;
margin-bottom: 20px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.datenschutz-section h3 {
font-family: 'Inter', sans-serif;
font-size: 1.2rem;
color: #333;
margin-top: 20px;
margin-bottom: 15px;
font-weight: 600;
}
.datenschutz-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 15px;
}
.datenschutz-section ul {
margin-left: 20px;
margin-bottom: 15px;
}
.datenschutz-section li {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 8px;
}
.datenschutz-section strong {
color: #1a1a1a;
font-weight: 600;
}
.important-notice {
background: rgba(15, 114, 181, 0.08);
border-left: 4px solid #0f72b5;
padding: 15px 20px;
margin: 20px 0;
border-radius: 4px;
}
.important-notice p {
font-family: 'Inter', sans-serif;
}
.source-note {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid rgba(15, 114, 181, 0.1);
font-size: 0.9rem;
color: #666;
font-family: 'Inter', sans-serif;
}
.source-note a {
color: #0f72b5;
text-decoration: none;
}
.source-note a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="nav-container">
<div class="logo">
<a href="index.html">
<img src="assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img">
</a>
</div>
<ul class="nav-menu">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#about">About Us</a></li>
<li><a href="index.html#products">Products & Solutions</a></li>
<li><a href="/lagebild">Situation Report</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<button class="lang-toggle" data-lang="en" aria-label="Switch language">DE | EN</button>
</div>
</div>
</nav>
<div class="datenschutz-container">
<div class="datenschutz-header">
<h1>Privacy Policy</h1>
</div>
<div class="datenschutz-content">
<div class="datenschutz-section">
<h2>1. Data Protection at a Glance</h2>
<h3>General Information</h3>
<p>The following information provides a simple overview of what happens to your personal data when you visit our website. Personal data is any data that can personally identify you. Detailed information on the subject of data protection can be found in our privacy policy listed below this text.</p>
<h3>Data Collection on Our Website</h3>
<p><strong>Who is responsible for data collection on this website?</strong><br>
Data processing on this website is carried out by the website operator. You can find their contact details in the legal notice of this website.</p>
<p><strong>How do we collect your data?</strong><br>
Your data is collected, on the one hand, by you providing it to us. This could be data that you enter in a contact form, for example.</p>
<p>Other data is collected automatically by our IT systems when you visit the website. This is primarily technical data (e.g., internet browser, operating system, or time of page access). This data is collected automatically as soon as you enter our website.</p>
<p><strong>What do we use your data for?</strong><br>
Part of the data is collected to ensure error-free provision of the website. Other data may be used to analyze your user behavior.</p>
<p><strong>What rights do you have regarding your data?</strong><br>
You have the right to receive information about the origin, recipient, and purpose of your stored personal data free of charge at any time. You also have the right to request the correction, blocking, or deletion of this data. You can contact us at any time at the address given in the legal notice if you have further questions about data protection. Furthermore, you have the right to lodge a complaint with the competent supervisory authority.</p>
</div>
<div class="datenschutz-section">
<h2>2. General Information and Mandatory Information</h2>
<h3>Data Protection</h3>
<p>The operators of these pages take the protection of your personal data very seriously. We treat your personal data confidentially and in accordance with the statutory data protection regulations and this privacy policy.</p>
<p>When you use this website, various personal data is collected. Personal data is data that can personally identify you. This privacy policy explains what data we collect and what we use it for. It also explains how and for what purpose this happens.</p>
<p>We would like to point out that data transmission over the Internet (e.g., when communicating by email) can have security gaps. Complete protection of data against access by third parties is not possible.</p>
<h3>Note on the Responsible Party</h3>
<p>The responsible party for data processing on this website is:</p>
<div class="contact-info">
<p>
AegisSight UG (limited liability)<br>
Hendrik Gebhardt<br>
Monami Homma<br>
Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany<br><br>
Email: info@aegis-sight.de
</p>
</div>
<p>The responsible party is the natural or legal person who alone or jointly with others decides on the purposes and means of processing personal data (e.g., names, email addresses, etc.).</p>
<h3>Revocation of Your Consent to Data Processing</h3>
<p>Many data processing operations are only possible with your express consent. You can revoke consent you have already given at any time. An informal notification by email to us is sufficient. The legality of the data processing carried out until the revocation remains unaffected by the revocation.</p>
<h3>Right to Lodge a Complaint with the Competent Supervisory Authority</h3>
<p>In the event of violations of data protection law, the person affected has the right to lodge a complaint with the competent supervisory authority. The competent supervisory authority for data protection issues is the state data protection officer of the federal state in which our company is headquartered. A list of data protection officers and their contact details can be found at the following link: <a href="https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html" target="_blank" rel="noopener">https://www.bfdi.bund.de</a>.</p>
</div>
<div class="datenschutz-section">
<h2>3. Data Collection on Our Website</h2>
<h3>Server Log Files</h3>
<p>The provider of the pages automatically collects and stores information in so-called server log files, which your browser automatically transmits to us. These are:</p>
<ul>
<li>Browser type and browser version</li>
<li>Operating system used</li>
<li>Referrer URL</li>
<li>Host name of the accessing computer</li>
<li>Time of the server request</li>
<li>IP address</li>
</ul>
<p>This data is not merged with other data sources.</p>
<p>The basis for data processing is Art. 6 para. 1 lit. f GDPR, which permits the processing of data to fulfill a contract or pre-contractual measures.</p>
<h3>SSL or TLS Encryption</h3>
<p>This site uses SSL or TLS encryption for security reasons and to protect the transmission of confidential content, such as orders or inquiries that you send to us as the site operator. You can recognize an encrypted connection by the fact that the address line of the browser changes from "http://" to "https://" and by the lock symbol in your browser line.</p>
<p>If SSL or TLS encryption is activated, the data you transmit to us cannot be read by third parties.</p>
</div>
<div class="datenschutz-section">
<h2>4. Our Web Analytics</h2>
<p>We use our own analytics system that stores data exclusively on our servers in Germany. No data is passed on to third parties. The analytics serves to improve our website and to analyze user behavior.</p>
<p>The following data is collected:</p>
<ul>
<li>Pages visited</li>
<li>Time of access</li>
<li>Anonymized IP address</li>
<li>Browser information</li>
</ul>
<p>This data is not personal and cannot be used to identify individual users.</p>
</div>
<div class="datenschutz-section">
<h2>5. Your Rights</h2>
<p>You have the following rights regarding your personal data:</p>
<ul>
<li><strong>Right to information:</strong> You can request information about your stored data.</li>
<li><strong>Right to correction:</strong> You can request the correction of incorrect data.</li>
<li><strong>Right to deletion:</strong> You can request the deletion of your data.</li>
<li><strong>Right to restriction of processing:</strong> You can request the restriction of data processing.</li>
<li><strong>Right to data portability:</strong> You can request to receive your data in a structured format.</li>
<li><strong>Right to object:</strong> You can object to the processing of your data.</li>
</ul>
<p>To exercise these rights, please contact us at info@aegis-sight.de.</p>
</div>
<div class="datenschutz-section">
<h2>6. Changes to This Privacy Policy</h2>
<p>We reserve the right to adapt this privacy policy so that it always complies with current legal requirements or to implement changes to our services in the privacy policy, e.g., when introducing new services. The new privacy policy will then apply to your next visit.</p>
</div>
<div class="datenschutz-section">
<h2>7. Automated Access and AI Agents</h2>
<h3>Prohibition of Automated Access</h3>
<p>Automated querying, scraping, or crawling of this website by bots, spiders, scrapers, AI agents (including LLM-based systems), "buy-for-me" agents, or similar automated tools is prohibited without our express written permission.</p>
<p>This includes in particular:</p>
<ul>
<li>Automated data collection and extraction</li>
<li>Training of AI models using content from this website</li>
<li>Automated end-to-end processes without human review</li>
<li>Systematic reading of content by automated systems</li>
</ul>
<p>Violations of this policy may be subject to civil and criminal prosecution. The instructions contained in our robots.txt file are binding and form part of these terms of use.</p>
<h3>Exceptions</h3>
<p>Excluded from this prohibition are search engine crawlers that comply with our robots.txt guidelines, as well as services to which we have expressly granted permission.</p>
</div>
</div>
</div>
<!-- Footer -->
<footer class="footer">
<div class="footer-content">
<div class="footer-section">
<h4>AegisSight</h4>
<p>Sicherheit Made in Germany</p>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="impressum-en.html">Legal Notice</a></li>
<li><a href="datenschutz-en.html">Privacy Policy</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p>info@aegis-sight.de</p>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 AegisSight UG. All rights reserved.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- AegisSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@@ -3,146 +3,102 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datenschutz - AegisSight</title> <meta name="robots" content="noindex, follow">
<meta name="theme-color" content="#0A1832">
<!-- Prevent search engine indexing --> <meta name="author" content="AegisSight UG">
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex"> <title>Datenschutz – AegisSight</title>
<!-- Rechtliche Seiten von Suchmaschinen ausschliessen -->
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex"> <meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<!-- Favicon --> <link rel="alternate" hreflang="de" href="https://aegis-sight.de/datenschutz.html">
<link rel="icon" type="image/svg+xml" href="favicon.svg"> <link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/privacy.html">
<link rel="icon" type="image/svg+xml" href="assets/images/logos/AegisSightLogo_NavyGold.svg"> <link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/datenschutz.html">
<link rel="apple-touch-icon" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="css/main.css"> <link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="stylesheet" href="css/fonts.css">
<link rel="stylesheet" href="css/mobile.css"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style> <style>
body { body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
background: #0a0f1c; .legal-page { padding: calc(var(--nav-height) + 56px) 0 80px; min-height: calc(100vh - 220px); }
min-height: 100vh; .legal-container { max-width: 820px; margin: 0 auto; padding: 0 24px; }
} .legal-container h1 { font-size: 2.25rem; font-weight: 700; color: var(--navy); margin: 0 0 12px; }
.datenschutz-container { .legal-meta { color: var(--text-light); margin: 0 0 32px; font-size: 0.95rem; }
max-width: 800px; .legal-content { background: var(--base); border-radius: var(--radius-lg); padding: 32px 40px; box-shadow: var(--shadow); border: 1px solid var(--gray-100); }
margin: 0 auto; .legal-section { margin-bottom: 28px; }
padding: 120px 20px 40px; .legal-section:last-child { margin-bottom: 0; }
} .legal-section h2 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.datenschutz-header { .legal-section h3 { font-size: 1.05rem; font-weight: 600; color: var(--navy); margin: 22px 0 8px; }
margin-bottom: 40px; .legal-section p { margin: 0 0 12px; line-height: 1.7; color: var(--text); font-size: 0.95rem; }
text-align: center; .legal-section a { color: var(--gold-dark); text-decoration: underline; }
} .legal-section a:hover { color: var(--gold); }
.datenschutz-header h1 { .legal-section ul { margin: 12px 0 16px 22px; padding: 0; }
font-family: 'Bebas Neue', sans-serif; .legal-section li { margin-bottom: 6px; line-height: 1.6; color: var(--text); font-size: 0.95rem; }
font-size: 3rem; .legal-section strong { color: var(--navy); font-weight: 600; }
font-weight: 400; .legal-section table { width: 100%; border-collapse: collapse; margin: 12px 0 16px; }
color: #ffffff; .legal-section td, .legal-section th { padding: 8px 12px; border: 1px solid var(--gray-200); text-align: left; font-size: 0.92rem; }
margin-bottom: 10px; .source-note { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--gray-200); font-size: 0.85rem; color: var(--text-light); }
text-transform: uppercase; .source-note a { color: var(--gold-dark); }
letter-spacing: 3px; @media (max-width: 768px) {
} .legal-container { padding: 0 16px; }
.datenschutz-content { .legal-content { padding: 24px 20px; }
background: rgba(255, 255, 255, 0.95); .legal-container h1 { font-size: 1.75rem; }
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.datenschutz-section {
margin-bottom: 35px;
}
.datenschutz-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.8rem;
color: #0f72b5;
margin-bottom: 20px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.datenschutz-section h3 {
font-family: 'Inter', sans-serif;
font-size: 1.2rem;
color: #333;
margin-top: 20px;
margin-bottom: 15px;
font-weight: 600;
}
.datenschutz-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 15px;
}
.datenschutz-section ul {
margin-left: 20px;
margin-bottom: 15px;
}
.datenschutz-section li {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.7;
margin-bottom: 8px;
}
.datenschutz-section strong {
color: #1a1a1a;
font-weight: 600;
}
.important-notice {
background: rgba(15, 114, 181, 0.08);
border-left: 4px solid #0f72b5;
padding: 15px 20px;
margin: 20px 0;
border-radius: 4px;
}
.important-notice p {
font-family: 'Inter', sans-serif;
}
.source-note {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid rgba(15, 114, 181, 0.1);
font-size: 0.9rem;
color: #666;
font-family: 'Inter', sans-serif;
}
.source-note a {
color: #0f72b5;
text-decoration: none;
}
.source-note a:hover {
text-decoration: underline;
} }
</style> </style>
</head> </head>
<body> <body>
<!-- Navigation --> <!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Hauptnavigation"> <nav class="navbar" id="navbar">
<div class="nav-container"> <div class="nav-container">
<div class="logo"> <a href="/" class="nav-logo">
<a href="index.html"> <img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
<img src="assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img"> </a>
</a>
</div>
<ul class="nav-menu"> <ul class="nav-menu">
<li><a href="index.html#home">Startseite</a></li> <li><a href="/#features">Funktionen</a></li>
<li><a href="index.html#about">Über uns</a></li> <li><a href="/#demos">Live-Lagebilder</a></li>
<li><a href="index.html#products">Produkte & Lösungen</a></li> <li><a href="/#trust">Über uns</a></li>
<li><a href="/lagebild">Lagebild</a></li> <li><a href="/#contact">Kontakt</a></li>
<li><a href="mailto:info@aegis-sight.de">Kontakt</a></li>
</ul> </ul>
<div class="nav-extras"> <div class="nav-extras">
<button class="lang-toggle" data-lang="de" aria-label="Sprache wechseln">DE | EN</button> <div class="lang-switcher" role="group" aria-label="Sprache">
<span class="lang-active" lang="de" aria-current="true">DE</span>
<span class="lang-sep" aria-hidden="true">|</span>
<a class="lang-link" href="/en/privacy.html" lang="en" hreflang="en" rel="alternate">EN</a>
</div>
<button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div> </div>
</div> </div>
</nav> </nav>
<div class="datenschutz-container"> <!-- Mobile Menu -->
<div class="datenschutz-header"> <div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<h1>Datenschutzerklärung</h1> <ul>
<li><a href="/#features">Funktionen</a></li>
<li><a href="/#demos">Live-Lagebilder</a></li>
<li><a href="/#trust">Über uns</a></li>
<li><a href="/#contact">Kontakt</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Sprache">
<span class="lang-active" lang="de" aria-current="true">DE</span>
<span class="lang-sep" aria-hidden="true">|</span>
<a class="lang-link" href="/en/privacy.html" lang="en" hreflang="en" rel="alternate">EN</a>
</div> </div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<div class="datenschutz-content"> <main class="legal-page">
<div class="datenschutz-section"> <div class="legal-container">
<h1>Datenschutzerklärung</h1>
<div class="legal-section">
<h2>1. Datenschutz auf einen Blick</h2> <h2>1. Datenschutz auf einen Blick</h2>
<h3>Allgemeine Hinweise</h3> <h3>Allgemeine Hinweise</h3>
@@ -168,7 +124,7 @@
<p>Detaillierte Informationen zu diesen Analyseprogrammen finden Sie in der folgenden Datenschutzerklärung.</p> <p>Detaillierte Informationen zu diesen Analyseprogrammen finden Sie in der folgenden Datenschutzerklärung.</p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>2. Hosting</h2> <h2>2. Hosting</h2>
<p>Wir hosten die Inhalte unserer Website bei folgendem Anbieter:</p> <p>Wir hosten die Inhalte unserer Website bei folgendem Anbieter:</p>
@@ -178,7 +134,7 @@
<p>Die Verwendung von Hetzner erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Wir haben ein berechtigtes Interesse an einer möglichst zuverlässigen Darstellung unserer Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.</p> <p>Die Verwendung von Hetzner erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Wir haben ein berechtigtes Interesse an einer möglichst zuverlässigen Darstellung unserer Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.</p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>3. Allgemeine Hinweise und Pflichtinformationen</h2> <h2>3. Allgemeine Hinweise und Pflichtinformationen</h2>
<h3>Datenschutz</h3> <h3>Datenschutz</h3>
@@ -241,7 +197,7 @@
<p>Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-E-Mails, vor.</p> <p>Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-E-Mails, vor.</p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>4. Datenerfassung auf dieser Website</h2> <h2>4. Datenerfassung auf dieser Website</h2>
<h3>Cookies</h3> <h3>Cookies</h3>
@@ -253,8 +209,24 @@
<p>Welche Cookies und Dienste auf dieser Website eingesetzt werden, können Sie dieser Datenschutzerklärung entnehmen.</p> <p>Welche Cookies und Dienste auf dieser Website eingesetzt werden, können Sie dieser Datenschutzerklärung entnehmen.</p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>5. Newsletter</h2> <h2>5. Kontaktformular und Anfragen</h2>
<h3>Datenerhebung über das Kontaktformular</h3>
<p>Wenn Sie uns über das auf unserer Website bereitgestellte Kontaktformular eine Anfrage zukommen lassen, werden Ihre Angaben aus dem Formular inklusive der von Ihnen dort angegebenen Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen bei uns gespeichert. Erhoben werden: Name, Organisation (optional), E-Mail-Adresse und Ihre Nachricht. Eine Weitergabe an Dritte erfolgt nicht.</p>
<h3>Rechtsgrundlage</h3>
<p>Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist. In allen übrigen Fällen beruht die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) und/oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), sofern diese abgefragt wurde; die Einwilligung ist jederzeit widerrufbar.</p>
<h3>Speicherdauer</h3>
<p>Die von Ihnen im Kontaktformular eingegebenen Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihrer Anfrage). Zwingende gesetzliche Bestimmungen – insbesondere Aufbewahrungsfristen – bleiben unberührt.</p>
<h3>Übertragung</h3>
<p>Ihre Anfrage wird verschlüsselt (TLS) an unseren Server übertragen und dort als E-Mail an info@aegis-sight.de weitergeleitet. Die E-Mail-Übertragung erfolgt verschlüsselt über Mailserver in Deutschland (IONOS).</p>
</div>
<div class="legal-section">
<h2>6. Newsletter</h2>
<h3>Newsletterdaten</h3> <h3>Newsletterdaten</h3>
<p>Wenn Sie den auf der Website angebotenen Newsletter beziehen möchten, benötigen wir von Ihnen eine E-Mail-Adresse sowie Informationen, welche uns die Überprüfung gestatten, dass Sie der Inhaber der angegebenen E-Mail-Adresse sind und mit dem Empfang des Newsletters einverstanden sind. Weitere Daten werden nicht bzw. nur auf freiwilliger Basis erhoben. Diese Daten verwenden wir ausschließlich für den Versand der angeforderten Informationen und geben diese nicht an Dritte weiter.</p> <p>Wenn Sie den auf der Website angebotenen Newsletter beziehen möchten, benötigen wir von Ihnen eine E-Mail-Adresse sowie Informationen, welche uns die Überprüfung gestatten, dass Sie der Inhaber der angegebenen E-Mail-Adresse sind und mit dem Empfang des Newsletters einverstanden sind. Weitere Daten werden nicht bzw. nur auf freiwilliger Basis erhoben. Diese Daten verwenden wir ausschließlich für den Versand der angeforderten Informationen und geben diese nicht an Dritte weiter.</p>
@@ -264,16 +236,22 @@
<p>Nach Ihrer Austragung aus der Newsletterverteilerliste wird Ihre E-Mail-Adresse bei uns bzw. dem Newsletterdiensteanbieter ggf. in einer Blacklist gespeichert, sofern dies zur Verhinderung künftiger Mailings erforderlich ist. Die Daten aus der Blacklist werden nur für diesen Zweck verwendet und nicht mit anderen Daten zusammengeführt. Dies dient sowohl Ihrem Interesse als auch unserem Interesse an der Einhaltung der gesetzlichen Vorgaben beim Versand von Newslettern (berechtigtes Interesse im Sinne des Art. 6 Abs. 1 lit. f DSGVO). Die Speicherung in der Blacklist ist zeitlich nicht befristet. <strong>Sie können der Speicherung widersprechen, sofern Ihre Interessen unser berechtigtes Interesse überwiegen.</strong></p> <p>Nach Ihrer Austragung aus der Newsletterverteilerliste wird Ihre E-Mail-Adresse bei uns bzw. dem Newsletterdiensteanbieter ggf. in einer Blacklist gespeichert, sofern dies zur Verhinderung künftiger Mailings erforderlich ist. Die Daten aus der Blacklist werden nur für diesen Zweck verwendet und nicht mit anderen Daten zusammengeführt. Dies dient sowohl Ihrem Interesse als auch unserem Interesse an der Einhaltung der gesetzlichen Vorgaben beim Versand von Newslettern (berechtigtes Interesse im Sinne des Art. 6 Abs. 1 lit. f DSGVO). Die Speicherung in der Blacklist ist zeitlich nicht befristet. <strong>Sie können der Speicherung widersprechen, sofern Ihre Interessen unser berechtigtes Interesse überwiegen.</strong></p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>6. Plugins und Tools</h2> <h2>7. Plugins und Tools</h2>
<h3>AegisSight Analytics (Umami)</h3>
<p>Wir nutzen auf dieser Website AegisSight Analytics, eine selbstgehostete Instanz der Open-Source-Analyse-Software Umami. Mit Umami erfassen wir anonymisierte Informationen zur Nutzung unserer Website (z. B. besuchte Seiten, Browser, ungefähre geografische Region auf Länderebene) zur Verbesserung unserer Inhalte.</p>
<p><strong>Selbstgehostet in Deutschland:</strong> Sämtliche Daten verbleiben auf unserem Server in Nürnberg, Deutschland (Hosting: Hetzner). Eine Übertragung an Dritte findet nicht statt.</p>
<p><strong>Cookielos und IP-anonymisiert:</strong> Umami setzt keine Cookies und speichert keine personenbezogenen Daten. IP-Adressen werden vor der Speicherung anonymisiert (Hashing). Es findet kein Cross-Site-Tracking statt.</p>
<p><strong>Rechtsgrundlage und Einwilligung:</strong> Die Reichweitenmessung wird ausschließlich nach Ihrer Einwilligung über unser Cookie-Consent-Banner aktiviert (Art. 6 Abs. 1 lit. a DSGVO i. V. m. § 25 Abs. 1 TDDDG). Sie können Ihre Einwilligung jederzeit über den Footer-Link „Cookie-Einstellungen" widerrufen. Wir respektieren das „Global Privacy Control" (GPC)-Signal Ihres Browsers und deaktivieren in diesem Fall die Reichweitenmessung automatisch.</p>
<h3>Google Fonts (lokales Hosting)</h3> <h3>Google Fonts (lokales Hosting)</h3>
<p>Diese Seite nutzt zur einheitlichen Darstellung von Schriftarten so genannte Google Fonts, die von Google bereitgestellt werden. Die Google Fonts sind lokal installiert. Eine Verbindung zu Servern von Google findet dabei nicht statt.</p> <p>Diese Seite nutzt zur einheitlichen Darstellung von Schriftarten so genannte Google Fonts, die von Google bereitgestellt werden. Die Google Fonts sind lokal installiert. Eine Verbindung zu Servern von Google findet dabei nicht statt.</p>
<p>Weitere Informationen zu Google Fonts finden Sie unter <a href="https://developers.google.com/fonts/faq" target="_blank">https://developers.google.com/fonts/faq</a> und in der Datenschutzerklärung von Google: <a href="https://policies.google.com/privacy?hl=de" target="_blank">https://policies.google.com/privacy?hl=de</a>.</p> <p>Weitere Informationen zu Google Fonts finden Sie unter <a href="https://developers.google.com/fonts/faq" target="_blank">https://developers.google.com/fonts/faq</a> und in der Datenschutzerklärung von Google: <a href="https://policies.google.com/privacy?hl=de" target="_blank">https://policies.google.com/privacy?hl=de</a>.</p>
</div> </div>
<div class="datenschutz-section"> <div class="legal-section">
<h2>7. Automatisierte Zugriffe und KI-Agenten</h2> <h2>8. Automatisierte Zugriffe und KI-Agenten</h2>
<h3>Verbot automatisierter Zugriffe</h3> <h3>Verbot automatisierter Zugriffe</h3>
<p>Die automatisierte Abfrage, das Scraping oder Crawling dieser Website durch Bots, Spider, Scraper, KI-Agenten (einschließlich LLM-basierter Systeme), „Buy-for-me"-Agenten oder ähnliche automatisierte Tools ist ohne unsere ausdrückliche schriftliche Genehmigung untersagt.</p> <p>Die automatisierte Abfrage, das Scraping oder Crawling dieser Website durch Bots, Spider, Scraper, KI-Agenten (einschließlich LLM-basierter Systeme), „Buy-for-me"-Agenten oder ähnliche automatisierte Tools ist ohne unsere ausdrückliche schriftliche Genehmigung untersagt.</p>
@@ -296,47 +274,27 @@
<p>Quelle: <a href="https://www.e-recht24.de" target="_blank">https://www.e-recht24.de</a></p> <p>Quelle: <a href="https://www.e-recht24.de" target="_blank">https://www.e-recht24.de</a></p>
</div> </div>
</div> </div>
</div> </main>
<!-- Footer --> <!-- Footer -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<div class="footer-content"> <div class="footer-content">
<div class="footer-section"> <div class="footer-info">
<h4>AegisSight UG (haftungsbeschränkt)</h4> <p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Strasse 3-5</p> <p>Gladbacher Straße 3-5, 40764 Langenfeld</p>
<p>40764 Langenfeld</p>
</div> </div>
<div class="footer-section"> <div class="footer-links">
<h4>Navigation</h4> <a href="/impressum.html">Impressum</a>
<ul> <a href="/datenschutz.html">Datenschutz</a>
<li><a href="index.html#home">Startseite</a></li> <a href="#" id="cookie-settings-link">Cookie-Einstellungen</a>
<li><a href="index.html#about">Über uns</a></li>
<li><a href="index.html#products">Produkte</a></li>
<li><a href="/lagebild">Lagebild</a></li>
<li><a href="mailto:info@aegis-sight.de">Kontakt</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Rechtliches</h4>
<ul>
<li><a href="impressum.html">Impressum</a></li>
<li><a href="datenschutz.html">Datenschutz</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Kontakt</h4>
<p>info@aegis-sight.de</p>
</div> </div>
</div> </div>
<p class="copyright">© <span class="current-year"></span> AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p> <p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p>
</div> </div>
</footer> </footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<!-- JavaScript for legal pages --> <script src="/js/app.js"></script>
<script src="js/legal-pages.js"></script> <script src="/cookie-consent.js"></script>
<!-- AegisSight Analytics -->
<script async src="/insights/t.js"></script>
</body> </body>
</html> </html>

799
en/index.html Normale Datei
Datei anzeigen

@@ -0,0 +1,799 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>OSINT Monitoring Software from Germany – AegisSight Monitor</title>
<meta name="description" content="OSINT monitoring software from Germany: AI-powered real-time situation reports from open sources. For government agencies, newsrooms, and security services.">
<link rel="canonical" href="https://aegis-sight.de/en/">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/">
<!-- Open Graph / Social Sharing -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="AegisSight Monitor – Real-time situation reports from open sources">
<meta property="og:description" content="AI-powered real-time situation reports from open sources. For government agencies, newsrooms, and security services – Made in Germany.">
<meta property="og:url" content="https://aegis-sight.de/en/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="AegisSight Monitor – Real-time situation reports from open sources">
<meta name="twitter:description" content="AI-powered real-time situation reports from open sources. For government agencies, newsrooms, and security services – Made in Germany.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<!-- Schema.org Organization -->
<!-- TODO AEO/GEO: once LinkedIn company page and founder profiles exist,
add the URLs to "sameAs" (organisation and both Person entries).
This is the central place where GEO signals for AI search are created. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://aegis-sight.de/#organization",
"name": "AegisSight UG (haftungsbeschränkt)",
"alternateName": "AegisSight",
"url": "https://aegis-sight.de",
"logo": "https://aegis-sight.de/assets/images/logos/AegisSightLogo_NavyGold.svg",
"email": "info@aegis-sight.de",
"slogan": "AI-powered real-time situation reports from open sources.",
"description": "AegisSight is a German OSINT monitoring software that continuously evaluates hundreds of open sources and generates structured real-time situation reports with automatic fact-checking.",
"knowsAbout": [
"Open Source Intelligence (OSINT)",
"OSINT monitoring",
"real-time situation reports from open sources",
"automated situational analysis",
"automatic fact-checking",
"social media monitoring for government agencies",
"crisis monitoring",
"disinformation analysis",
"situational awareness"
],
"keywords": "OSINT software Germany, OSINT monitoring software, situational awareness software, automated situation reports, social media monitoring government, crisis monitoring software, GDPR-compliant OSINT tool, open source intelligence Germany",
"areaServed": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Country", "name": "Austria" },
{ "@type": "Country", "name": "Switzerland" },
{ "@type": "AdministrativeArea", "name": "European Union" }
],
"address": {
"@type": "PostalAddress",
"streetAddress": "Gladbacher Straße 3-5",
"postalCode": "40764",
"addressLocality": "Langenfeld",
"addressRegion": "Nordrhein-Westfalen",
"addressCountry": "DE"
},
"founder": [
{
"@type": "Person",
"name": "Hendrik Gebhardt",
"jobTitle": "Founder & Managing Director",
"worksFor": { "@id": "https://aegis-sight.de/#organization" },
"sameAs": []
},
{
"@type": "Person",
"name": "Monami Homma",
"jobTitle": "Founder & Managing Director",
"worksFor": { "@id": "https://aegis-sight.de/#organization" },
"sameAs": []
}
],
"sameAs": []
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="stylesheet" href="/assets/vendor/leaflet/leaflet.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.Default.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<!-- FAQ-Section Styles (AEO/GEO) -->
<style>
.footer { margin-top: 0; }
.faq-section { background: #0F2240; color: #E6ECF5; padding: 4rem 0; margin: 0; display: block; }
.faq-section .container { max-width: 880px; }
.faq-section h2 { color: #E6C77E; text-align: center; margin: 0 0 0.5rem; }
.faq-section .faq-intro { text-align: center; color: #B8C4D8; margin: 0 0 2.5rem; }
.faq-section details.faq-item { background: rgba(255,255,255,0.04); border: 1px solid rgba(230,199,126,0.18); border-radius: 8px; margin: 0 0 0.75rem; padding: 0; overflow: hidden; }
.faq-section details.faq-item:last-of-type { margin-bottom: 0; }
.faq-section details.faq-item summary { padding: 1.1rem 3rem 1.1rem 1.4rem; cursor: pointer; font-weight: 600; font-size: 1.05rem; color: #FFFFFF; list-style: none; position: relative; }
.faq-section details.faq-item summary::-webkit-details-marker { display: none; }
.faq-section details.faq-item summary::after { content: "+"; position: absolute; right: 1.4rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: #E6C77E; font-weight: 300; }
.faq-section details.faq-item[open] summary::after { content: ""; }
.faq-section details.faq-item summary:hover { background: rgba(230,199,126,0.06); }
.faq-section details.faq-item .faq-answer { margin: 0; padding: 0 1.4rem 1.2rem; color: #D5DCE8; line-height: 1.65; font-size: 0.98rem; }
.faq-section details.faq-item .faq-answer a { color: #E6C77E; }
</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://aegis-sight.de/en/#website",
"name": "AegisSight",
"alternateName": "AegisSight Monitor",
"url": "https://aegis-sight.de/en/",
"inLanguage": "en-GB",
"description": "OSINT monitoring from Germany: AI-powered real-time situation reports from open sources, with automated fact-checking and source attribution.",
"publisher": { "@id": "https://aegis-sight.de/#organization" },
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".hero-tagline", ".feature-statement-text", ".faq-answer"]
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"@id": "https://aegis-sight.de/en/#software",
"name": "AegisSight Monitor",
"applicationCategory": "BusinessApplication",
"applicationSubCategory": "OSINT Monitoring Software",
"keywords": "OSINT software, OSINT monitoring software, situational awareness software, automated situation reports, social media monitoring government, crisis monitoring, GDPR-compliant OSINT tool, open source intelligence",
"operatingSystem": "Web",
"url": "https://aegis-sight.de/en/",
"image": "https://aegis-sight.de/assets/images/og-image.png",
"description": "AI-powered real-time situation reports from open sources. Aggregation, deduplication, geographic mapping, automated fact-checking and multilingual analysis. For government agencies, newsrooms, and security services.",
"inLanguage": "en-GB",
"featureList": [
"Real-time monitoring of hundreds of sources",
"Source analysis with aggregation and deduplication",
"Geographic mapping on interactive map",
"Multilingual analysis (Farsi, Arabic, Hebrew and more)",
"Automated fact-checking against independent sources",
"Structured situation reports with source attribution and timeline"
],
"publisher": { "@id": "https://aegis-sight.de/#organization" },
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock",
"priceCurrency": "EUR",
"price": "0",
"url": "https://aegis-sight.de/en/#contact",
"description": "Pricing on request"
}
}
</script>
<!-- Schema.org Service (AEO/GEO: dedicated service entry for AI search) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://aegis-sight.de/en/#osint-service",
"name": "AegisSight Monitor",
"serviceType": "OSINT monitoring",
"provider": { "@id": "https://aegis-sight.de/#organization" },
"areaServed": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Country", "name": "Austria" },
{ "@type": "Country", "name": "Switzerland" },
{ "@type": "AdministrativeArea", "name": "European Union" }
],
"audience": {
"@type": "BusinessAudience",
"audienceType": "Government agencies, newsrooms and security services"
},
"description": "AI-powered real-time situation reports from hundreds of open sources, with automated fact-checking, geographic mapping and multilingual analysis. Operated entirely on servers in Germany, GDPR-compliant.",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "AegisSight Monitor capabilities",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Real-time monitoring of hundreds of open sources" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Automated fact-checking against independent sources" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Geographic mapping on an interactive map" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Multilingual analysis in Farsi, Arabic, Hebrew and further languages" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Structured situation reports with source attribution and timeline" } }
]
}
}
</script>
<!-- Schema.org FAQPage (AEO: quotable answers for AI search) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"@id": "https://aegis-sight.de/en/#faq",
"inLanguage": "en-GB",
"isPartOf": { "@id": "https://aegis-sight.de/en/#website" },
"mainEntity": [
{
"@type": "Question",
"name": "What is the AegisSight Monitor?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The AegisSight Monitor is a German AI-driven OSINT monitoring software that continuously evaluates hundreds of open sources and generates structured real-time situation reports with automatic fact-checking."
}
},
{
"@type": "Question",
"name": "What is a situation report?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A situation report is the structured summary of the current factual status of an event or conflict, compiled from multiple independent sources, with timeline, source references and geographic mapping."
}
},
{
"@type": "Question",
"name": "Which sources does AegisSight evaluate?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AegisSight evaluates hundreds of publicly accessible sources worldwide, including news agencies, specialist media, government statements and social media. Content in dozens of languages is automatically translated, including Farsi, Arabic and Hebrew."
}
},
{
"@type": "Question",
"name": "How does the automatic fact-checking work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Every central claim is automatically cross-checked against multiple independent sources. Agreements, contradictions and the trustworthiness of the sources feed into a transparent rating that is linked to the original sources in the situation report."
}
},
{
"@type": "Question",
"name": "Is AegisSight GDPR-compliant?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AegisSight runs entirely on servers in Germany and processes only publicly accessible sources. No data is transferred to third countries."
}
},
{
"@type": "Question",
"name": "Who is the AegisSight Monitor designed for?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The AegisSight Monitor is designed for authorities, newsrooms and security services that need reliable real-time situation reports, including crisis response teams, investigative newsrooms, corporate security and physical-security operations."
}
},
{
"@type": "Question",
"name": "How do I get access to the AegisSight Monitor?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Access is granted on individual request; pilot access is available for qualified organisations. Contact: info@aegis-sight.de."
}
}
]
}
</script>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="#hero" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="#features">Features</a></li>
<li><a href="#solutions">Solutions</a></li>
<li><a href="#demos">Live Reports</a></li>
<li><a href="#trust">About Us</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="#features">Features</a></li>
<li><a href="#solutions">Solutions</a></li>
<li><a href="#demos">Live Reports</a></li>
<li><a href="#trust">About Us</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<!-- Hero Section -->
<section class="hero" id="hero">
<div class="hero-overlay"></div>
<div class="hero-content">
<div class="hero-brand">
<h1 class="hero-title">AegisSight Monitor</h1>
<p class="hero-tagline">The OSINT software for AI-powered real-time situation reports from open sources, <span class="gold">fully automated.</span></p>
</div>
<div class="hero-slider" role="region" aria-label="Product highlights" aria-live="polite">
<!-- Slide 1: Real-time monitoring (Video) -->
<div class="hero-slide active" data-slide="0">
<div class="hero-slide-video">
<video muted playsinline preload="auto">
<source src="/videos/hero-slide-1-monitoring.mp4" type="video/mp4">
</video>
</div>
<div class="hero-slide-bottom">
<p class="hero-slide-example">Live example: The Iran conflict is continuously monitored with over 14,900 articles from 375 sources.</p>
<div class="hero-slide-cta">
<a href="#demos" class="btn btn-primary" onclick="positionCards(0)">View live example</a>
</div>
</div>
</div>
<!-- Slide 2: Automated fact-checking (Video) -->
<div class="hero-slide" data-slide="1">
<div class="hero-slide-video">
<video muted playsinline preload="none">
<source src="/videos/hero-slide-2-monitoring.mp4?v=3" type="video/mp4">
</video>
</div>
</div>
<!-- Slide 3: AI-powered research (Video) -->
<div class="hero-slide" data-slide="2">
<div class="hero-slide-video">
<video muted playsinline preload="none">
<source src="/videos/hero-slide-3-monitoring.mp4?v=2" type="video/mp4">
</video>
</div>
<div class="hero-slide-bottom">
<p class="hero-slide-example">Example: A dossier on the legal status of deepfakes in Germany, 121 articles from 90 sources, automatically generated.</p>
<div class="hero-slide-cta">
<a href="#demos" class="btn btn-primary" onclick="positionCards(2)">View research example</a>
</div>
</div>
</div>
<!-- Slide 4: Global source coverage (Video) -->
<div class="hero-slide" data-slide="3">
<div class="hero-slide-video">
<video muted playsinline preload="none">
<source src="/videos/hero-slide-4-monitoring.mp4" type="video/mp4">
</video>
</div>
<div class="hero-slide-bottom">
<p class="hero-slide-example">In the Iran conflict, primary sources in Farsi, Arabic, and Hebrew are analysed directly.</p>
<div class="hero-slide-cta">
<a href="#demos" class="btn btn-primary" onclick="positionCards(0)">View live example</a>
</div>
</div>
</div>
<!-- Slide 5: Flexible deployment (Video) -->
<div class="hero-slide" data-slide="4">
<div class="hero-slide-video">
<video muted playsinline preload="none">
<source src="/videos/hero-slide-5-monitoring.mp4?v=2" type="video/mp4">
</video>
</div>
<div class="hero-slide-bottom">
<p class="hero-slide-example">Example: Cyberattacks on German infrastructure, 93 articles from 41 sources, monitored automatically.</p>
<div class="hero-slide-cta">
<a href="#demos" class="btn btn-primary" onclick="positionCards(1)">View live example</a>
</div>
</div>
</div>
</div>
<div class="hero-slider-nav">
<div class="hero-slider-dots">
<button class="hero-dot active" data-slide="0" aria-label="Real-time monitoring"></button>
<button class="hero-dot" data-slide="1" aria-label="Fact check"></button>
<button class="hero-dot" data-slide="2" aria-label="AI-powered research"></button>
<button class="hero-dot" data-slide="3" aria-label="Global coverage"></button>
<button class="hero-dot" data-slide="4" aria-label="Flexible deployment"></button>
</div>
</div>
<div class="hero-slider-arrows">
<button class="hero-arrow hero-arrow-prev" aria-label="Previous slide">&#8592;</button>
<button class="hero-arrow hero-arrow-next" aria-label="Next slide">&#8594;</button>
</div>
</div>
</section>
<!-- Solutions / Use cases -->
<style>
#solutions .loesungen-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 8px; }
#solutions .loesung-card { display: block; background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: 26px 28px; text-decoration: none; box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
#solutions .loesung-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(10,24,50,0.12); }
#solutions .loesung-card h3 { color: var(--navy); font-size: 1.2rem; margin: 0 0 10px; }
#solutions .loesung-card p { color: var(--text-light); font-size: 0.97rem; line-height: 1.6; margin: 0 0 14px; }
#solutions .loesung-more { color: var(--gold-dark); font-weight: 600; font-size: 0.95rem; }
#solutions .loesung-card:hover .loesung-more { color: var(--gold); }
#solutions .loesungen-intro { text-align: center; max-width: 680px; margin: 0 auto 2.5rem; color: var(--text-light); line-height: 1.7; }
</style>
<section class="section section-base" id="solutions">
<div class="container">
<h2 class="section-title">Solutions for your field of use</h2>
<p class="loesungen-intro">AegisSight covers different OSINT use cases – from automated situational analysis and disinformation monitoring to crisis monitoring for government.</p>
<div class="loesungen-grid">
<a class="loesung-card" href="/en/solutions/osint-situational-awareness-software/">
<h3>OSINT &amp; Situational Awareness Software</h3>
<p>Automatically evaluate hundreds of open sources and turn them into structured real-time situation reports.</p>
<span class="loesung-more">Learn more &rsaquo;</span>
</a>
<a class="loesung-card" href="/en/solutions/disinformation-monitoring/">
<h3>Disinformation Monitoring &amp; FIMI</h3>
<p>Detect manipulation and foreign interference early – with fact-checking and source assessment.</p>
<span class="loesung-more">Learn more &rsaquo;</span>
</a>
<a class="loesung-card" href="/en/solutions/social-media-monitoring-government/">
<h3>Social Media &amp; Crisis Monitoring</h3>
<p>Provide crisis teams with an automatically updated situation report from social media and open sources.</p>
<span class="loesung-more">Learn more &rsaquo;</span>
</a>
</div>
</div>
</section>
<!-- Features -->
<section class="section section-dark" id="features">
<div class="container">
<h2 class="section-title">What the Monitor delivers</h2>
<!-- Highlight: Fact-checking -->
<div class="feature-statement">
<p class="feature-statement-text">Every claim is automatically verified against independent sources.</p>
<p class="feature-statement-sub">Status history, evidence, and source attribution. Automated and traceable.</p>
</div>
<div class="grid-3">
<div class="feature-card">
<div class="feature-icon">
<img loading="lazy" src="/assets/images/icons/monitor.svg" alt="" width="36" height="36">
</div>
<h3>Real-time monitoring</h3>
<p>Continuous monitoring of your defined sources, around the clock.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<img loading="lazy" src="/assets/images/icons/cube.svg" alt="" width="36" height="36">
</div>
<h3>Source analysis</h3>
<p>Automatic aggregation and deduplication from hundreds of international sources.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<img loading="lazy" src="/assets/images/icons/location.svg" alt="" width="36" height="36">
</div>
<h3>Geographic mapping</h3>
<p>Locations are recognised and shown on an interactive map.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<img loading="lazy" src="/assets/images/icons/languages.svg" alt="" width="36" height="36">
</div>
<h3>Multilingual analysis</h3>
<p>Sources in different languages are processed and merged automatically.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<img loading="lazy" src="/assets/images/icons/document.svg" alt="" width="36" height="36">
</div>
<h3>Structured situation reports</h3>
<p>Concise summaries with source attribution and timeline.</p>
</div>
</div>
</div>
</section>
<!-- Gradient: Features -> Problem -->
<div class="divider divider-gradient-dark-to-base"></div>
<!-- Problem Statement -->
<section class="section section-base" id="problem">
<div class="container">
<h2 class="section-title">Why manual OSINT analysis does not scale</h2>
<p class="section-subtitle">Analysts in security agencies, newsrooms, and companies face the same challenge every day.</p>
<div class="grid-3">
<div class="problem-card">
<div class="problem-icon">
<img loading="lazy" src="/assets/images/icons/world-globe.svg" alt="" width="40" height="40">
</div>
<h3>Source diversity</h3>
<p>Hundreds of news agencies, Telegram channels, and social media in dozens of languages. No analyst can monitor everything at once.</p>
</div>
<div class="problem-card">
<div class="problem-icon">
<img loading="lazy" src="/assets/images/icons/clock.svg" alt="" width="40" height="40">
</div>
<h3>Time pressure</h3>
<p>New reports arrive by the minute. Manual analysis takes time you do not have.</p>
</div>
<div class="problem-card">
<div class="problem-icon">
<img loading="lazy" src="/assets/images/icons/document.svg" alt="" width="40" height="40">
</div>
<h3>Information overload</h3>
<p>Critical information disappears in the noise; connections remain invisible.</p>
</div>
</div>
</div>
</section>
<!-- Gradient: Problem -> Workflow -->
<div class="divider divider-gradient-base-to-alt"></div>
<!-- Solution / Workflow -->
<section class="section section-alt" id="solution">
<div class="container">
<h2 class="section-title">How the AegisSight Monitor works</h2>
<div class="workflow">
<div class="workflow-step">
<div class="step-number">1</div>
<h3>Collect</h3>
<p>Hundreds of sources are continuously monitored. News agencies, Telegram, social media, and more.</p>
</div>
<div class="workflow-connector"></div>
<div class="workflow-step">
<div class="step-number">2</div>
<h3>Analyse</h3>
<p>Reports are automatically evaluated, fact-checked, and geographically mapped.</p>
</div>
<div class="workflow-connector"></div>
<div class="workflow-step">
<div class="step-number">3</div>
<h3>Report</h3>
<p>Structured situation reports with source attribution, fact checks, and map view. In real time.</p>
</div>
</div>
</div>
</section>
<!-- Gradient: Solution -> Demos -->
<div class="divider divider-gradient-alt-to-base"></div>
<!-- Live Demos / Showcase -->
<section class="section section-base" id="demos">
<div class="container">
<!-- Live Stats Bar -->
<div class="live-stats-bar">
<div class="live-stats-title">Major situation - Iran conflict</div>
<div class="live-stats-row">
<div class="live-stat">
<span class="live-stat-value" id="stat-articles">...</span>
<span class="live-stat-label">Articles</span>
</div>
<div class="live-stat">
<span class="live-stat-value" id="stat-sources">...</span>
<span class="live-stat-label">Sources</span>
</div>
<div class="live-stat">
<span class="live-stat-value" id="stat-factchecks">...</span>
<span class="live-stat-label">Fact checks</span>
</div>
</div>
</div>
<!-- 3D Carousel -->
<div class="carousel-viewport">
<button class="carousel-arrow carousel-prev" aria-label="Previous situation">&#8249;</button>
<button class="carousel-arrow carousel-next" aria-label="Next situation">&#8250;</button>
<div class="carousel-track" id="carousel">
<!-- Iran Card -->
<div class="carousel-card card-live active" data-index="0" data-lage="iran-konflikt">
<div class="demo-badge">LIVE</div>
<h3 class="demo-title">Iran conflict</h3>
<div class="demo-excerpt" id="demo-excerpt">
<div class="excerpt-text" id="excerpt-text">Situation report loading...</div>
</div>
<a href="/en/situations/iran-conflict/" class="btn btn-primary btn-block">Open full situation report</a>
</div>
<!-- Cyberattacks -->
<div class="carousel-card card-live" data-index="1" data-lage="cyberangriffe">
<div class="demo-badge">LIVE</div>
<h3 class="demo-title">Cyberattacks on German infrastructure</h3>
<div class="demo-excerpt" id="demo-excerpt-cyberangriffe">
<div class="excerpt-text" id="excerpt-text-cyberangriffe">Situation report loading...</div>
</div>
<a href="/en/situations/cyber-attacks/" class="btn btn-primary btn-block">Open full situation report</a>
</div>
<!-- Deepfakes Research -->
<div class="carousel-card card-live" data-index="2" data-lage="deepfakes">
<div class="demo-badge">RESEARCH</div>
<h3 class="demo-title">Legal status of deepfakes in Germany</h3>
<div class="demo-excerpt" id="demo-excerpt-deepfakes">
<div class="excerpt-text" id="excerpt-text-deepfakes">Research loading...</div>
</div>
<a href="/en/situations/deepfakes/" class="btn btn-primary btn-block">Open full research</a>
</div>
</div>
<div class="carousel-nav">
<button class="carousel-dot active" data-index="0"></button>
<button class="carousel-dot" data-index="1"></button>
<button class="carousel-dot" data-index="2"></button>
</div>
</div>
<!-- Map -->
<div class="map-section" id="map-section">
<h3 class="map-title" id="map-title">Geographic distribution of reports</h3>
<div id="map-container"></div>
<div class="map-empty" id="map-empty" style="display:none">Map data follows</div>
</div>
</div>
</section>
<!-- Gradient: Demos -> Contact -->
<div class="divider"></div>
<!-- Contact CTA -->
<section class="section section-base" id="contact">
<div class="container cta-container">
<h2 class="section-title">Interested in AegisSight Monitor?</h2>
<p class="cta-text">Talk to us about your use case.</p>
<button class="btn btn-primary btn-lg" onclick="openContactModal()">Get in touch</button>
</div>
</section>
<!-- Diagonal: Contact -> Trust -->
<div class="divider divider-diagonal-dark">
<svg viewBox="0 0 1440 60" preserveAspectRatio="none"><path d="M0,60 L1440,0 L1440,60 Z" fill="#132844"/></svg>
</div>
<!-- Trust / Our Commitment -->
<section class="section section-dark" id="trust">
<div class="container">
<h2 class="section-title">Our commitment</h2>
<div class="grid-4 trust-grid">
<div class="trust-card">
<div class="trust-icon-wrap">
<img loading="lazy" src="/assets/images/icons/check-circle-filled.svg" alt="" width="48" height="48">
</div>
<h3>Close collaboration</h3>
<p>We work hand in hand with our customers to deliver tailored solutions</p>
</div>
<div class="trust-card">
<div class="trust-icon-wrap trust-flag">
<img loading="lazy" src="/assets/images/icons/german-flag.svg" alt="" width="60" height="36">
</div>
<h3>Made in Germany</h3>
<p>Clear, robust, and secure software built to German quality standards</p>
</div>
<div class="trust-card">
<div class="trust-icon-wrap">
<img loading="lazy" src="/assets/handshake.svg" alt="" width="50" height="50">
</div>
<h3>Reliable partnership</h3>
<p>Based on shared values and long-term trust</p>
</div>
<div class="trust-card">
<div class="trust-icon-wrap">
<img loading="lazy" src="/assets/images/icons/shield-check.svg" alt="" width="48" height="48">
</div>
<h3>Sustainability</h3>
<p>Focus on security, professionalism, and future-proof solutions</p>
</div>
</div>
</div>
</section>
<!-- FAQ-Section (AEO/GEO: quotable answers in DOM and FAQPage-JSON-LD) -->
<section class="faq-section" id="faq" aria-labelledby="faq-title">
<div class="container">
<h2 class="section-title" id="faq-title">Frequently Asked Questions</h2>
<p class="faq-intro">The key answers about AegisSight Monitor at a glance.</p>
<details class="faq-item">
<summary>What is the AegisSight Monitor?</summary>
<p class="faq-answer">The AegisSight Monitor is a German AI-driven OSINT monitoring software that continuously evaluates hundreds of open sources and generates structured real-time situation reports with automatic fact-checking.</p>
</details>
<details class="faq-item">
<summary>What is a situation report?</summary>
<p class="faq-answer">A situation report is the structured summary of the current factual status of an event or conflict, compiled from multiple independent sources, with timeline, source references and geographic mapping. Examples are available in the <a href="#demos">live reports</a>.</p>
</details>
<details class="faq-item">
<summary>Which sources does AegisSight evaluate?</summary>
<p class="faq-answer">AegisSight evaluates hundreds of publicly accessible sources worldwide, including news agencies, specialist media, government statements and social media. Content in dozens of languages is automatically translated, including Farsi, Arabic and Hebrew.</p>
</details>
<details class="faq-item">
<summary>How does the automatic fact-checking work?</summary>
<p class="faq-answer">Every central claim is automatically cross-checked against multiple independent sources. Agreements, contradictions and the trustworthiness of the sources feed into a transparent rating that is linked to the original sources in the situation report.</p>
</details>
<details class="faq-item">
<summary>Is AegisSight GDPR-compliant?</summary>
<p class="faq-answer">AegisSight runs entirely on servers in Germany and processes only publicly accessible sources. No data is transferred to third countries.</p>
</details>
<details class="faq-item">
<summary>Who is the AegisSight Monitor designed for?</summary>
<p class="faq-answer">The AegisSight Monitor is designed for authorities, newsrooms and security services that need reliable real-time situation reports, including crisis response teams, investigative newsrooms, corporate security and physical-security operations.</p>
</details>
<details class="faq-item">
<summary>How do I get access to the AegisSight Monitor?</summary>
<p class="faq-answer">Access is granted on individual request; pilot access is available for qualified organisations. Contact: <a href="mailto:info@aegis-sight.de">info@aegis-sight.de</a>.</p>
</details>
</div>
</section>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<!-- Contact Modal -->
<div class="modal-overlay" id="contact-modal" style="display:none">
<div class="modal-content">
<button class="modal-close" onclick="closeContactModal()" aria-label="Close">&times;</button>
<h2>Get in touch</h2>
<p class="modal-sub">Talk to us about your use case.</p>
<form id="contact-form" onsubmit="return submitContact(event)">
<div class="form-row">
<div class="form-group">
<label for="cf-name">Name</label>
<input type="text" id="cf-name" name="name" required>
</div>
<div class="form-group">
<label for="cf-org">Organisation</label>
<input type="text" id="cf-org" name="organisation">
</div>
</div>
<div class="form-group">
<label for="cf-email">Email</label>
<input type="email" id="cf-email" name="email" required>
</div>
<div class="form-group">
<label for="cf-message">Message</label>
<textarea id="cf-message" name="message" rows="4" required></textarea>
</div>
<button type="submit" class="btn btn-primary btn-block">Send message</button>
</form>
<div class="form-success" id="form-success" style="display:none">
<p>Thank you for your message. We will get back to you shortly.</p>
</div>
</div>
</div>
<script src="/assets/vendor/leaflet/leaflet.js"></script>
<script src="/assets/vendor/leaflet/leaflet.markercluster.js"></script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

177
en/legal-notice.html Normale Datei
Datei anzeigen

@@ -0,0 +1,177 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, follow">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Legal notice – AegisSight</title>
<!-- Exclude legal pages from search engines -->
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/impressum.html">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/legal-notice.html">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/impressum.html">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style>
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
.legal-page { padding: calc(var(--nav-height) + 56px) 0 80px; min-height: calc(100vh - 220px); }
.legal-container { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.legal-container h1 { font-size: 2.25rem; font-weight: 700; color: var(--navy); margin: 0 0 12px; }
.legal-meta { color: var(--text-light); margin: 0 0 32px; font-size: 0.95rem; }
.legal-content { background: var(--base); border-radius: var(--radius-lg); padding: 32px 40px; box-shadow: var(--shadow); border: 1px solid var(--gray-100); }
.legal-section { margin-bottom: 28px; }
.legal-section:last-child { margin-bottom: 0; }
.legal-section h2 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.legal-section h3 { font-size: 1.05rem; font-weight: 600; color: var(--navy); margin: 22px 0 8px; }
.legal-section p { margin: 0 0 12px; line-height: 1.7; color: var(--text); font-size: 0.95rem; }
.legal-section a { color: var(--gold-dark); text-decoration: underline; }
.legal-section a:hover { color: var(--gold); }
.legal-section ul { margin: 12px 0 16px 22px; padding: 0; }
.legal-section li { margin-bottom: 6px; line-height: 1.6; color: var(--text); font-size: 0.95rem; }
.legal-section strong { color: var(--navy); font-weight: 600; }
.legal-section table { width: 100%; border-collapse: collapse; margin: 12px 0 16px; }
.legal-section td, .legal-section th { padding: 8px 12px; border: 1px solid var(--gray-200); text-align: left; font-size: 0.92rem; }
.source-note { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--gray-200); font-size: 0.85rem; color: var(--text-light); }
.source-note a { color: var(--gold-dark); }
.translation-note { margin: 0 0 32px; padding: 14px 18px; background: rgba(200, 168, 81, 0.08); border-left: 3px solid var(--gold); font-size: 0.92rem; color: var(--text); line-height: 1.6; }
@media (max-width: 768px) {
.legal-container { padding: 0 16px; }
.legal-content { padding: 24px 20px; }
.legal-container h1 { font-size: 1.75rem; }
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="/en/" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/impressum.html" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/impressum.html" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<main class="legal-page">
<div class="legal-container">
<h1>Legal notice</h1>
<p class="translation-note">This is a translation of our German legal notice provided for convenience. In the event of any conflict, the <a href="/impressum.html">German version</a> shall prevail.</p>
<div class="legal-section">
<h2>Information pursuant to § 5 TMG</h2>
<p><strong>AegisSight UG (haftungsbeschränkt)</strong></p>
<p>Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany</p>
</div>
<div class="legal-section">
<h2>Represented by</h2>
<p>Hendrik Gebhardt<br>
Monami Homma</p>
</div>
<div class="legal-section">
<h2>Contact</h2>
<p>Email: info@aegis-sight.de</p>
</div>
<div class="legal-section">
<h2>Registry entry</h2>
<p>Commercial register: HRB 110105<br>
Registry court: District Court of Düsseldorf</p>
</div>
<div class="legal-section">
<h2>VAT identification number</h2>
<p>VAT identification number pursuant to § 27 a of the German Value Added Tax Act:<br>
DE457846602</p>
</div>
<div class="legal-section">
<h2>Consumer dispute resolution / universal arbitration board</h2>
<p>We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.</p>
</div>
<div class="legal-section">
<h2>Disclaimer</h2>
<p><strong>Liability for content</strong><br>
The content on our pages has been created with the utmost care. However, we cannot guarantee that the content is accurate, complete, or up to date. As a service provider, we are responsible for our own content on these pages in accordance with general laws pursuant to § 7 (1) TMG. According to §§ 8 to 10 TMG, however, we as a service provider are not obliged to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity.</p>
<p><strong>Liability for links</strong><br>
Our offer contains links to external third-party websites whose content we have no influence over. For this reason, we cannot assume any liability for this third-party content. The respective provider or operator of the linked pages is always responsible for their content.</p>
<p><strong>Copyright</strong><br>
The content and works on these pages created by the site operators are subject to German copyright law. Reproduction, processing, distribution, and any kind of exploitation outside the limits of copyright law require the written consent of the respective author or creator.</p>
<p class="source-note">Source: <a href="https://www.e-recht24.de" target="_blank" rel="noopener">eRecht24</a></p>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

304
en/privacy.html Normale Datei
Datei anzeigen

@@ -0,0 +1,304 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, follow">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Privacy policy – AegisSight</title>
<!-- Exclude legal pages from search engines -->
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/datenschutz.html">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/privacy.html">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/datenschutz.html">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style>
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
.legal-page { padding: calc(var(--nav-height) + 56px) 0 80px; min-height: calc(100vh - 220px); }
.legal-container { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.legal-container h1 { font-size: 2.25rem; font-weight: 700; color: var(--navy); margin: 0 0 12px; }
.legal-meta { color: var(--text-light); margin: 0 0 32px; font-size: 0.95rem; }
.legal-content { background: var(--base); border-radius: var(--radius-lg); padding: 32px 40px; box-shadow: var(--shadow); border: 1px solid var(--gray-100); }
.legal-section { margin-bottom: 28px; }
.legal-section:last-child { margin-bottom: 0; }
.legal-section h2 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.legal-section h3 { font-size: 1.05rem; font-weight: 600; color: var(--navy); margin: 22px 0 8px; }
.legal-section p { margin: 0 0 12px; line-height: 1.7; color: var(--text); font-size: 0.95rem; }
.legal-section a { color: var(--gold-dark); text-decoration: underline; }
.legal-section a:hover { color: var(--gold); }
.legal-section ul { margin: 12px 0 16px 22px; padding: 0; }
.legal-section li { margin-bottom: 6px; line-height: 1.6; color: var(--text); font-size: 0.95rem; }
.legal-section strong { color: var(--navy); font-weight: 600; }
.legal-section table { width: 100%; border-collapse: collapse; margin: 12px 0 16px; }
.legal-section td, .legal-section th { padding: 8px 12px; border: 1px solid var(--gray-200); text-align: left; font-size: 0.92rem; }
.source-note { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--gray-200); font-size: 0.85rem; color: var(--text-light); }
.source-note a { color: var(--gold-dark); }
.translation-note { margin: 0 0 32px; padding: 14px 18px; background: rgba(200, 168, 81, 0.08); border-left: 3px solid var(--gold); font-size: 0.92rem; color: var(--text); line-height: 1.6; }
@media (max-width: 768px) {
.legal-container { padding: 0 16px; }
.legal-content { padding: 24px 20px; }
.legal-container h1 { font-size: 1.75rem; }
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="/en/" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/datenschutz.html" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/datenschutz.html" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<main class="legal-page">
<div class="legal-container">
<h1>Privacy policy</h1>
<p class="translation-note">This is a translation of our German privacy policy provided for convenience. In the event of any conflict, the <a href="/datenschutz.html">German version</a> shall prevail.</p>
<div class="legal-section">
<h2>1. Privacy at a glance</h2>
<h3>General information</h3>
<p>The following notes provide a simple overview of what happens to your personal data when you visit this website. Personal data is any data with which you can be personally identified. For detailed information on data protection, please refer to our privacy policy listed below this text.</p>
<h3>Data collection on this website</h3>
<p><strong>Who is responsible for the data collection on this website?</strong></p>
<p>Data processing on this website is carried out by the website operator. You can find their contact details in the section "Information on the responsible party" in this privacy policy.</p>
<p><strong>How do we collect your data?</strong></p>
<p>Your data is collected, on the one hand, when you provide it to us. This may, for example, be data that you enter into a contact form.</p>
<p>Other data is collected automatically or after your consent when you visit the website by our IT systems. This is primarily technical data (e.g. internet browser, operating system, or time of page access). This data is collected automatically as soon as you enter this website.</p>
<p><strong>What do we use your data for?</strong></p>
<p>Part of the data is collected to ensure error-free provision of the website. Other data may be used to analyse your user behaviour. If contracts can be concluded or initiated via the website, the transmitted data is also processed for contract offers, orders, or other order requests.</p>
<p><strong>What rights do you have regarding your data?</strong></p>
<p>You have the right at any time to receive information free of charge about the origin, recipients, and purpose of your stored personal data. You also have the right to request the correction or deletion of this data. If you have given consent to data processing, you can revoke this consent at any time for the future. Furthermore, you have the right to demand the restriction of the processing of your personal data under certain circumstances. You also have the right to lodge a complaint with the competent supervisory authority.</p>
<p>You may contact us at any time regarding this and other questions on the subject of data protection.</p>
<h3>Analysis tools and tools from third-party providers</h3>
<p>When you visit this website, your browsing behaviour can be statistically evaluated. This is mainly done with so-called analysis programs.</p>
<p>Detailed information on these analysis programs can be found in the following privacy policy.</p>
</div>
<div class="legal-section">
<h2>2. Hosting</h2>
<p>We host the content of our website with the following provider:</p>
<h3>Hetzner</h3>
<p>The provider is Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, Germany (hereinafter: Hetzner).</p>
<p>For details, please refer to Hetzner's privacy policy: <a href="https://www.hetzner.com/legal/privacy-policy/" target="_blank" rel="noopener">https://www.hetzner.com/legal/privacy-policy/</a>.</p>
<p>The use of Hetzner is based on Art. 6 (1) (f) GDPR. We have a legitimate interest in the most reliable presentation possible of our website. Where appropriate consent has been requested, processing is carried out exclusively on the basis of Art. 6 (1) (a) GDPR and § 25 (1) TDDDG (German Digital Services Data Protection Act), where consent includes the storage of cookies or access to information on the user's terminal device (e.g. device fingerprinting) within the meaning of the TDDDG. Consent can be revoked at any time.</p>
</div>
<div class="legal-section">
<h2>3. General information and mandatory disclosures</h2>
<h3>Data protection</h3>
<p>The operators of these pages take the protection of your personal data very seriously. We treat your personal data confidentially and in accordance with the statutory data protection regulations and this privacy policy.</p>
<p>When you use this website, various personal data is collected. Personal data is data with which you can be personally identified. This privacy policy explains what data we collect and what we use it for. It also explains how and for what purpose this is done.</p>
<p>We point out that data transmission on the internet (e.g. when communicating by email) can have security gaps. Complete protection of data against access by third parties is not possible.</p>
<h3>Information on the responsible party</h3>
<p>The party responsible for data processing on this website is:</p>
<p>
<strong>AegisSight UG (haftungsbeschränkt)</strong><br>
Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany<br><br>
Email: info@aegis-sight.de
</p>
<p>The responsible party is the natural or legal person who, alone or jointly with others, decides on the purposes and means of processing personal data (e.g. names, email addresses, etc.).</p>
<h3>Retention period</h3>
<p>Unless a more specific retention period has been mentioned within this privacy policy, your personal data will remain with us until the purpose of the data processing no longer applies. If you assert a justified request for deletion or revoke your consent to data processing, your data will be deleted unless we have other legally permissible reasons for storing your personal data (e.g. tax or commercial retention periods); in the latter case, deletion will take place after these reasons no longer apply.</p>
<h3>General information on the legal bases for data processing on this website</h3>
<p>If you have consented to the data processing, we process your personal data on the basis of Art. 6 (1) (a) GDPR or Art. 9 (2) (a) GDPR, if special categories of data are processed in accordance with Art. 9 (1) GDPR. In the event of express consent to the transfer of personal data to third countries, data processing is also carried out on the basis of Art. 49 (1) (a) GDPR. If you have consented to the storage of cookies or access to information on your terminal device (e.g. via device fingerprinting), the data processing is additionally based on § 25 (1) TDDDG. Consent can be revoked at any time. If your data is required for contract performance or pre-contractual measures, we process your data on the basis of Art. 6 (1) (b) GDPR. Furthermore, we process your data if necessary to comply with a legal obligation on the basis of Art. 6 (1) (c) GDPR. Data processing may further be carried out on the basis of our legitimate interest pursuant to Art. 6 (1) (f) GDPR. The respective legal bases applicable in individual cases are explained in the following paragraphs of this privacy policy.</p>
<h3>Recipients of personal data</h3>
<p>In the course of our business activities, we work with various external bodies. In some cases, this also requires the transfer of personal data to these external bodies. We only pass on personal data to external bodies if this is necessary in the context of fulfilling a contract, if we are legally obliged to do so (e.g. transfer of data to tax authorities), if we have a legitimate interest pursuant to Art. 6 (1) (f) GDPR in the transfer, or if another legal basis permits the data transfer. When using processors, we only pass on the personal data of our customers on the basis of a valid contract on commissioned processing. In the case of joint processing, a joint processing contract is concluded.</p>
<h3>Withdrawal of your consent to data processing</h3>
<p>Many data processing operations are only possible with your express consent. You can revoke consent that has already been given at any time. The lawfulness of data processing carried out until the revocation remains unaffected by the revocation.</p>
<h3>Right to object to data collection in special cases and to direct marketing (Art. 21 GDPR)</h3>
<div class="important-notice">
<p><strong>IF DATA PROCESSING IS CARRIED OUT ON THE BASIS OF ART. 6 (1) (E) OR (F) GDPR, YOU HAVE THE RIGHT AT ANY TIME TO OBJECT TO THE PROCESSING OF YOUR PERSONAL DATA ON GROUNDS RELATING TO YOUR PARTICULAR SITUATION; THIS ALSO APPLIES TO PROFILING BASED ON THESE PROVISIONS. THE RESPECTIVE LEGAL BASIS ON WHICH PROCESSING IS BASED CAN BE FOUND IN THIS PRIVACY POLICY. IF YOU OBJECT, WE WILL NO LONGER PROCESS YOUR PERSONAL DATA CONCERNED UNLESS WE CAN DEMONSTRATE COMPELLING LEGITIMATE GROUNDS FOR THE PROCESSING WHICH OVERRIDE YOUR INTERESTS, RIGHTS, AND FREEDOMS, OR THE PROCESSING SERVES TO ASSERT, EXERCISE, OR DEFEND LEGAL CLAIMS (OBJECTION PURSUANT TO ART. 21 (1) GDPR).</strong></p>
<p><strong>IF YOUR PERSONAL DATA IS PROCESSED FOR DIRECT MARKETING PURPOSES, YOU HAVE THE RIGHT TO OBJECT AT ANY TIME TO THE PROCESSING OF PERSONAL DATA CONCERNING YOU FOR THE PURPOSE OF SUCH MARKETING; THIS ALSO APPLIES TO PROFILING IN SO FAR AS IT IS RELATED TO SUCH DIRECT MARKETING. IF YOU OBJECT, YOUR PERSONAL DATA WILL SUBSEQUENTLY NO LONGER BE USED FOR DIRECT MARKETING PURPOSES (OBJECTION PURSUANT TO ART. 21 (2) GDPR).</strong></p>
</div>
<h3>Right of appeal to the competent supervisory authority</h3>
<p>In the event of breaches of the GDPR, data subjects have the right to lodge a complaint with a supervisory authority, in particular in the member state of their habitual residence, their place of work, or the place of the alleged breach. The right of appeal is without prejudice to other administrative or judicial remedies.</p>
<h3>Right to data portability</h3>
<p>You have the right to have data that we process automatically on the basis of your consent or in fulfilment of a contract handed over to you or to a third party in a common, machine-readable format. If you request the direct transfer of the data to another responsible party, this will only be done if technically feasible.</p>
<h3>Right to information, correction, and deletion</h3>
<p>Within the framework of the applicable legal provisions, you have the right at any time to free information about your stored personal data, its origin and recipients, and the purpose of data processing and, if necessary, the right to have this data corrected or deleted. You can contact us at any time regarding this and other questions on the subject of personal data.</p>
<h3>Right to restriction of processing</h3>
<p>You have the right to demand the restriction of the processing of your personal data. You can contact us at any time about this. The right to restriction of processing exists in the following cases:</p>
<ul>
<li>If you contest the accuracy of your personal data stored by us, we usually need time to verify this. For the duration of the verification, you have the right to demand the restriction of the processing of your personal data.</li>
<li>If the processing of your personal data took place / is taking place unlawfully, you can demand the restriction of data processing instead of deletion.</li>
<li>If we no longer need your personal data but you require it to assert, defend, or exercise legal claims, you have the right to demand the restriction of the processing of your personal data instead of deletion.</li>
<li>If you have lodged an objection pursuant to Art. 21 (1) GDPR, a balance must be struck between your interests and ours. As long as it has not yet been determined whose interests prevail, you have the right to demand the restriction of the processing of your personal data.</li>
</ul>
<p>If you have restricted the processing of your personal data, this data – apart from its storage – may only be processed with your consent or to assert, exercise, or defend legal claims, or to protect the rights of another natural or legal person, or for reasons of important public interest of the European Union or of a member state.</p>
<h3>SSL or TLS encryption</h3>
<p>For security reasons and to protect the transmission of confidential content, such as orders or enquiries that you send to us as the site operator, this site uses SSL or TLS encryption. You can recognise an encrypted connection by the fact that the address bar of the browser changes from "http://" to "https://" and by the lock symbol in your browser bar.</p>
<p>If SSL or TLS encryption is activated, the data you transmit to us cannot be read by third parties.</p>
<h3>Objection to promotional emails</h3>
<p>The use of contact data published in the context of the legal notice obligation to send unsolicited advertising and information material is hereby objected to. The operators of the pages expressly reserve the right to take legal action in the event of unsolicited sending of advertising information, e.g. through spam emails.</p>
</div>
<div class="legal-section">
<h2>4. Data collection on this website</h2>
<h3>Cookies</h3>
<p>Our websites use so-called "cookies". Cookies are small data packages and do not cause any damage to your terminal device. They are stored either temporarily for the duration of a session (session cookies) or permanently (permanent cookies) on your terminal device. Session cookies are automatically deleted at the end of your visit. Permanent cookies remain stored on your terminal device until you delete them yourself or until your web browser automatically deletes them.</p>
<p>Cookies can come from us (first-party cookies) or from third-party companies (so-called third-party cookies). Third-party cookies enable the integration of certain services from third-party companies within websites (e.g. cookies for handling payment services).</p>
<p>Cookies have various functions. Numerous cookies are technically necessary, since certain website functions would not work without them (e.g. the shopping cart function or the display of videos). Other cookies can be used to evaluate user behaviour or for advertising purposes.</p>
<p>Cookies that are required to carry out the electronic communication process, to provide certain functions you have requested (e.g. for the shopping cart function), or to optimise the website (e.g. cookies for measuring the web audience) are stored on the basis of Art. 6 (1) (f) GDPR (necessary cookies), unless another legal basis is specified. The website operator has a legitimate interest in storing necessary cookies for the technically error-free and optimised provision of its services. Where consent to the storage of cookies and comparable recognition technologies has been requested, processing is carried out exclusively on the basis of this consent (Art. 6 (1) (a) GDPR and § 25 (1) TDDDG); consent can be revoked at any time.</p>
<p>You can set your browser so that you are informed about the setting of cookies and only allow cookies in individual cases, exclude the acceptance of cookies for certain cases or in general, and activate the automatic deletion of cookies when closing the browser. If cookies are deactivated, the functionality of this website may be limited.</p>
<p>Which cookies and services are used on this website can be found in this privacy policy.</p>
</div>
<div class="legal-section">
<h2>5. Contact form and enquiries</h2>
<h3>Data collection via the contact form</h3>
<p>If you send us an enquiry via the contact form provided on our website, the information you provide in the form, including the contact details you provide, will be stored by us for the purpose of processing the enquiry and in case of follow-up questions. The following data is collected: name, organisation (optional), email address, and your message. Your data will not be passed on to third parties.</p>
<h3>Legal basis</h3>
<p>The processing of this data is based on Art. 6 (1) (b) GDPR if your enquiry is related to the performance of a contract or is necessary for the implementation of pre-contractual measures. In all other cases, the processing is based on our legitimate interest in the effective handling of enquiries addressed to us (Art. 6 (1) (f) GDPR) and/or on your consent (Art. 6 (1) (a) GDPR), where this has been requested; the consent can be revoked at any time.</p>
<h3>Retention period</h3>
<p>The data you enter in the contact form will remain with us until you ask us to delete it, revoke your consent to its storage, or the purpose for storing the data no longer applies (e.g. after your enquiry has been processed). Mandatory legal provisions – in particular retention periods – remain unaffected.</p>
<h3>Transmission</h3>
<p>Your enquiry is transmitted encrypted (TLS) to our server and forwarded from there as an email to info@aegis-sight.de. Email transmission is encrypted via mail servers in Germany (IONOS).</p>
</div>
<div class="legal-section">
<h2>6. Newsletter</h2>
<h3>Newsletter data</h3>
<p>If you would like to receive the newsletter offered on the website, we require an email address from you as well as information that allows us to verify that you are the owner of the email address provided and that you agree to receive the newsletter. No further data, or only data on a voluntary basis, will be collected. We use this data exclusively for sending the requested information and do not pass it on to third parties.</p>
<p>The processing of the data entered in the newsletter registration form is carried out exclusively on the basis of your consent (Art. 6 (1) (a) GDPR). You can revoke your consent to the storage of the data, the email address, and its use for sending the newsletter at any time, for example via the "unsubscribe" link in the newsletter. The lawfulness of the data processing operations already carried out remains unaffected by the revocation.</p>
<p>The data you provide for the purpose of receiving the newsletter is stored by us or by the newsletter service provider until you unsubscribe from the newsletter and is deleted from the newsletter distribution list after you unsubscribe from the newsletter or once the purpose no longer applies. We reserve the right to delete or block email addresses from our newsletter distribution list at our discretion within the scope of our legitimate interest pursuant to Art. 6 (1) (f) GDPR.</p>
<p>Data stored by us for other purposes remains unaffected by this.</p>
<p>After you have unsubscribed from the newsletter distribution list, your email address may be stored by us or by the newsletter service provider in a blacklist if necessary to prevent future mailings. The data from the blacklist will only be used for this purpose and will not be merged with other data. This serves both your interest and our interest in complying with the legal requirements when sending newsletters (legitimate interest within the meaning of Art. 6 (1) (f) GDPR). Storage in the blacklist is not subject to any time limit. <strong>You can object to the storage if your interests outweigh our legitimate interest.</strong></p>
</div>
<div class="legal-section">
<h2>7. Plugins and tools</h2>
<h3>AegisSight Analytics (Umami)</h3>
<p>We use AegisSight Analytics on this website, a self-hosted instance of the open-source analysis software Umami. With Umami, we collect anonymised information about the use of our website (e.g. pages visited, browser, approximate geographical region at country level) to improve our content.</p>
<p><strong>Self-hosted in Germany:</strong> All data remains on our server in Nuremberg, Germany (hosting: Hetzner). No transfer to third parties takes place.</p>
<p><strong>Cookieless and IP-anonymised:</strong> Umami does not set cookies and does not store any personal data. IP addresses are anonymised before storage (hashing). No cross-site tracking takes place.</p>
<p><strong>Legal basis and consent:</strong> Reach measurement is only activated after your consent via our cookie consent banner (Art. 6 (1) (a) GDPR in conjunction with § 25 (1) TDDDG). You can revoke your consent at any time via the footer link "Cookie settings". We respect the "Global Privacy Control" (GPC) signal of your browser and automatically deactivate reach measurement in this case.</p>
<h3>Google Fonts (local hosting)</h3>
<p>This site uses so-called Google Fonts provided by Google for the uniform display of fonts. The Google Fonts are installed locally. A connection to Google servers does not take place.</p>
<p>Further information on Google Fonts can be found at <a href="https://developers.google.com/fonts/faq" target="_blank" rel="noopener">https://developers.google.com/fonts/faq</a> and in Google's privacy policy: <a href="https://policies.google.com/privacy?hl=en" target="_blank" rel="noopener">https://policies.google.com/privacy?hl=en</a>.</p>
</div>
<div class="legal-section">
<h2>8. Automated access and AI agents</h2>
<h3>Prohibition of automated access</h3>
<p>Automated querying, scraping, or crawling of this website by bots, spiders, scrapers, AI agents (including LLM-based systems), "buy-for-me" agents, or similar automated tools is prohibited without our express written permission.</p>
<p>This applies in particular to:</p>
<ul>
<li>Automated data collection and extraction</li>
<li>Training of AI models with content from this website</li>
<li>Automated end-to-end processes without human review</li>
<li>Systematic reading of content by automated systems</li>
</ul>
<p>Violations of this provision may be prosecuted under civil and criminal law. The instructions contained in our robots.txt file are binding and form part of these terms of use.</p>
<h3>Exceptions</h3>
<p>Search engine crawlers that comply with the specifications of our robots.txt are exempt from this prohibition, as are services to which we have expressly granted permission.</p>
</div>
<div class="source-note">
<p>Source: <a href="https://www.e-recht24.de" target="_blank" rel="noopener">https://www.e-recht24.de</a></p>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,258 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Situation report: Cyberattacks on German infrastructure - AegisSight</title>
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/lagen/cyberangriffe/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/situations/cyber-attacks/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/lagen/cyberangriffe/">
<meta name="description" content="Live situation report on cyberattacks against German infrastructure: AI-OSINT analysis, automated fact-checking, geographic mapping. Continuously updated.">
<link rel="canonical" href="https://aegis-sight.de/en/situations/cyber-attacks/">
<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="Situation report: Cyberattacks on German infrastructure - AegisSight">
<meta property="og:description" content="Live situation report on cyberattacks against German infrastructure: AI-OSINT analysis, automated fact-checking, geographic mapping. Continuously updated.">
<meta property="og:url" content="https://aegis-sight.de/en/situations/cyber-attacks/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Situation report: Cyberattacks on German infrastructure - AegisSight">
<meta name="twitter:description" content="Live situation report on cyberattacks against German infrastructure: AI-OSINT analysis, automated fact-checking, geographic mapping. Continuously updated.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<!-- Schema.org NewsArticle (AEO/GEO: quotable live situation report) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"@id": "https://aegis-sight.de/en/situations/cyber-attacks/#article",
"headline": "Situation report: Cyberattacks on German infrastructure",
"name": "Situation report: Cyberattacks on German infrastructure",
"description": "Live situation report on cyberattacks against German infrastructure: AI-OSINT analysis, automated fact-checking, geographic mapping. Continuously updated.",
"url": "https://aegis-sight.de/en/situations/cyber-attacks/",
"image": "https://aegis-sight.de/assets/images/og-image.png",
"inLanguage": "en-GB",
"isAccessibleForFree": true,
"datePublished": "2026-01-08",
"dateModified": "2026-05-17",
"articleSection": "Cybersecurity",
"temporalCoverage": "2024-01-01/..",
"keywords": ["Cyberattack", "Germany", "Critical infrastructure", "KRITIS", "OSINT", "BSI", "Cybersecurity", "Real-time situation report"],
"about": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Thing", "name": "Critical infrastructure" },
{ "@type": "Thing", "name": "Cybersecurity" }
],
"isBasedOn": "https://aegis-sight.de/lagen/cyberangriffe/data/current.json",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": ["#incident-title", "#ueberblick-content", "#summary-content"]
},
"author": { "@id": "https://aegis-sight.de/#organization" },
"publisher": { "@id": "https://aegis-sight.de/#organization" }
}
</script>
<!-- Schema.org Dataset (situation data as machine-readable set) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dataset",
"@id": "https://aegis-sight.de/en/situations/cyber-attacks/#dataset",
"name": "Cyberattacks on German infrastructure – situation data",
"description": "Aggregated OSINT situation data on cyberattacks against German authorities, businesses and critical infrastructure. Continuously curated list with fact-checks, sources and geographic mapping. Updated every 5 minutes.",
"url": "https://aegis-sight.de/en/situations/cyber-attacks/",
"inLanguage": "en-GB",
"isAccessibleForFree": true,
"datePublished": "2026-01-08",
"dateModified": "2026-05-17",
"temporalCoverage": "2024-01-01/..",
"keywords": ["Cyberattack", "Germany", "KRITIS", "OSINT", "situation report", "real-time data"],
"creator": { "@id": "https://aegis-sight.de/#organization" },
"publisher": { "@id": "https://aegis-sight.de/#organization" },
"isBasedOn": { "@id": "https://aegis-sight.de/#osint-service" },
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "application/json",
"contentUrl": "https://aegis-sight.de/lagen/cyberangriffe/data/current.json"
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/fonts.css">
<link rel="stylesheet" href="/css/mobile.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/lagen/iran-konflikt/lagebild.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/leaflet.css" />
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.Default.css">
<link rel="stylesheet" href="/cookie-consent.css">
<script>window.LAGEBILD_DATA_BASE = '/lagen/cyberangriffe/';</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "AegisSight",
"item": "https://aegis-sight.de/en/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Cyberattacks on German Infrastructure",
"item": "https://aegis-sight.de/en/situations/cyber-attacks/"
}
]
}
</script>
</head>
<body class="lagebild-page">
<div class="scroll-progress" id="scroll-progress"></div>
<nav class="navbar" role="navigation">
<div class="nav-container">
<div class="logo">
<a href="/en/"><img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40"></a>
</div>
<ul class="nav-menu">
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/cyberangriffe/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span class="hamburger"><span></span><span></span><span></span></span>
</button>
</div>
</div>
</nav>
<div class="nav-menu-mobile" aria-hidden="true">
<button class="mobile-menu-close" aria-label="Close menu">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/></svg>
</button>
<ul>
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/cyberangriffe/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-menu-overlay"></div>
<section class="lagebild-hero">
<canvas id="hero-particles"></canvas>
<div class="hero-bg-pattern"></div>
<div class="container">
<h1 id="hero-title">SITUATION REPORT</h1>
<p class="hero-incident-title" id="incident-title">Cyberattacks on German Infrastructure</p>
<div class="hero-stats" id="hero-stats"></div>
</div>
</section>
<div class="control-bar">
<div class="container">
<div class="timeline-wrapper">
<div class="timeline-strip" id="timeline-strip"></div>
<div class="timeline-dropdown" id="timeline-dropdown"></div>
</div>
<div class="tab-nav" id="tab-nav">
<button class="tab-btn active" data-tab="ueberblick">Latest Developments</button>
<button class="tab-btn" data-tab="lagebild">Briefing</button>
<button class="tab-btn" data-tab="karte">Map</button>
<button class="tab-btn" data-tab="faktenchecks">Fact Checks <span class="tab-badge" id="tab-badge-faktenchecks"></span></button>
<button class="tab-btn" data-tab="quellen">Sources <span class="tab-badge" id="tab-badge-quellen"></span></button>
</div>
</div>
</div>
<main class="lagebild-main">
<div class="container">
<div class="tab-panel active" id="panel-ueberblick">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="ueberblick-title">Latest Developments</h2>
<span class="card-timestamp" id="ueberblick-timestamp"></span>
</div>
<div class="card-body" id="ueberblick-content">
<div class="loading-skeleton"><div class="skeleton-line"></div><div class="skeleton-line"></div><div class="skeleton-line short"></div></div>
</div>
</section>
</div>
<div class="tab-panel" id="panel-lagebild">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="lagebild-date-title">Briefing</h2>
<span class="card-timestamp" id="lagebild-timestamp"></span>
</div>
<div class="card-body" id="summary-content">
<div class="loading-skeleton"><div class="skeleton-line"></div><div class="skeleton-line"></div><div class="skeleton-line short"></div></div>
</div>
<div class="card-footer" id="inline-sources"></div>
</section>
</div>
<div class="tab-panel" id="panel-quellen">
<section class="content-card">
<div class="card-header"><h2>Sources</h2><p class="card-description">All sources monitored by AegisSight Monitor</p></div>
<div class="card-body" id="sources-grid-container"><div class="loading-skeleton"><div class="skeleton-line"></div><div class="skeleton-line short"></div></div></div>
</section>
</div>
<div class="tab-panel" id="panel-karte">
<section class="content-card">
<div class="card-header"><h2>Map</h2><p class="card-description">Geographic distribution of reports</p></div>
<div class="card-body"><div id="map-container" style="height:500px;border-radius:4px;overflow:hidden;"></div></div>
</section>
</div>
<div class="tab-panel" id="panel-faktenchecks">
<section class="content-card">
<div class="card-header"><h2>Fact Checks</h2><p class="card-description">AI-powered verification of all key statements against independent sources.</p></div>
<div class="card-body" id="factchecks-content"></div>
</section>
</div>
</div>
</main>
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-section"><h4>AegisSight UG (haftungsbeschränkt)</h4><p>Gladbacher Strasse 3-5</p><p>40764 Langenfeld, Germany</p></div>
<div class="footer-section"><h4>Navigation</h4><ul><li><a href="/en/">Home</a></li><li><a href="/en/#features">Features</a></li><li><a href="/en/#demos">Live Reports</a></li><li><a href="/en/#trust">About Us</a></li><li><a href="/en/#contact">Contact</a></li></ul></div>
<div class="footer-section"><h4>Legal</h4><ul><li><a href="/en/legal-notice.html">Legal notice</a></li><li><a href="/en/privacy.html">Privacy policy</a></li><li><a href="#" id="cookie-settings-link">Cookie settings</a></li></ul></div>
<div class="footer-section"><h4>Contact</h4><p>info@aegis-sight.de</p></div>
</div>
<p class="copyright">&copy; 2026 AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script src="/js/mobile-nav.js"></script>
<script src="/assets/vendor/leaflet/leaflet.js"></script>
<script src="/assets/vendor/leaflet/leaflet.markercluster.js"></script>
<script src="/lagen/iran-konflikt/lagebild.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Research: Legal status of deepfakes in Germany - AegisSight</title>
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/lagen/deepfakes/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/situations/deepfakes/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/lagen/deepfakes/">
<meta name="description" content="Research briefing on the legal status of deepfakes in Germany: AI-driven analysis of case law, legislation and media coverage.">
<link rel="canonical" href="https://aegis-sight.de/en/situations/deepfakes/">
<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="Research briefing: Legal status of deepfakes in Germany - AegisSight">
<meta property="og:description" content="Research briefing on the legal status of deepfakes in Germany: AI-driven analysis of case law, legislation and media coverage.">
<meta property="og:url" content="https://aegis-sight.de/en/situations/deepfakes/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Research briefing: Legal status of deepfakes in Germany - AegisSight">
<meta name="twitter:description" content="Research briefing on the legal status of deepfakes in Germany: AI-driven analysis of case law, legislation and media coverage.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<!-- Schema.org Article (AEO/GEO: quotable research briefing) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://aegis-sight.de/en/situations/deepfakes/#article",
"headline": "Research briefing: Legal status of deepfakes in Germany",
"name": "Research briefing: Legal status of deepfakes in Germany",
"description": "Research briefing on the legal status of deepfakes in Germany: AI-driven analysis of case law, legislation and media coverage.",
"url": "https://aegis-sight.de/en/situations/deepfakes/",
"image": "https://aegis-sight.de/assets/images/og-image.png",
"inLanguage": "en-GB",
"isAccessibleForFree": true,
"datePublished": "2026-01-08",
"dateModified": "2026-05-17",
"articleSection": "Law and Regulation",
"temporalCoverage": "2023-01-01/..",
"keywords": ["Deepfake", "Law", "Germany", "Case law", "Legislation", "AI regulation", "Digital Services Act", "Personality rights"],
"about": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Thing", "name": "Deepfakes" },
{ "@type": "Thing", "name": "Case law" },
{ "@type": "Thing", "name": "AI regulation" }
],
"isBasedOn": "https://aegis-sight.de/lagen/deepfakes/data/current.json",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": ["#incident-title", "#ueberblick-content", "#summary-content"]
},
"author": { "@id": "https://aegis-sight.de/#organization" },
"publisher": { "@id": "https://aegis-sight.de/#organization" }
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/fonts.css">
<link rel="stylesheet" href="/css/mobile.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/lagen/iran-konflikt/lagebild.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/leaflet.css" />
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.Default.css">
<link rel="stylesheet" href="/cookie-consent.css">
<script>window.LAGEBILD_DATA_BASE = '/lagen/deepfakes/';</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "AegisSight",
"item": "https://aegis-sight.de/en/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Legal Status of Deepfakes",
"item": "https://aegis-sight.de/en/situations/deepfakes/"
}
]
}
</script>
</head>
<body class="lagebild-page">
<!-- Scroll Progress Bar -->
<div class="scroll-progress" id="scroll-progress"></div>
<!-- Navigation -->
<nav class="navbar" role="navigation">
<div class="nav-container">
<div class="logo">
<a href="/en/"><img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40"></a>
</div>
<ul class="nav-menu">
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/deepfakes/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span class="hamburger"><span></span><span></span><span></span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Navigation -->
<div class="nav-menu-mobile" aria-hidden="true">
<button class="mobile-menu-close" aria-label="Close menu">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/></svg>
</button>
<ul>
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/deepfakes/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-menu-overlay"></div>
<!-- Hero Section -->
<section class="lagebild-hero">
<canvas id="hero-particles"></canvas>
<div class="hero-bg-pattern"></div>
<div class="container">
<h1 id="hero-title">RESEARCH BRIEFING</h1>
<p class="hero-incident-title" id="incident-title">Legal Status of Deepfakes in Germany</p>
<div class="hero-stats" id="hero-stats"></div>
</div>
</section>
<!-- Control Bar: Timeline + Tabs -->
<div class="control-bar">
<div class="container">
<div class="timeline-wrapper">
<div class="timeline-strip" id="timeline-strip"></div>
<div class="timeline-dropdown" id="timeline-dropdown"></div>
</div>
<div class="tab-nav" id="tab-nav">
<button class="tab-btn active" data-tab="ueberblick">Summary</button>
<button class="tab-btn" data-tab="lagebild">Research</button>
<button class="tab-btn" data-tab="karte">Map</button>
<button class="tab-btn" data-tab="faktenchecks">Fact Checks <span class="tab-badge" id="tab-badge-faktenchecks"></span></button>
<button class="tab-btn" data-tab="quellen">Sources <span class="tab-badge" id="tab-badge-quellen"></span></button>
</div>
</div>
</div>
<!-- Main Content -->
<main class="lagebild-main">
<div class="container">
<!-- Tab: Summary -->
<div class="tab-panel active" id="panel-ueberblick">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="ueberblick-title">Summary</h2>
<span class="card-timestamp" id="ueberblick-timestamp"></span>
</div>
<div class="card-body" id="ueberblick-content">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
</section>
</div>
<!-- Tab: Research -->
<div class="tab-panel" id="panel-lagebild">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="lagebild-date-title">Research</h2>
<span class="card-timestamp" id="lagebild-timestamp"></span>
</div>
<div class="card-body" id="summary-content">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
<div class="card-footer" id="inline-sources"></div>
</section>
</div>
<!-- Tab: Sources -->
<div class="tab-panel" id="panel-quellen">
<section class="content-card">
<div class="card-header">
<h2>Sources</h2>
<p class="card-description">All sources analysed by AegisSight Monitor</p>
</div>
<div class="card-body" id="sources-grid-container">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
</section>
</div>
<!-- Tab: Map -->
<div class="tab-panel" id="panel-karte">
<section class="content-card">
<div class="card-header">
<h2>Map</h2>
<p class="card-description">Geographic distribution of sources</p>
</div>
<div class="card-body">
<div id="map-container" style="height:500px;border-radius:4px;overflow:hidden;"></div>
</div>
</section>
</div>
<!-- Tab: Fact Checks -->
<div class="tab-panel" id="panel-faktenchecks">
<section class="content-card">
<div class="card-header">
<h2>Fact Checks</h2>
<p class="card-description">AI-powered verification of all key statements against independent sources.</p>
</div>
<div class="card-body" id="factchecks-content"></div>
</section>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-section">
<h4>AegisSight UG (haftungsbeschränkt)</h4>
<p>Gladbacher Strasse 3-5</p>
<p>40764 Langenfeld, Germany</p>
</div>
<div class="footer-section">
<h4>Navigation</h4>
<ul>
<li><a href="/en/">Home</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="/en/legal-notice.html">Legal notice</a></li>
<li><a href="/en/privacy.html">Privacy policy</a></li>
<li><a href="#" id="cookie-settings-link">Cookie settings</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p>info@aegis-sight.de</p>
</div>
</div>
<p class="copyright">&copy; 2026 AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<!-- Scripts -->
<script src="/js/mobile-nav.js"></script>
<script src="/assets/vendor/leaflet/leaflet.js"></script>
<script src="/assets/vendor/leaflet/leaflet.markercluster.js"></script>
<script src="/lagen/iran-konflikt/lagebild.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,330 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Situation report: Iran conflict - AegisSight</title>
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/lagen/iran-konflikt/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/situations/iran-conflict/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/lagen/iran-konflikt/">
<meta name="description" content="Live situation report on the Iran conflict: AI-driven OSINT analysis of hundreds of sources, automated fact-checking, geographic mapping and timeline.">
<link rel="canonical" href="https://aegis-sight.de/en/situations/iran-conflict/">
<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="Situation report: Iran conflict - AegisSight">
<meta property="og:description" content="Live situation report on the Iran conflict: AI-driven OSINT analysis of hundreds of sources, automated fact-checking, geographic mapping and timeline.">
<meta property="og:url" content="https://aegis-sight.de/en/situations/iran-conflict/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Situation report: Iran conflict - AegisSight">
<meta name="twitter:description" content="Live situation report on the Iran conflict: AI-driven OSINT analysis of hundreds of sources, automated fact-checking, geographic mapping and timeline.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<!-- Schema.org NewsArticle (AEO/GEO: quotable live situation report) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"@id": "https://aegis-sight.de/en/situations/iran-conflict/#article",
"headline": "Situation report: Iran conflict",
"name": "Situation report: Iran conflict",
"description": "Live situation report on the Iran conflict: AI-driven OSINT analysis of hundreds of sources, automated fact-checking, geographic mapping and timeline.",
"url": "https://aegis-sight.de/en/situations/iran-conflict/",
"image": "https://aegis-sight.de/assets/images/og-image.png",
"inLanguage": "en-GB",
"isAccessibleForFree": true,
"datePublished": "2026-01-08",
"dateModified": "2026-05-17",
"articleSection": "International Security",
"temporalCoverage": "2024-04-13/..",
"keywords": ["Iran", "Iran conflict", "Middle East", "OSINT", "real-time situation report", "AI fact-checking", "security situation"],
"about": [
{ "@type": "Place", "name": "Iran" },
{ "@type": "Thing", "name": "International security" }
],
"isBasedOn": "https://aegis-sight.de/lagen/iran-konflikt/data/current.json",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": ["#incident-title", "#ueberblick-content", "#summary-content"]
},
"author": { "@id": "https://aegis-sight.de/#organization" },
"publisher": { "@id": "https://aegis-sight.de/#organization" }
}
</script>
<!-- Schema.org Dataset (situation data as machine-readable set) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dataset",
"@id": "https://aegis-sight.de/en/situations/iran-conflict/#dataset",
"name": "Iran conflict situation report – data",
"description": "Aggregated OSINT situation data on the Iran conflict: continuously curated list of news items, fact-checks, sources and geographic mappings. Updated every 5 minutes.",
"url": "https://aegis-sight.de/en/situations/iran-conflict/",
"inLanguage": "en-GB",
"isAccessibleForFree": true,
"datePublished": "2026-01-08",
"dateModified": "2026-05-17",
"temporalCoverage": "2024-04-13/..",
"keywords": ["Iran", "OSINT", "situation report", "fact-checking", "real-time data"],
"creator": { "@id": "https://aegis-sight.de/#organization" },
"publisher": { "@id": "https://aegis-sight.de/#organization" },
"isBasedOn": { "@id": "https://aegis-sight.de/#osint-service" },
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "application/json",
"contentUrl": "https://aegis-sight.de/lagen/iran-konflikt/data/current.json"
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/fonts.css">
<link rel="stylesheet" href="/css/mobile.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/lagen/iran-konflikt/lagebild.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/leaflet.css" />
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.css">
<link rel="stylesheet" href="/assets/vendor/leaflet/MarkerCluster.Default.css">
<link rel="stylesheet" href="/cookie-consent.css">
<script>window.LAGEBILD_DATA_BASE = '/lagen/iran-konflikt/';</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "AegisSight",
"item": "https://aegis-sight.de/en/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Iran Conflict",
"item": "https://aegis-sight.de/en/situations/iran-conflict/"
}
]
}
</script>
</head>
<body class="lagebild-page">
<!-- Scroll Progress Bar -->
<div class="scroll-progress" id="scroll-progress"></div>
<!-- Navigation -->
<nav class="navbar" role="navigation">
<div class="nav-container">
<div class="logo">
<a href="/en/"><img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40"></a>
</div>
<ul class="nav-menu">
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/iran-konflikt/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span class="hamburger"><span></span><span></span><span></span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Navigation -->
<div class="nav-menu-mobile" aria-hidden="true">
<button class="mobile-menu-close" aria-label="Close menu">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/></svg>
</button>
<ul>
<li><a href="/en/">Home</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/lagen/iran-konflikt/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-menu-overlay"></div>
<!-- Hero Section -->
<section class="lagebild-hero">
<canvas id="hero-particles"></canvas>
<div class="hero-bg-pattern"></div>
<div class="container">
<h1 id="hero-title">SITUATION REPORT</h1>
<p class="hero-incident-title" id="incident-title">Iran Conflict</p>
<!-- Stat Cards -->
<div class="hero-stats" id="hero-stats"></div>
</div>
</section>
<!-- Control Bar: Timeline + Tabs -->
<div class="control-bar">
<div class="container">
<div class="timeline-wrapper">
<div class="timeline-strip" id="timeline-strip"></div>
<div class="timeline-dropdown" id="timeline-dropdown"></div>
</div>
<div class="tab-nav" id="tab-nav">
<button class="tab-btn active" data-tab="ueberblick">Latest Developments</button>
<button class="tab-btn" data-tab="lagebild">Briefing</button>
<button class="tab-btn" data-tab="karte">Map</button>
<button class="tab-btn" data-tab="faktenchecks">Fact Checks <span class="tab-badge" id="tab-badge-faktenchecks"></span></button>
<button class="tab-btn" data-tab="quellen">Sources <span class="tab-badge" id="tab-badge-quellen"></span></button>
</div>
</div>
</div>
<!-- Main Content -->
<main class="lagebild-main">
<div class="container">
<!-- Tab: Latest Developments / Summary -->
<div class="tab-panel active" id="panel-ueberblick">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="ueberblick-title">Latest Developments</h2>
<span class="card-timestamp" id="ueberblick-timestamp"></span>
</div>
<div class="card-body" id="ueberblick-content">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
</section>
</div>
<!-- Tab: Briefing -->
<div class="tab-panel" id="panel-lagebild">
<p class="data-source-note">Data provided by AegisSight Monitor</p>
<section class="content-card">
<div class="card-header">
<h2 id="lagebild-date-title">Briefing</h2>
<span class="card-timestamp" id="lagebild-timestamp"></span>
</div>
<div class="card-body" id="summary-content">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
<div class="card-footer" id="inline-sources"></div>
</section>
</div>
<!-- Tab: Sources -->
<div class="tab-panel" id="panel-quellen">
<section class="content-card">
<div class="card-header">
<h2>Sources</h2>
<p class="card-description">All sources monitored by AegisSight Monitor</p>
</div>
<div class="card-body" id="sources-grid-container">
<div class="loading-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line short"></div>
</div>
</div>
</section>
</div>
<!-- Tab: Map -->
<div class="tab-panel" id="panel-karte">
<section class="content-card">
<div class="card-header">
<h2>Map</h2>
<p class="card-description">Geographic distribution of reports</p>
</div>
<div class="card-body">
<div id="map-container" style="height:500px;border-radius:4px;overflow:hidden;"></div>
</div>
</section>
</div>
<!-- Tab: Fact Checks -->
<div class="tab-panel" id="panel-faktenchecks">
<section class="content-card">
<div class="card-header">
<h2>Fact Checks</h2>
<p class="card-description">AI-powered verification of all key statements against independent sources. Statements are continuously checked against new sources – when new evidence appears, the status is updated automatically.</p>
</div>
<div class="card-body" id="factchecks-content"></div>
</section>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-section">
<h4>AegisSight UG (haftungsbeschränkt)</h4>
<p>Gladbacher Strasse 3-5</p>
<p>40764 Langenfeld, Germany</p>
</div>
<div class="footer-section">
<h4>Navigation</h4>
<ul>
<li><a href="/en/">Home</a></li>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="/en/legal-notice.html">Legal notice</a></li>
<li><a href="/en/privacy.html">Privacy policy</a></li>
<li><a href="#" id="cookie-settings-link">Cookie settings</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p>info@aegis-sight.de</p>
</div>
</div>
<p class="copyright">&copy; 2026 AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<!-- Scripts -->
<script src="/js/mobile-nav.js"></script>
<script src="/assets/vendor/leaflet/leaflet.js"></script>
<script src="/assets/vendor/leaflet/leaflet.markercluster.js"></script>
<script src="/lagen/iran-konflikt/lagebild.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,280 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Disinformation Monitoring &amp; FIMI Detection | AegisSight</title>
<meta name="description" content="Disinformation monitoring with AegisSight: detect manipulation and FIMI in open sources early – through automatic fact-checking and transparent source assessment.">
<link rel="canonical" href="https://aegis-sight.de/en/solutions/disinformation-monitoring/">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/loesungen/desinformationsmonitoring/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/solutions/disinformation-monitoring/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/loesungen/desinformationsmonitoring/">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="Disinformation Monitoring &amp; FIMI Detection | AegisSight">
<meta property="og:description" content="Detect disinformation and FIMI in open sources early – with automatic fact-checking and transparent source assessment.">
<meta property="og:url" content="https://aegis-sight.de/en/solutions/disinformation-monitoring/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Disinformation Monitoring &amp; FIMI Detection | AegisSight">
<meta name="twitter:description" content="Detect disinformation and FIMI in open sources early – with automatic fact-checking and transparent source assessment.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://aegis-sight.de/en/solutions/disinformation-monitoring/#service",
"name": "Disinformation Monitoring",
"serviceType": "Disinformation monitoring and FIMI detection",
"provider": { "@id": "https://aegis-sight.de/#organization" },
"areaServed": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Country", "name": "Austria" },
{ "@type": "Country", "name": "Switzerland" },
{ "@type": "AdministrativeArea", "name": "European Union" }
],
"audience": {
"@type": "BusinessAudience",
"audienceType": "Government agencies, media regulators, newsrooms and strategic communications"
},
"description": "OSINT-based disinformation monitoring: continuous observation of open sources, automatic fact-checking against independent sources, and transparent source assessment using external signals such as IFCN and EUvsDisinfo. Supports the early detection of disinformation and foreign information manipulation and interference (FIMI)."
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "AegisSight", "item": "https://aegis-sight.de/en/" },
{ "@type": "ListItem", "position": 2, "name": "Disinformation Monitoring & FIMI", "item": "https://aegis-sight.de/en/solutions/disinformation-monitoring/" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"inLanguage": "en-GB",
"mainEntity": [
{
"@type": "Question",
"name": "What does FIMI mean?",
"acceptedAnswer": { "@type": "Answer", "text": "FIMI stands for Foreign Information Manipulation and Interference. The term, coined by the EU, describes mostly non-illegal but manipulative and coordinated influence on the information environment by foreign actors." }
},
{
"@type": "Question",
"name": "Does AegisSight detect disinformation automatically?",
"acceptedAnswer": { "@type": "Answer", "text": "AegisSight supports detection: every central claim is automatically checked against several independent sources, and sources are assessed transparently. Contradictions and unsubstantiated claims become visible. The final judgement remains with the expert analysts." }
},
{
"@type": "Question",
"name": "Which external signals does the source assessment use?",
"acceptedAnswer": { "@type": "Answer", "text": "The source classification combines a four-axis assessment scheme (methodology, transparency, independence, track record) with external signals such as IFCN membership and the EUvsDisinfo database." }
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style>
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
.sol-hero { background: var(--navy); color: #E6ECF5; padding: calc(var(--nav-height) + 64px) 0 64px; }
.sol-container { max-width: 880px; margin: 0 auto; padding: 0 24px; }
.sol-breadcrumb { font-size: 0.85rem; color: #9FB0C8; margin: 0 0 18px; }
.sol-breadcrumb a { color: #9FB0C8; text-decoration: none; }
.sol-breadcrumb a:hover { color: var(--gold-light); }
.sol-hero h1 { font-size: 2.4rem; font-weight: 700; color: #FFFFFF; margin: 0 0 16px; line-height: 1.2; }
.sol-hero .sol-lead { font-size: 1.15rem; line-height: 1.7; color: #C6D2E4; margin: 0 0 28px; }
.sol-cta-btn { display: inline-block; background: var(--gold); color: var(--navy); font-weight: 600; text-decoration: none; padding: 13px 28px; border-radius: 8px; transition: background .2s; }
.sol-cta-btn:hover { background: var(--gold-light); }
.sol-body { padding: 56px 0; }
.sol-section { margin-bottom: 44px; }
.sol-section:last-child { margin-bottom: 0; }
.sol-section h2 { font-size: 1.6rem; font-weight: 700; color: var(--navy); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.sol-section p { margin: 0 0 14px; line-height: 1.75; color: var(--text); font-size: 1rem; }
.sol-section strong { color: var(--navy); font-weight: 600; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 8px; }
.feature-card { background: var(--base); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: 22px 24px; }
.feature-card h3 { font-size: 1.08rem; font-weight: 600; color: var(--navy); margin: 0 0 8px; }
.feature-card p { font-size: 0.95rem; margin: 0; color: var(--text-light); line-height: 1.65; }
.step-list { counter-reset: step; list-style: none; margin: 0; padding: 0; }
.step-list li { position: relative; padding: 0 0 18px 52px; line-height: 1.7; color: var(--text); }
.step-list li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0; width: 34px; height: 34px; background: var(--navy); color: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.95rem; }
.step-list li strong { display: block; color: var(--navy); margin-bottom: 2px; }
details.sol-faq { border: 1px solid var(--gray-100); border-radius: 8px; margin-bottom: 10px; padding: 0; background: var(--base); }
details.sol-faq summary { padding: 16px 20px; cursor: pointer; font-weight: 600; color: var(--navy); list-style: none; }
details.sol-faq summary::-webkit-details-marker { display: none; }
details.sol-faq .a { padding: 0 20px 16px; color: var(--text); line-height: 1.7; font-size: 0.97rem; }
.sol-related { background: var(--base); border-radius: var(--radius-lg); padding: 28px 30px; margin-top: 8px; }
.sol-related h2 { border: none; padding: 0; margin: 0 0 14px; font-size: 1.3rem; }
.sol-related a { display: block; color: var(--gold-dark); text-decoration: none; font-weight: 600; padding: 6px 0; }
.sol-related a:hover { color: var(--gold); }
.sol-final-cta { background: var(--navy); color: #E6ECF5; text-align: center; padding: 48px 24px; border-radius: var(--radius-lg); margin-top: 8px; }
.sol-final-cta h2 { color: #FFFFFF; border: none; padding: 0; margin: 0 0 10px; }
.sol-final-cta p { color: #C6D2E4; margin: 0 0 22px; }
@media (max-width: 768px) {
.sol-hero h1 { font-size: 1.85rem; }
.sol-container { padding: 0 16px; }
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="/en/" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/desinformationsmonitoring/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/desinformationsmonitoring/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<main>
<header class="sol-hero">
<div class="sol-container">
<nav class="sol-breadcrumb" aria-label="Breadcrumb">
<a href="/en/">Home</a> &rsaquo; Disinformation Monitoring &amp; FIMI
</nav>
<h1>Disinformation Monitoring: Detect Manipulation in Open Sources Early</h1>
<p class="sol-lead">AegisSight helps government agencies, media regulators and newsrooms detect disinformation and foreign information manipulation (FIMI) in open sources early – with automatic fact-checking and traceable source assessment.</p>
<a class="sol-cta-btn" href="/en/#contact">Request access</a>
</div>
</header>
<div class="sol-body">
<div class="sol-container">
<section class="sol-section">
<h2>What is disinformation monitoring and FIMI?</h2>
<p><strong>Disinformation monitoring</strong> is the continuous observation of the information environment for manipulative, misleading or coordinated content. The goal is to make problematic narratives visible early, before they spread.</p>
<p><strong>FIMI</strong> (Foreign Information Manipulation and Interference) is a term coined by the EU for foreign information manipulation and interference – mostly non-illegal but manipulative and coordinated influence on the information environment by foreign actors.</p>
</section>
<section class="sol-section">
<h2>How AegisSight supports detection</h2>
<p>AegisSight is not a black box that simply stamps content as "true" or "false". Instead, the software creates the evidence-backed basis on which experts can identify manipulation:</p>
<ol class="step-list">
<li><strong>Fact-checking</strong>Every central claim is automatically compared against several independent sources; matches and contradictions are shown transparently.</li>
<li><strong>Source assessment</strong>Sources are classified by a four-axis scheme (methodology, transparency, independence, track record), complemented by external signals such as IFCN and EUvsDisinfo.</li>
<li><strong>Tracking narratives</strong>Across hundreds of multilingual sources, it becomes visible where a claim originates and how it spreads.</li>
</ol>
</section>
<section class="sol-section">
<h2>Key features at a glance</h2>
<div class="feature-grid">
<div class="feature-card"><h3>Automatic fact-checking</h3><p>Central claims are checked against independent sources and rated transparently.</p></div>
<div class="feature-card"><h3>Source classification</h3><p>Four-axis scheme: methodology, transparency, independence and track record.</p></div>
<div class="feature-card"><h3>EUvsDisinfo &amp; IFCN signals</h3><p>Established external signals feed into the source assessment.</p></div>
<div class="feature-card"><h3>Multilingual analysis</h3><p>Manipulative narratives are often in foreign languages – AegisSight translates automatically.</p></div>
<div class="feature-card"><h3>Evidence &amp; timeline</h3><p>Every assessment is linked to original sources and traceable over time.</p></div>
<div class="feature-card"><h3>Geographic mapping</h3><p>Reports and narratives are placed spatially.</p></div>
</div>
</section>
<section class="sol-section">
<h2>Who disinformation monitoring is for</h2>
<p>The solution is built for <strong>security agencies</strong> and crisis teams, <strong>media regulators</strong>, investigative <strong>newsrooms</strong>, and teams in <strong>strategic communications</strong> and crisis communications who need to keep a reliable eye on the information environment.</p>
</section>
<section class="sol-section">
<h2>Frequently asked questions</h2>
<details class="sol-faq"><summary>What does FIMI mean?</summary><div class="a">FIMI stands for Foreign Information Manipulation and Interference. The term, coined by the EU, describes mostly non-illegal but manipulative and coordinated influence on the information environment by foreign actors.</div></details>
<details class="sol-faq"><summary>Does AegisSight detect disinformation automatically?</summary><div class="a">AegisSight supports detection: every central claim is automatically checked against several independent sources, and sources are assessed transparently. Contradictions and unsubstantiated claims become visible. The final judgement remains with the expert analysts.</div></details>
<details class="sol-faq"><summary>Which external signals does the source assessment use?</summary><div class="a">The source classification combines a four-axis assessment scheme (methodology, transparency, independence, track record) with external signals such as IFCN membership and the EUvsDisinfo database.</div></details>
</section>
<section class="sol-section sol-related-wrap">
<div class="sol-related">
<h2>More solutions</h2>
<a href="/en/solutions/osint-situational-awareness-software/">OSINT &amp; Situational Awareness Software &rsaquo;</a>
<a href="/en/solutions/social-media-monitoring-government/">Social Media &amp; Crisis Monitoring for Government &rsaquo;</a>
</div>
</section>
<section class="sol-section">
<div class="sol-final-cta">
<h2>Detect disinformation early – on an evidence-backed basis</h2>
<p>Pilot access for qualified organisations is available.</p>
<a class="sol-cta-btn" href="/en/#contact">Get in touch</a>
</div>
</section>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,279 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>OSINT &amp; Situational Awareness Software from Germany | AegisSight</title>
<meta name="description" content="OSINT and situational awareness software from Germany: AegisSight automatically evaluates hundreds of open sources and produces structured real-time situation reports with fact-checking.">
<link rel="canonical" href="https://aegis-sight.de/en/solutions/osint-situational-awareness-software/">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/loesungen/osint-lagebild-software/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/solutions/osint-situational-awareness-software/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/loesungen/osint-lagebild-software/">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="OSINT &amp; Situational Awareness Software from Germany | AegisSight">
<meta property="og:description" content="OSINT and situational awareness software from Germany: hundreds of open sources evaluated automatically, structured real-time situation reports with fact-checking.">
<meta property="og:url" content="https://aegis-sight.de/en/solutions/osint-situational-awareness-software/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="OSINT &amp; Situational Awareness Software from Germany | AegisSight">
<meta name="twitter:description" content="OSINT and situational awareness software from Germany: hundreds of open sources evaluated automatically, structured real-time situation reports with fact-checking.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://aegis-sight.de/en/solutions/osint-situational-awareness-software/#service",
"name": "OSINT and Situational Awareness Software",
"serviceType": "OSINT monitoring and situation report generation",
"provider": { "@id": "https://aegis-sight.de/#organization" },
"areaServed": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Country", "name": "Austria" },
{ "@type": "Country", "name": "Switzerland" },
{ "@type": "AdministrativeArea", "name": "European Union" }
],
"audience": {
"@type": "BusinessAudience",
"audienceType": "Government agencies, newsrooms and security services"
},
"description": "OSINT and situational awareness software that automatically evaluates hundreds of open sources and produces structured real-time situation reports with source references, geographic mapping and automatic fact-checking. Operated entirely on servers in Germany, GDPR-compliant."
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "AegisSight", "item": "https://aegis-sight.de/en/" },
{ "@type": "ListItem", "position": 2, "name": "OSINT & Situational Awareness Software", "item": "https://aegis-sight.de/en/solutions/osint-situational-awareness-software/" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"inLanguage": "en-GB",
"mainEntity": [
{
"@type": "Question",
"name": "What is OSINT and situational awareness software?",
"acceptedAnswer": { "@type": "Answer", "text": "OSINT software systematically evaluates publicly available sources such as news, specialist media, government communications and social media. Situational awareness software condenses this analysis into a structured, continuously updated summary of the factual situation with source references, timeline and geographic mapping. AegisSight combines both in one automated solution." }
},
{
"@type": "Question",
"name": "How does OSINT software differ from IT monitoring software?",
"acceptedAnswer": { "@type": "Answer", "text": "IT monitoring software watches servers, networks and system availability. OSINT software instead monitors public information sources to assess the security and information situation. AegisSight is OSINT situational awareness software, not IT infrastructure monitoring." }
},
{
"@type": "Question",
"name": "Is the OSINT software GDPR-compliant?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes. AegisSight is operated entirely on servers in Germany, processes only publicly available sources and transfers no data to third countries." }
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style>
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
.sol-hero { background: var(--navy); color: #E6ECF5; padding: calc(var(--nav-height) + 64px) 0 64px; }
.sol-container { max-width: 880px; margin: 0 auto; padding: 0 24px; }
.sol-breadcrumb { font-size: 0.85rem; color: #9FB0C8; margin: 0 0 18px; }
.sol-breadcrumb a { color: #9FB0C8; text-decoration: none; }
.sol-breadcrumb a:hover { color: var(--gold-light); }
.sol-hero h1 { font-size: 2.4rem; font-weight: 700; color: #FFFFFF; margin: 0 0 16px; line-height: 1.2; }
.sol-hero .sol-lead { font-size: 1.15rem; line-height: 1.7; color: #C6D2E4; margin: 0 0 28px; }
.sol-cta-btn { display: inline-block; background: var(--gold); color: var(--navy); font-weight: 600; text-decoration: none; padding: 13px 28px; border-radius: 8px; transition: background .2s; }
.sol-cta-btn:hover { background: var(--gold-light); }
.sol-body { padding: 56px 0; }
.sol-section { margin-bottom: 44px; }
.sol-section:last-child { margin-bottom: 0; }
.sol-section h2 { font-size: 1.6rem; font-weight: 700; color: var(--navy); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.sol-section p { margin: 0 0 14px; line-height: 1.75; color: var(--text); font-size: 1rem; }
.sol-section strong { color: var(--navy); font-weight: 600; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 8px; }
.feature-card { background: var(--base); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: 22px 24px; }
.feature-card h3 { font-size: 1.08rem; font-weight: 600; color: var(--navy); margin: 0 0 8px; }
.feature-card p { font-size: 0.95rem; margin: 0; color: var(--text-light); line-height: 1.65; }
.step-list { counter-reset: step; list-style: none; margin: 0; padding: 0; }
.step-list li { position: relative; padding: 0 0 18px 52px; line-height: 1.7; color: var(--text); }
.step-list li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0; width: 34px; height: 34px; background: var(--navy); color: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.95rem; }
.step-list li strong { display: block; color: var(--navy); margin-bottom: 2px; }
details.sol-faq { border: 1px solid var(--gray-100); border-radius: 8px; margin-bottom: 10px; padding: 0; background: var(--base); }
details.sol-faq summary { padding: 16px 20px; cursor: pointer; font-weight: 600; color: var(--navy); list-style: none; }
details.sol-faq summary::-webkit-details-marker { display: none; }
details.sol-faq .a { padding: 0 20px 16px; color: var(--text); line-height: 1.7; font-size: 0.97rem; }
.sol-related { background: var(--base); border-radius: var(--radius-lg); padding: 28px 30px; margin-top: 8px; }
.sol-related h2 { border: none; padding: 0; margin: 0 0 14px; font-size: 1.3rem; }
.sol-related a { display: block; color: var(--gold-dark); text-decoration: none; font-weight: 600; padding: 6px 0; }
.sol-related a:hover { color: var(--gold); }
.sol-final-cta { background: var(--navy); color: #E6ECF5; text-align: center; padding: 48px 24px; border-radius: var(--radius-lg); margin-top: 8px; }
.sol-final-cta h2 { color: #FFFFFF; border: none; padding: 0; margin: 0 0 10px; }
.sol-final-cta p { color: #C6D2E4; margin: 0 0 22px; }
@media (max-width: 768px) {
.sol-hero h1 { font-size: 1.85rem; }
.sol-container { padding: 0 16px; }
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="/en/" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/osint-lagebild-software/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/osint-lagebild-software/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<main>
<header class="sol-hero">
<div class="sol-container">
<nav class="sol-breadcrumb" aria-label="Breadcrumb">
<a href="/en/">Home</a> &rsaquo; OSINT &amp; Situational Awareness Software
</nav>
<h1>OSINT and Situational Awareness Software for Automated Analysis</h1>
<p class="sol-lead">AegisSight Monitor is OSINT software from Germany that evaluates hundreds of open sources around the clock and automatically produces structured real-time situation reports – with source references, geographic mapping and automatic fact-checking.</p>
<a class="sol-cta-btn" href="/en/#contact">Request access</a>
</div>
</header>
<div class="sol-body">
<div class="sol-container">
<section class="sol-section">
<h2>What is OSINT and situational awareness software?</h2>
<p><strong>OSINT software</strong> (Open Source Intelligence) systematically evaluates publicly available sources such as news agencies, specialist media, government communications and social media. <strong>Situational awareness software</strong> condenses this analysis into a structured, continuously updated summary of the factual situation – with source references, timeline and geographic mapping.</p>
<p>AegisSight combines both in one automated solution: instead of reviewing sources manually, analysts receive a finished, evidence-backed situation report that keeps updating itself.</p>
</section>
<section class="sol-section">
<h2>From raw signal to situation report – fully automated</h2>
<ol class="step-list">
<li><strong>Collect</strong>Hundreds of open sources are ingested around the clock; posts in dozens of languages are translated automatically.</li>
<li><strong>Analyse</strong>Reports are aggregated, deduplicated, geographically located, and every central claim is automatically checked against independent sources.</li>
<li><strong>Report</strong>The result is a structured situation report with timeline, source references and map – updated every five minutes.</li>
</ol>
</section>
<section class="sol-section">
<h2>Key features at a glance</h2>
<div class="feature-grid">
<div class="feature-card"><h3>Automated source analysis</h3><p>Hundreds of open sources are continuously captured, aggregated and deduplicated.</p></div>
<div class="feature-card"><h3>Geographic mapping</h3><p>Reports are placed spatially on an interactive map.</p></div>
<div class="feature-card"><h3>Multilingual analysis</h3><p>Posts in dozens of languages, including Farsi, Arabic and Hebrew, are translated automatically.</p></div>
<div class="feature-card"><h3>Automatic fact-checking</h3><p>Central claims are checked against several independent sources and rated transparently.</p></div>
<div class="feature-card"><h3>Structured situation reports</h3><p>The factual situation with timeline, source references and mapping – in one clear view.</p></div>
<div class="feature-card"><h3>Real-time updates</h3><p>Situation reports are automatically refreshed every five minutes.</p></div>
</div>
</section>
<section class="sol-section">
<h2>Who the software is for</h2>
<p>AegisSight is built for organisations that need reliable situation reports in real time: <strong>government agencies</strong> and crisis teams, investigative <strong>newsrooms</strong>, as well as <strong>security services</strong>, plant security and corporate security. Wherever manual OSINT analysis fails due to source diversity, time pressure and information overload, the software delivers a traceable, automatically maintained situation report.</p>
</section>
<section class="sol-section">
<h2>Frequently asked questions</h2>
<details class="sol-faq"><summary>How does OSINT software differ from IT monitoring software?</summary><div class="a">IT monitoring software watches servers, networks and system availability. OSINT software instead monitors public information sources to assess the security and information situation. AegisSight is OSINT situational awareness software, not IT infrastructure monitoring.</div></details>
<details class="sol-faq"><summary>Is the OSINT software GDPR-compliant?</summary><div class="a">Yes. AegisSight is operated entirely on servers in Germany, processes only publicly available sources and transfers no data to third countries.</div></details>
<details class="sol-faq"><summary>How up to date are the situation reports?</summary><div class="a">Situation reports are automatically updated every five minutes, so the factual situation is available almost in real time.</div></details>
</section>
<section class="sol-section sol-related-wrap">
<div class="sol-related">
<h2>More solutions</h2>
<a href="/en/solutions/disinformation-monitoring/">Disinformation Monitoring &amp; FIMI &rsaquo;</a>
<a href="/en/solutions/social-media-monitoring-government/">Social Media &amp; Crisis Monitoring for Government &rsaquo;</a>
</div>
</section>
<section class="sol-section">
<div class="sol-final-cta">
<h2>Situation reports in real time – instead of manual research</h2>
<p>Pilot access for qualified organisations is available.</p>
<a class="sol-cta-btn" href="/en/#contact">Get in touch</a>
</div>
</section>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -0,0 +1,279 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#0A1832">
<meta name="author" content="AegisSight UG">
<title>Social Media &amp; Crisis Monitoring for Government | AegisSight</title>
<meta name="description" content="Social media and crisis monitoring for government: AegisSight gives crisis teams an automatically updated situation report from open sources – GDPR-compliant, with fact-checking.">
<link rel="canonical" href="https://aegis-sight.de/en/solutions/social-media-monitoring-government/">
<link rel="alternate" hreflang="de" href="https://aegis-sight.de/loesungen/social-media-monitoring-behoerden/">
<link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/solutions/social-media-monitoring-government/">
<link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/loesungen/social-media-monitoring-behoerden/">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="AegisSight">
<meta property="og:title" content="Social Media &amp; Crisis Monitoring for Government | AegisSight">
<meta property="og:description" content="An automatically updated situation report from social media and open sources for crisis teams – GDPR-compliant, with fact-checking and early warning.">
<meta property="og:url" content="https://aegis-sight.de/en/solutions/social-media-monitoring-government/">
<meta property="og:image" content="https://aegis-sight.de/assets/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="de_DE">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Social Media &amp; Crisis Monitoring for Government | AegisSight">
<meta name="twitter:description" content="An automatically updated situation report from social media and open sources for crisis teams – GDPR-compliant, with fact-checking and early warning.">
<meta name="twitter:image" content="https://aegis-sight.de/assets/images/og-image.png">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://aegis-sight.de/en/solutions/social-media-monitoring-government/#service",
"name": "Social Media and Crisis Monitoring for Government",
"serviceType": "Social media monitoring and crisis monitoring",
"provider": { "@id": "https://aegis-sight.de/#organization" },
"areaServed": [
{ "@type": "Country", "name": "Germany" },
{ "@type": "Country", "name": "Austria" },
{ "@type": "Country", "name": "Switzerland" },
{ "@type": "AdministrativeArea", "name": "European Union" }
],
"audience": {
"@type": "BusinessAudience",
"audienceType": "Government agencies, crisis teams, civil protection and corporate security"
},
"description": "OSINT-based social media and crisis monitoring: crisis teams and security agencies receive an automatically updated real-time situation report from social media and other open sources, with automatic fact-checking and geographic mapping. Operated entirely on servers in Germany, GDPR-compliant."
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "AegisSight", "item": "https://aegis-sight.de/en/" },
{ "@type": "ListItem", "position": 2, "name": "Social Media & Crisis Monitoring for Government", "item": "https://aegis-sight.de/en/solutions/social-media-monitoring-government/" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"inLanguage": "en-GB",
"mainEntity": [
{
"@type": "Question",
"name": "What is social media monitoring for government?",
"acceptedAnswer": { "@type": "Answer", "text": "Social media monitoring for government is the structured, continuous analysis of public social media content for situational assessment, for example for crisis teams or security agencies. AegisSight integrates social media sources into its OSINT situation reports and automatically checks central claims against independent sources." }
},
{
"@type": "Question",
"name": "Is the monitoring GDPR-compliant?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes. AegisSight is operated entirely on servers in Germany, processes only publicly available sources and transfers no data to third countries." }
},
{
"@type": "Question",
"name": "Is AegisSight suitable for crisis teams and early warning?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes. Situation reports are automatically updated every five minutes, giving crisis teams an almost real-time, evidence-backed situation report to detect developing situations early." }
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style>
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
.sol-hero { background: var(--navy); color: #E6ECF5; padding: calc(var(--nav-height) + 64px) 0 64px; }
.sol-container { max-width: 880px; margin: 0 auto; padding: 0 24px; }
.sol-breadcrumb { font-size: 0.85rem; color: #9FB0C8; margin: 0 0 18px; }
.sol-breadcrumb a { color: #9FB0C8; text-decoration: none; }
.sol-breadcrumb a:hover { color: var(--gold-light); }
.sol-hero h1 { font-size: 2.4rem; font-weight: 700; color: #FFFFFF; margin: 0 0 16px; line-height: 1.2; }
.sol-hero .sol-lead { font-size: 1.15rem; line-height: 1.7; color: #C6D2E4; margin: 0 0 28px; }
.sol-cta-btn { display: inline-block; background: var(--gold); color: var(--navy); font-weight: 600; text-decoration: none; padding: 13px 28px; border-radius: 8px; transition: background .2s; }
.sol-cta-btn:hover { background: var(--gold-light); }
.sol-body { padding: 56px 0; }
.sol-section { margin-bottom: 44px; }
.sol-section:last-child { margin-bottom: 0; }
.sol-section h2 { font-size: 1.6rem; font-weight: 700; color: var(--navy); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.sol-section p { margin: 0 0 14px; line-height: 1.75; color: var(--text); font-size: 1rem; }
.sol-section strong { color: var(--navy); font-weight: 600; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 8px; }
.feature-card { background: var(--base); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: 22px 24px; }
.feature-card h3 { font-size: 1.08rem; font-weight: 600; color: var(--navy); margin: 0 0 8px; }
.feature-card p { font-size: 0.95rem; margin: 0; color: var(--text-light); line-height: 1.65; }
.step-list { counter-reset: step; list-style: none; margin: 0; padding: 0; }
.step-list li { position: relative; padding: 0 0 18px 52px; line-height: 1.7; color: var(--text); }
.step-list li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0; width: 34px; height: 34px; background: var(--navy); color: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.95rem; }
.step-list li strong { display: block; color: var(--navy); margin-bottom: 2px; }
details.sol-faq { border: 1px solid var(--gray-100); border-radius: 8px; margin-bottom: 10px; padding: 0; background: var(--base); }
details.sol-faq summary { padding: 16px 20px; cursor: pointer; font-weight: 600; color: var(--navy); list-style: none; }
details.sol-faq summary::-webkit-details-marker { display: none; }
details.sol-faq .a { padding: 0 20px 16px; color: var(--text); line-height: 1.7; font-size: 0.97rem; }
.sol-related { background: var(--base); border-radius: var(--radius-lg); padding: 28px 30px; margin-top: 8px; }
.sol-related h2 { border: none; padding: 0; margin: 0 0 14px; font-size: 1.3rem; }
.sol-related a { display: block; color: var(--gold-dark); text-decoration: none; font-weight: 600; padding: 6px 0; }
.sol-related a:hover { color: var(--gold); }
.sol-final-cta { background: var(--navy); color: #E6ECF5; text-align: center; padding: 48px 24px; border-radius: var(--radius-lg); margin-top: 8px; }
.sol-final-cta h2 { color: #FFFFFF; border: none; padding: 0; margin: 0 0 10px; }
.sol-final-cta p { color: #C6D2E4; margin: 0 0 22px; }
@media (max-width: 768px) {
.sol-hero h1 { font-size: 1.85rem; }
.sol-container { padding: 0 16px; }
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="/en/" class="nav-logo">
<img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
</a>
<ul class="nav-menu">
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="nav-extras">
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/social-media-monitoring-behoerden/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
<button class="mobile-menu-toggle" aria-label="Open menu" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<!-- Mobile Menu -->
<div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<ul>
<li><a href="/en/#features">Features</a></li>
<li><a href="/en/#solutions">Solutions</a></li>
<li><a href="/en/#demos">Live Reports</a></li>
<li><a href="/en/#trust">About Us</a></li>
<li><a href="/en/#contact">Contact</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Language">
<a class="lang-link" href="/loesungen/social-media-monitoring-behoerden/" lang="de" hreflang="de" rel="alternate">DE</a>
<span class="lang-sep" aria-hidden="true">|</span>
<span class="lang-active" lang="en" aria-current="true">EN</span>
</div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<main>
<header class="sol-hero">
<div class="sol-container">
<nav class="sol-breadcrumb" aria-label="Breadcrumb">
<a href="/en/">Home</a> &rsaquo; Social Media &amp; Crisis Monitoring for Government
</nav>
<h1>Social Media and Crisis Monitoring for Government</h1>
<p class="sol-lead">AegisSight gives government agencies and crisis teams an automatically updated situation report from social media and other open sources – GDPR-compliant, with automatic fact-checking and geographic mapping.</p>
<a class="sol-cta-btn" href="/en/#contact">Request access</a>
</div>
</header>
<div class="sol-body">
<div class="sol-container">
<section class="sol-section">
<h2>What is social media and crisis monitoring for government?</h2>
<p><strong>Social media monitoring for government</strong> is the structured, continuous analysis of public social media content for situational assessment. <strong>Crisis monitoring</strong> observes a situation in real time to provide crisis teams and decision-makers with a current, evidence-backed situation report.</p>
<p>AegisSight combines both: social media sources are analysed together with news, specialist media and government communications and condensed into a traceable situation report.</p>
</section>
<section class="sol-section">
<h2>How AegisSight supports crisis teams</h2>
<ol class="step-list">
<li><strong>Collect</strong>Public social media posts and hundreds of other open sources are ingested and translated around the clock.</li>
<li><strong>Verify</strong>Central claims are automatically checked against independent sources – rumours and false reports become apparent early.</li>
<li><strong>Deliver</strong>Crisis teams receive a situation report updated every five minutes, with map, timeline and source references.</li>
</ol>
</section>
<section class="sol-section">
<h2>Key features at a glance</h2>
<div class="feature-grid">
<div class="feature-card"><h3>Social media analysis</h3><p>Public social media sources feed into the situation report.</p></div>
<div class="feature-card"><h3>Real-time situation report</h3><p>Automatically updated every five minutes – a basis for fast decisions.</p></div>
<div class="feature-card"><h3>Automatic fact-checking</h3><p>Rumours and false reports are checked against independent sources.</p></div>
<div class="feature-card"><h3>Geographic mapping</h3><p>Reports are placed spatially on an interactive map.</p></div>
<div class="feature-card"><h3>GDPR-compliant</h3><p>Operated on servers in Germany, using only public sources.</p></div>
<div class="feature-card"><h3>Multilingual analysis</h3><p>Posts in dozens of languages are translated automatically.</p></div>
</div>
</section>
<section class="sol-section">
<h2>Who the monitoring is for</h2>
<p>The solution is built for <strong>security agencies</strong> and crisis teams, <strong>civil protection</strong>, as well as <strong>plant security</strong> and <strong>corporate security</strong> – wherever developing situations need to be detected early and assessed reliably.</p>
</section>
<section class="sol-section">
<h2>Frequently asked questions</h2>
<details class="sol-faq"><summary>What is social media monitoring for government?</summary><div class="a">Social media monitoring for government is the structured, continuous analysis of public social media content for situational assessment, for example for crisis teams or security agencies. AegisSight integrates social media sources into its OSINT situation reports and automatically checks central claims against independent sources.</div></details>
<details class="sol-faq"><summary>Is the monitoring GDPR-compliant?</summary><div class="a">Yes. AegisSight is operated entirely on servers in Germany, processes only publicly available sources and transfers no data to third countries.</div></details>
<details class="sol-faq"><summary>Is AegisSight suitable for crisis teams and early warning?</summary><div class="a">Yes. Situation reports are automatically updated every five minutes, giving crisis teams an almost real-time, evidence-backed situation report to detect developing situations early.</div></details>
</section>
<section class="sol-section sol-related-wrap">
<div class="sol-related">
<h2>More solutions</h2>
<a href="/en/solutions/osint-situational-awareness-software/">OSINT &amp; Situational Awareness Software &rsaquo;</a>
<a href="/en/solutions/disinformation-monitoring/">Disinformation Monitoring &amp; FIMI &rsaquo;</a>
</div>
</section>
<section class="sol-section">
<div class="sol-final-cta">
<h2>A situation report for the crisis team – in real time</h2>
<p>Pilot access for qualified organisations is available.</p>
<a class="sol-cta-btn" href="/en/#contact">Get in touch</a>
</div>
</section>
</div>
</div>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<div class="footer-info">
<p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Straße 3-5, 40764 Langenfeld, Germany</p>
</div>
<div class="footer-links">
<a href="/en/legal-notice.html">Legal notice</a>
<a href="/en/privacy.html">Privacy policy</a>
<a href="#" id="cookie-settings-link">Cookie settings</a>
</div>
</div>
<p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). All rights reserved.</p>
</div>
</footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<script src="/js/app.js"></script>
<script src="/cookie-consent.js"></script>
</body>
</html>

Datei anzeigen

@@ -1,206 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Legal Notice - AegisSight</title>
<!-- Prevent search engine indexing -->
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="icon" type="image/svg+xml" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="apple-touch-icon" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/fonts.css">
<style>
body {
background: #0a0f1c;
min-height: 100vh;
}
.impressum-container {
max-width: 800px;
margin: 0 auto;
padding: 120px 20px 40px;
}
.impressum-header {
margin-bottom: 40px;
text-align: center;
}
.impressum-header h1 {
font-family: 'Bebas Neue', sans-serif;
font-size: 3rem;
font-weight: 400;
color: #ffffff;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 3px;
}
.impressum-content {
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.impressum-section {
margin-bottom: 30px;
border-bottom: 1px solid rgba(15, 114, 181, 0.1);
padding-bottom: 20px;
}
.impressum-section:last-child {
border-bottom: none;
}
.impressum-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.5rem;
color: #0f72b5;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.impressum-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.6;
margin-bottom: 10px;
}
.impressum-section strong {
color: #1a1a1a;
font-weight: 600;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="nav-container">
<div class="logo">
<a href="index.html">
<img src="assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img">
</a>
</div>
<ul class="nav-menu">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#about">About Us</a></li>
<li><a href="index.html#products">Products & Solutions</a></li>
<li><a href="/lagebild">Situation Report</a></li>
<li><a href="mailto:info@aegis-sight.de">Contact</a></li>
</ul>
<div class="nav-extras">
<button class="lang-toggle" data-lang="en" aria-label="Switch language">DE | EN</button>
</div>
</div>
</nav>
<div class="impressum-container">
<div class="impressum-header">
<h1>Legal Notice</h1>
</div>
<div class="impressum-content">
<div class="impressum-section">
<h2>Company Information</h2>
<p>
AegisSight UG (limited liability)<br>
Gladbacher Strasse 3-5<br>
40764 Langenfeld<br>
Germany
</p>
</div>
<div class="impressum-section">
<h2>Represented by</h2>
<p>Hendrik Gebhardt<br>
Monami Homma</p>
</div>
<div class="impressum-section">
<h2>Contact</h2>
<p>
Email: info@aegis-sight.de<br>
Website: aegis-sight.de
</p>
</div>
<div class="impressum-section">
<h2>Commercial Register</h2>
<p>
Entry in the Commercial Register<br>
Registry Court: District Court Düsseldorf<br>
Registration number: HRB 110105
</p>
</div>
<div class="impressum-section">
<h2>VAT</h2>
<p>VAT identification number according to §27 a of the German VAT Act:<br>
DE457846602</p>
</div>
<div class="impressum-section">
<h2>Consumer Dispute Resolution/<wbr>Universal Arbitration Board</h2>
<p>We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.</p>
</div>
<div class="impressum-section">
<h2>Liability for Content</h2>
<p>As a service provider, we are responsible for our own content on these pages according to § 7 para.1 TMG under general law. However, according to §§ 8 to 10 TMG, we are not obligated as a service provider to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity.</p>
<p>Obligations to remove or block the use of information under general law remain unaffected. However, liability in this regard is only possible from the time of knowledge of a specific infringement. Upon becoming aware of such legal violations, we will remove this content immediately.</p>
</div>
<div class="impressum-section">
<h2>Liability for Links</h2>
<p>Our offer contains links to external third-party websites over whose content we have no influence. Therefore, we cannot assume any liability for this third-party content. The respective provider or operator of the pages is always responsible for the content of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking.</p>
<p>However, permanent content control of the linked pages is not reasonable without concrete evidence of a violation of law. Upon becoming aware of legal violations, we will remove such links immediately.</p>
</div>
<div class="impressum-section">
<h2>Copyright</h2>
<p>The content and works created by the site operators on these pages are subject to German copyright law. The reproduction, editing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator. Downloads and copies of this site are only permitted for private, non-commercial use.</p>
<p>Insofar as the content on this site was not created by the operator, the copyrights of third parties are respected. In particular, third-party content is marked as such. Should you nevertheless become aware of a copyright infringement, please inform us accordingly. Upon becoming aware of legal violations, we will remove such content immediately.</p>
</div>
</div>
</div>
<!-- Footer -->
<footer class="footer">
<div class="footer-content">
<div class="footer-section">
<h4>AegisSight</h4>
<p>Sicherheit Made in Germany</p>
</div>
<div class="footer-section">
<h4>Legal</h4>
<ul>
<li><a href="impressum-en.html">Legal Notice</a></li>
<li><a href="datenschutz-en.html">Privacy Policy</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Contact</h4>
<p>info@aegis-sight.de</p>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 AegisSight UG. All rights reserved.</p>
</div>
</footer>
<!-- JavaScript for legal pages -->
<script src="js/legal-pages.js"></script>
<!-- AegisSight Analytics -->
<script async src="/insights/t.js"></script>
</body>
</html>

Datei anzeigen

@@ -3,143 +3,137 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Impressum - AegisSight</title> <meta name="robots" content="noindex, follow">
<meta name="theme-color" content="#0A1832">
<!-- Prevent search engine indexing --> <meta name="author" content="AegisSight UG">
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex"> <title>Impressum – AegisSight</title>
<!-- Rechtliche Seiten von Suchmaschinen ausschliessen -->
<meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex"> <meta name="googlebot" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<!-- Favicon --> <link rel="alternate" hreflang="de" href="https://aegis-sight.de/impressum.html">
<link rel="icon" type="image/svg+xml" href="favicon.svg"> <link rel="alternate" hreflang="en" href="https://aegis-sight.de/en/legal-notice.html">
<link rel="icon" type="image/svg+xml" href="assets/images/logos/AegisSightLogo_NavyGold.svg"> <link rel="alternate" hreflang="x-default" href="https://aegis-sight.de/impressum.html">
<link rel="apple-touch-icon" href="assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="css/main.css"> <link rel="apple-touch-icon" href="/assets/images/logos/AegisSightLogo_NavyGold.svg">
<link rel="stylesheet" href="css/fonts.css">
<link rel="stylesheet" href="css/mobile.css"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/lang-switcher.css">
<link rel="stylesheet" href="/cookie-consent.css">
<style> <style>
body { body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--white); margin: 0; }
background: #0a0f1c; .legal-page { padding: calc(var(--nav-height) + 56px) 0 80px; min-height: calc(100vh - 220px); }
min-height: 100vh; .legal-container { max-width: 820px; margin: 0 auto; padding: 0 24px; }
} .legal-container h1 { font-size: 2.25rem; font-weight: 700; color: var(--navy); margin: 0 0 12px; }
.impressum-container { .legal-meta { color: var(--text-light); margin: 0 0 32px; font-size: 0.95rem; }
max-width: 800px; .legal-content { background: var(--base); border-radius: var(--radius-lg); padding: 32px 40px; box-shadow: var(--shadow); border: 1px solid var(--gray-100); }
margin: 0 auto; .legal-section { margin-bottom: 28px; }
padding: 120px 20px 40px; .legal-section:last-child { margin-bottom: 0; }
} .legal-section h2 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.impressum-header { .legal-section h3 { font-size: 1.05rem; font-weight: 600; color: var(--navy); margin: 22px 0 8px; }
margin-bottom: 40px; .legal-section p { margin: 0 0 12px; line-height: 1.7; color: var(--text); font-size: 0.95rem; }
text-align: center; .legal-section a { color: var(--gold-dark); text-decoration: underline; }
} .legal-section a:hover { color: var(--gold); }
.impressum-header h1 { .legal-section ul { margin: 12px 0 16px 22px; padding: 0; }
font-family: 'Bebas Neue', sans-serif; .legal-section li { margin-bottom: 6px; line-height: 1.6; color: var(--text); font-size: 0.95rem; }
font-size: 3rem; .legal-section strong { color: var(--navy); font-weight: 600; }
font-weight: 400; .legal-section table { width: 100%; border-collapse: collapse; margin: 12px 0 16px; }
color: #ffffff; .legal-section td, .legal-section th { padding: 8px 12px; border: 1px solid var(--gray-200); text-align: left; font-size: 0.92rem; }
margin-bottom: 10px; .source-note { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--gray-200); font-size: 0.85rem; color: var(--text-light); }
text-transform: uppercase; .source-note a { color: var(--gold-dark); }
letter-spacing: 3px; @media (max-width: 768px) {
} .legal-container { padding: 0 16px; }
.impressum-content { .legal-content { padding: 24px 20px; }
background: rgba(255, 255, 255, 0.95); .legal-container h1 { font-size: 1.75rem; }
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
}
.impressum-section {
margin-bottom: 30px;
border-bottom: 1px solid rgba(15, 114, 181, 0.1);
padding-bottom: 20px;
}
.impressum-section:last-child {
border-bottom: none;
}
.impressum-section h2 {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.5rem;
color: #0f72b5;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
}
.impressum-section p {
font-family: 'Inter', sans-serif;
color: #333333;
line-height: 1.6;
margin-bottom: 10px;
}
.impressum-section strong {
color: #1a1a1a;
font-weight: 600;
} }
</style> </style>
</head> </head>
<body> <body>
<!-- Navigation --> <!-- Navigation -->
<nav class="navbar" role="navigation" aria-label="Hauptnavigation"> <nav class="navbar" id="navbar">
<div class="nav-container"> <div class="nav-container">
<div class="logo"> <a href="/" class="nav-logo">
<a href="index.html"> <img src="/assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img" width="200" height="40">
<img src="assets/images/logos/Logo+Schrift_Rechts.svg" alt="AegisSight" class="logo-img"> </a>
</a>
</div>
<ul class="nav-menu"> <ul class="nav-menu">
<li><a href="index.html#home">Startseite</a></li> <li><a href="/#features">Funktionen</a></li>
<li><a href="index.html#about">Über uns</a></li> <li><a href="/#demos">Live-Lagebilder</a></li>
<li><a href="index.html#products">Produkte & Lösungen</a></li> <li><a href="/#trust">Über uns</a></li>
<li><a href="/lagebild">Lagebild</a></li> <li><a href="/#contact">Kontakt</a></li>
<li><a href="mailto:info@aegis-sight.de">Kontakt</a></li>
</ul> </ul>
<div class="nav-extras"> <div class="nav-extras">
<button class="lang-toggle" data-lang="de" aria-label="Sprache wechseln">DE | EN</button> <div class="lang-switcher" role="group" aria-label="Sprache">
<span class="lang-active" lang="de" aria-current="true">DE</span>
<span class="lang-sep" aria-hidden="true">|</span>
<a class="lang-link" href="/en/legal-notice.html" lang="en" hreflang="en" rel="alternate">EN</a>
</div>
<button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false">
<span></span><span></span><span></span>
</button>
</div> </div>
</div> </div>
</nav> </nav>
<div class="impressum-container"> <!-- Mobile Menu -->
<div class="impressum-header"> <div class="mobile-menu" id="mobile-menu" aria-hidden="true">
<h1>Impressum</h1> <ul>
<li><a href="/#features">Funktionen</a></li>
<li><a href="/#demos">Live-Lagebilder</a></li>
<li><a href="/#trust">Über uns</a></li>
<li><a href="/#contact">Kontakt</a></li>
</ul>
<div class="lang-switcher" role="group" aria-label="Sprache">
<span class="lang-active" lang="de" aria-current="true">DE</span>
<span class="lang-sep" aria-hidden="true">|</span>
<a class="lang-link" href="/en/legal-notice.html" lang="en" hreflang="en" rel="alternate">EN</a>
</div> </div>
</div>
<div class="mobile-overlay" id="mobile-overlay"></div>
<div class="impressum-content"> <main class="legal-page">
<div class="impressum-section"> <div class="legal-container">
<h1>Impressum</h1>
<div class="legal-section">
<h2>Angaben gemäß § 5 TMG</h2> <h2>Angaben gemäß § 5 TMG</h2>
<p><strong>AegisSight UG i. G. (haftungsbeschränkt)</strong></p> <p><strong>AegisSight UG (haftungsbeschränkt)</strong></p>
<p>Gladbacher Strasse 3-5<br> <p>Gladbacher Strasse 3-5<br>
40764 Langenfeld</p> 40764 Langenfeld</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Vertreten durch</h2> <h2>Vertreten durch</h2>
<p>Hendrik Gebhardt<br> <p>Hendrik Gebhardt<br>
Monami Homma</p> Monami Homma</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Kontakt</h2> <h2>Kontakt</h2>
<p>E-Mail: info@aegis-sight.de</p> <p>E-Mail: info@aegis-sight.de</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Registereintrag</h2> <h2>Registereintrag</h2>
<p>Handelsregister: HRB 110105<br> <p>Handelsregister: HRB 110105<br>
Registergericht: Amtsgericht Düsseldorf</p> Registergericht: Amtsgericht Düsseldorf</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Umsatzsteuer-ID</h2> <h2>Umsatzsteuer-ID</h2>
<p>Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:<br> <p>Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:<br>
DE457846602</p> DE457846602</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Verbraucherstreitbeilegung/<wbr>Universalschlichtungsstelle</h2> <h2>Verbraucherstreitbeilegung/<wbr>Universalschlichtungsstelle</h2>
<p>Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.</p> <p>Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.</p>
</div> </div>
<div class="impressum-section"> <div class="legal-section">
<h2>Haftungsausschluss</h2> <h2>Haftungsausschluss</h2>
<p><strong>Haftung für Inhalte</strong><br> <p><strong>Haftung für Inhalte</strong><br>
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.</p> Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.</p>
@@ -150,52 +144,30 @@
<p><strong>Urheberrecht</strong><br> <p><strong>Urheberrecht</strong><br>
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.</p> Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.</p>
<p style="margin-top: 30px; font-size: 0.9rem; color: #666;"> <p class="source-note">Quelle: <a href="https://www.e-recht24.de" target="_blank">eRecht24</a></p>
Quelle: <a href="https://www.e-recht24.de" target="_blank" style="color: #0066cc;">eRecht24</a>
</p>
</div> </div>
</div> </div>
</div> </main>
<!-- Footer --> <!-- Footer -->
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<div class="footer-content"> <div class="footer-content">
<div class="footer-section"> <div class="footer-info">
<h4>AegisSight UG (haftungsbeschränkt)</h4> <p class="footer-company">AegisSight UG (haftungsbeschränkt)</p>
<p>Gladbacher Strasse 3-5</p> <p>Gladbacher Straße 3-5, 40764 Langenfeld</p>
<p>40764 Langenfeld</p>
</div> </div>
<div class="footer-section"> <div class="footer-links">
<h4>Navigation</h4> <a href="/impressum.html">Impressum</a>
<ul> <a href="/datenschutz.html">Datenschutz</a>
<li><a href="index.html#home">Startseite</a></li> <a href="#" id="cookie-settings-link">Cookie-Einstellungen</a>
<li><a href="index.html#about">Über uns</a></li>
<li><a href="index.html#products">Produkte</a></li>
<li><a href="/lagebild">Lagebild</a></li>
<li><a href="mailto:info@aegis-sight.de">Kontakt</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Rechtliches</h4>
<ul>
<li><a href="impressum.html">Impressum</a></li>
<li><a href="datenschutz.html">Datenschutz</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Kontakt</h4>
<p>info@aegis-sight.de</p>
</div> </div>
</div> </div>
<p class="copyright">© <span class="current-year"></span> AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p> <p class="footer-copyright">&copy; <span id="footer-year">2026</span> AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p>
</div> </div>
</footer> </footer>
<script>document.getElementById('footer-year').textContent=new Date().getFullYear();</script>
<!-- JavaScript for legal pages --> <script src="/js/app.js"></script>
<script src="js/legal-pages.js"></script> <script src="/cookie-consent.js"></script>
<!-- AegisSight Analytics -->
<script async src="/insights/t.js"></script>
</body> </body>
</html> </html>

1033
index.html

Datei-Diff unterdrückt, da er zu groß ist Diff laden

Datei anzeigen

@@ -1,233 +0,0 @@
/**
* Enhanced Animations and Interactions
* Premium effects for modern web experience
*/
const EnhancedAnimations = {
init() {
this.initScrollAnimations();
this.initParallaxEffects();
this.initMagneticButtons();
this.initTextAnimations();
this.initCardTilt();
this.initSmoothScroll();
this.initCursorEffects();
this.initRevealOnScroll();
this.initNavbarEffects();
},
// Smooth scroll with easing
initSmoothScroll() {
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
const offset = 100;
const targetPosition = target.offsetTop - offset;
window.scrollTo({
top: targetPosition,
behavior: 'smooth'
});
}
});
});
},
// Parallax scrolling effects
initParallaxEffects() {
const parallaxElements = document.querySelectorAll('.parallax');
let ticking = false;
function updateParallax() {
const scrolled = window.pageYOffset;
parallaxElements.forEach(element => {
const speed = element.dataset.speed || 0.5;
const yPos = -(scrolled * speed);
element.style.transform = `translateY(${yPos}px)`;
});
ticking = false;
}
function requestTick() {
if (!ticking) {
window.requestAnimationFrame(updateParallax);
ticking = true;
}
}
window.addEventListener('scroll', requestTick);
},
// Magnetic button effects
initMagneticButtons() {
const magneticButtons = document.querySelectorAll('.primary-button, .secondary-button, .cta-button');
magneticButtons.forEach(button => {
button.addEventListener('mousemove', (e) => {
const rect = button.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width / 2;
const y = e.clientY - rect.top - rect.height / 2;
button.style.transform = `translate(${x * 0.2}px, ${y * 0.2}px) scale(1.05)`;
});
button.addEventListener('mouseleave', () => {
button.style.transform = '';
});
});
},
// Advanced text animations
initTextAnimations() {
// Typewriter effect for hero title - DISABLED to prevent duplication
// The title already has CSS animations applied
/* Commented out to fix duplication issue
const heroTitle = document.querySelector('.main-title');
if (heroTitle && !heroTitle.dataset.animated) {
heroTitle.dataset.animated = 'true';
const text = heroTitle.textContent;
heroTitle.textContent = '';
heroTitle.style.opacity = '1';
let index = 0;
const typeWriter = () => {
if (index < text.length) {
heroTitle.textContent += text.charAt(index);
index++;
setTimeout(typeWriter, 50);
}
};
// Start typewriter after a short delay
setTimeout(typeWriter, 500);
}
*/
// Word-by-word reveal for hero text
const heroText = document.querySelector('.hero-text');
if (heroText) {
const words = heroText.textContent.split(' ');
heroText.innerHTML = words.map(word =>
`<span class="word-reveal" style="opacity: 0; display: inline-block; transform: translateY(20px); transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);">${word}</span>`
).join(' ');
const wordSpans = heroText.querySelectorAll('.word-reveal');
wordSpans.forEach((word, index) => {
setTimeout(() => {
word.style.opacity = '1';
word.style.transform = 'translateY(0)';
}, 1000 + index * 100);
});
}
},
// Card tilt removed - zu verspielt für Behördenkontext
initCardTilt() {
// Deaktiviert - CSS hover-Effekte reichen aus
},
// Custom cursor effects - DISABLED
initCursorEffects() {
// Cursor removed as requested
return;
},
// Reveal elements on scroll
initRevealOnScroll() {
const revealElements = document.querySelectorAll('.about-panel, .tool-card, .value-card, .why-card, .competency-item');
revealElements.forEach((element, index) => {
element.style.opacity = '0';
element.style.transform = 'translateY(50px)';
element.style.transition = 'all 0.8s cubic-bezier(0.4, 0, 0.2, 1)';
});
const revealOnScroll = () => {
const windowHeight = window.innerHeight;
revealElements.forEach((element, index) => {
const elementTop = element.getBoundingClientRect().top;
const elementVisible = 100;
if (elementTop < windowHeight - elementVisible) {
setTimeout(() => {
element.style.opacity = '1';
element.style.transform = 'translateY(0)';
}, index * 50);
}
});
};
window.addEventListener('scroll', revealOnScroll);
revealOnScroll(); // Check on initial load
},
// Scroll-based animations
initScrollAnimations() {
let lastScrollY = window.scrollY;
let ticking = false;
function updateScrollAnimations() {
const scrollY = window.scrollY;
const scrollDirection = scrollY > lastScrollY ? 'down' : 'up';
// Hero parallax
const hero = document.querySelector('.hero-content');
if (hero) {
hero.style.transform = `translateY(${scrollY * 0.5}px)`;
hero.style.opacity = 1 - (scrollY / 800);
}
// Video parallax
const heroVideos = document.querySelector('.hero-video-container');
if (heroVideos) {
heroVideos.style.transform = `translateY(${scrollY * 0.3}px) scale(${1 + scrollY * 0.0003})`;
}
lastScrollY = scrollY;
ticking = false;
}
function requestTick() {
if (!ticking) {
window.requestAnimationFrame(updateScrollAnimations);
ticking = true;
}
}
window.addEventListener('scroll', requestTick);
},
// Enhanced navbar effects
initNavbarEffects() {
const navbar = document.querySelector('.navbar');
let lastScrollY = window.scrollY;
window.addEventListener('scroll', () => {
const scrollY = window.scrollY;
if (scrollY > 50) {
navbar.classList.add('scrolled');
} else {
navbar.classList.remove('scrolled');
}
// Keep navbar always visible
navbar.style.transform = 'translateY(0)';
lastScrollY = scrollY;
});
}
};
// Initialize when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => EnhancedAnimations.init());
} else {
EnhancedAnimations.init();
}

Datei anzeigen

@@ -1,403 +0,0 @@
/**
* Animation module for AegisSight website
* Contains all animation logic and visual effects
*/
// Particle Animation System
const ParticleAnimation = {
canvas: null,
ctx: null,
particles: [],
/**
* Initialize particle animation
*/
init() {
this.canvas = document.querySelector(SELECTORS.PARTICLE_CANVAS);
if (!this.canvas) return;
this.ctx = this.canvas.getContext('2d');
this.resizeCanvas();
this.createParticles();
this.animate();
// Handle window resize
window.addEventListener('resize', () => this.resizeCanvas());
},
/**
* Resize canvas to window size
*/
resizeCanvas() {
this.canvas.width = window.innerWidth;
this.canvas.height = window.innerHeight;
},
/**
* Create particle objects
*/
createParticles() {
this.particles = [];
for (let i = 0; i < CONFIG.ANIMATION.PARTICLE_COUNT; i++) {
this.particles.push(new Particle(this.canvas));
}
},
/**
* Main animation loop
*/
animate() {
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
// Update and draw particles
this.particles.forEach(particle => {
particle.update(this.canvas);
particle.draw(this.ctx);
});
// Draw connections between particles
this.drawConnections();
requestAnimationFrame(() => this.animate());
},
/**
* Draw connections between nearby particles
*/
drawConnections() {
for (let a = 0; a < this.particles.length; a++) {
for (let b = a + 1; b < this.particles.length; b++) {
const distance = Math.sqrt(
Math.pow(this.particles[a].x - this.particles[b].x, 2) +
Math.pow(this.particles[a].y - this.particles[b].y, 2)
);
if (distance < CONFIG.ANIMATION.CONNECTION_DISTANCE) {
const opacity = 0.15 * (1 - distance / CONFIG.ANIMATION.CONNECTION_DISTANCE);
// Use darker blue for better visibility on light background
this.ctx.strokeStyle = `rgba(15, 114, 181, ${opacity})`;
this.ctx.lineWidth = 1;
this.ctx.beginPath();
this.ctx.moveTo(this.particles[a].x, this.particles[a].y);
this.ctx.lineTo(this.particles[b].x, this.particles[b].y);
this.ctx.stroke();
}
}
}
}
};
/**
* Particle class for animation
*/
class Particle {
constructor(canvas) {
this.x = Math.random() * canvas.width;
this.y = Math.random() * canvas.height;
this.size = Math.random() * (CONFIG.ANIMATION.PARTICLE_SIZE_MAX - CONFIG.ANIMATION.PARTICLE_SIZE_MIN) + CONFIG.ANIMATION.PARTICLE_SIZE_MIN;
this.speedX = (Math.random() - 0.5) * CONFIG.ANIMATION.PARTICLE_SPEED;
this.speedY = (Math.random() - 0.5) * CONFIG.ANIMATION.PARTICLE_SPEED;
this.opacity = Math.random() * 0.5 + 0.2;
}
update(canvas) {
this.x += this.speedX;
this.y += this.speedY;
// Wrap around screen edges
if (this.x > canvas.width) this.x = 0;
else if (this.x < 0) this.x = canvas.width;
if (this.y > canvas.height) this.y = 0;
else if (this.y < 0) this.y = canvas.height;
}
draw(ctx) {
// Use darker blue for better visibility on light background
ctx.fillStyle = `rgba(15, 114, 181, ${this.opacity * 0.7})`;
ctx.beginPath();
ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);
ctx.fill();
}
}
// Counter Animation
const CounterAnimation = {
/**
* Animate all counter elements
*/
animateAll() {
const counters = document.querySelectorAll(SELECTORS.INDICATOR_VALUE);
counters.forEach(counter => this.animateCounter(counter));
},
/**
* Animate a single counter
* @param {HTMLElement} counter - Counter element to animate
*/
animateCounter(counter) {
const target = parseFloat(counter.getAttribute(DATA_ATTRS.TARGET));
const increment = target / CONFIG.ANIMATION.COUNTER_SPEED;
let current = 0;
const updateCounter = () => {
current += increment;
if (current < target) {
counter.innerText = Math.ceil(current);
setTimeout(updateCounter, CONFIG.TIMING.COUNTER_UPDATE_INTERVAL);
} else {
// Set final value with proper formatting
if (target === CONFIG.TRUST_INDICATORS.AVAILABILITY) {
counter.innerText = target + '%';
} else if (target === CONFIG.TRUST_INDICATORS.AUTHORITIES_COUNT) {
counter.innerText = target + '+';
} else if (target === CONFIG.TRUST_INDICATORS.SUPPORT_HOURS) {
counter.innerText = target + '/7';
}
}
};
updateCounter();
}
};
// Scroll Animations
const ScrollAnimations = {
scrollIndicator: null,
/**
* Initialize scroll-based animations
*/
init() {
this.scrollIndicator = document.querySelector(SELECTORS.SCROLL_INDICATOR);
this.setupScrollIndicator();
this.setupIntersectionObserver();
},
/**
* Setup scroll indicator behavior
*/
setupScrollIndicator() {
if (!this.scrollIndicator) return;
// Click to scroll to about section
this.scrollIndicator.addEventListener('click', () => {
const aboutSection = document.querySelector('#about');
if (aboutSection) {
aboutSection.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
// Hide/show based on scroll position
let scrollTimeout;
window.addEventListener('scroll', () => {
const hero = document.querySelector(SELECTORS.HERO);
if (window.scrollY > CONFIG.ANIMATION.SCROLL_THRESHOLD) {
if (hero) hero.classList.add(CLASSES.SCROLLED);
if (this.scrollIndicator) this.scrollIndicator.style.opacity = '0';
} else {
if (hero) hero.classList.remove(CLASSES.SCROLLED);
if (this.scrollIndicator) this.scrollIndicator.style.opacity = '1';
}
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(() => {
if (window.scrollY > CONFIG.ANIMATION.SCROLL_THRESHOLD && this.scrollIndicator) {
this.scrollIndicator.style.display = 'none';
} else if (this.scrollIndicator) {
this.scrollIndicator.style.display = 'flex';
}
}, CONFIG.TIMING.SCROLL_HIDE_DELAY);
});
},
/**
* Setup intersection observer for scroll-triggered animations
*/
setupIntersectionObserver() {
const observerOptions = {
threshold: CONFIG.OBSERVER.THRESHOLD,
rootMargin: CONFIG.OBSERVER.ROOT_MARGIN
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
// Trust indicators animation
if (entry.target.classList.contains('trust-indicators')) {
CounterAnimation.animateAll();
observer.unobserve(entry.target);
}
// Timeline animation
if (entry.target.classList.contains('timeline')) {
const items = entry.target.querySelectorAll('.timeline-item');
items.forEach((item, index) => {
setTimeout(() => {
item.classList.add(CLASSES.VISIBLE);
}, index * 300);
});
observer.unobserve(entry.target);
}
// Feature nodes animation
if (entry.target.classList.contains('feature-nodes')) {
const nodes = entry.target.querySelectorAll('.node');
nodes.forEach((node, index) => {
setTimeout(() => {
node.style.opacity = '1';
node.style.transform = 'translateY(0)';
}, index * 150);
});
observer.unobserve(entry.target);
}
}
});
}, observerOptions);
// Observe elements
const trustIndicators = document.querySelector(SELECTORS.TRUST_INDICATORS);
if (trustIndicators) {
trustIndicators.style.opacity = '0';
observer.observe(trustIndicators);
}
const timeline = document.querySelector('.timeline');
if (timeline) observer.observe(timeline);
const featureNodes = document.querySelector('.feature-nodes');
if (featureNodes) {
document.querySelectorAll('.node').forEach(node => {
node.style.opacity = '0';
node.style.transform = 'translateY(30px)';
node.style.transition = 'all 0.6s ease';
});
observer.observe(featureNodes);
}
}
};
// Glitch Effect
const GlitchEffect = {
/**
* Apply glitch effect to element on hover
* @param {HTMLElement} element - Element to apply effect to
*/
apply(element) {
if (!element) return;
let glitchInterval;
element.addEventListener('mouseenter', () => {
let count = 0;
glitchInterval = setInterval(() => {
element.style.textShadow = `
${Math.random() * 5}px ${Math.random() * 5}px 0 rgba(0, 212, 255, 0.5),
${Math.random() * -5}px ${Math.random() * 5}px 0 rgba(255, 0, 128, 0.5)
`;
count++;
if (count > CONFIG.ANIMATION.GLITCH_ITERATIONS) {
clearInterval(glitchInterval);
element.style.textShadow = 'none';
}
}, CONFIG.ANIMATION.GLITCH_INTERVAL);
});
}
};
// Interactive Elements
const InteractiveElements = {
/**
* Initialize all interactive element animations
*/
init() {
this.setupNodeHoverEffects();
this.setupWidgetHoverEffects();
this.setupInteractiveIcon();
},
/**
* Setup hover effects for node elements
*/
setupNodeHoverEffects() {
document.querySelectorAll('.node').forEach(node => {
node.addEventListener('mouseenter', function() {
const icon = this.querySelector('.node-icon');
if (icon) icon.style.transform = 'scale(1.2) rotate(5deg)';
});
node.addEventListener('mouseleave', function() {
const icon = this.querySelector('.node-icon');
if (icon) icon.style.transform = 'scale(1) rotate(0deg)';
});
});
},
/**
* Setup hover effects for widget elements
*/
setupWidgetHoverEffects() {
document.querySelectorAll('.widget').forEach(widget => {
widget.addEventListener('mouseenter', function() {
this.style.boxShadow = '0 5px 20px rgba(0, 212, 255, 0.3)';
});
widget.addEventListener('mouseleave', function() {
this.style.boxShadow = 'none';
});
});
},
/**
* Setup 3D interactive icon effect
*/
setupInteractiveIcon() {
const icon = document.querySelector(SELECTORS.INTERACTIVE_ICON);
if (!icon) return;
document.addEventListener('mousemove', (e) => {
const rect = icon.getBoundingClientRect();
const centerX = rect.left + rect.width / 2;
const centerY = rect.top + rect.height / 2;
const mouseX = (e.clientX - centerX) / 20;
const mouseY = (e.clientY - centerY) / 20;
icon.style.transform = `perspective(1000px) rotateY(${mouseX}deg) rotateX(${-mouseY}deg)`;
});
}
};
// Initialize all animations
const Animations = {
/**
* Initialize all animation systems
*/
init() {
// Core animations
ParticleAnimation.init();
ScrollAnimations.init();
InteractiveElements.init();
// Apply glitch effect to main title
const mainTitle = document.querySelector('.main-title');
if (mainTitle) {
GlitchEffect.apply(mainTitle);
}
// Page load animations
window.addEventListener('load', () => {
document.body.classList.add(CLASSES.LOADED);
// Fade in hero content
setTimeout(() => {
const heroContent = document.querySelector(SELECTORS.HERO_CONTENT);
if (heroContent) {
heroContent.style.opacity = '1';
heroContent.style.transform = 'translateY(0)';
}
}, 100);
});
}
};

744
js/app.js Normale Datei
Datei anzeigen

@@ -0,0 +1,744 @@
/* AegisSight Monitor - Product Page v2 */
(function () {
'use strict';
/* ==================== LANGUAGE ==================== */
var SITE_LANG = (document.documentElement.lang || 'de').toLowerCase().indexOf('en') === 0 ? 'en' : 'de';
var SUMMARY_FILE = SITE_LANG === 'en' ? 'summary_en.json' : 'summary.json';
/* ==================== NAVBAR ==================== */
var navbar = document.getElementById('navbar');
window.addEventListener('scroll', function () {
navbar.classList.toggle('scrolled', window.scrollY > 10);
});
/* ==================== MOBILE MENU ==================== */
var toggle = document.querySelector('.mobile-menu-toggle');
var menu = document.getElementById('mobile-menu');
var overlay = document.getElementById('mobile-overlay');
function closeMenu() {
toggle.classList.remove('active');
menu.classList.remove('open');
overlay.classList.remove('open');
toggle.setAttribute('aria-expanded', 'false');
}
toggle.addEventListener('click', function () {
var isOpen = menu.classList.contains('open');
if (isOpen) { closeMenu(); } else {
toggle.classList.add('active');
menu.classList.add('open');
overlay.classList.add('open');
toggle.setAttribute('aria-expanded', 'true');
}
});
overlay.addEventListener('click', closeMenu);
menu.querySelectorAll('a').forEach(function (l) { l.addEventListener('click', closeMenu); });
/* ==================== SMOOTH SCROLL ==================== */
document.querySelectorAll('a[href^="#"]').forEach(function (link) {
link.addEventListener('click', function (e) {
var t = document.querySelector(this.getAttribute('href'));
if (t) { e.preventDefault(); t.scrollIntoView({ behavior: 'smooth' }); }
});
});
/* ==================== HERO SLIDER (video-driven mit Endcard) ==================== */
var heroEl = document.querySelector('.hero');
var heroSlides = document.querySelectorAll('.hero-slide');
var heroDots = document.querySelectorAll('.hero-dot');
var heroCurrentSlide = 0;
var heroEndcardTimer = null;
var heroFallbackTimer = null;
var heroIsTransitioning = false;
var HERO_ENDCARD_MS = 7000;
var HERO_FALLBACK_MS = 25000;
function heroClearTimers() {
if (heroEndcardTimer) { clearTimeout(heroEndcardTimer); heroEndcardTimer = null; }
if (heroFallbackTimer) { clearTimeout(heroFallbackTimer); heroFallbackTimer = null; }
}
function heroPlaySlideVideo(slide) {
var v = slide && slide.querySelector('video');
if (!v) return;
try { v.currentTime = 0; } catch (err) { /* ignore */ }
var p = v.play();
if (p && typeof p.catch === 'function') p.catch(function () { /* autoplay blocked */ });
}
function heroPauseSlideVideo(slide) {
var v = slide && slide.querySelector('video');
if (v) v.pause();
}
function heroEnterEndcard() {
if (!heroSlides.length) return;
var slide = heroSlides[heroCurrentSlide];
if (!slide || slide.classList.contains('ended')) return;
slide.classList.add('ended');
if (heroEl) heroEl.classList.add('endcard');
heroClearTimers();
heroEndcardTimer = setTimeout(function () {
heroEndcardTimer = null;
heroNext();
}, HERO_ENDCARD_MS);
}
function heroStartSlide() {
var slide = heroSlides[heroCurrentSlide];
if (!slide) return;
slide.classList.remove('ended');
if (heroEl) heroEl.classList.remove('endcard');
heroPlaySlideVideo(slide);
heroClearTimers();
heroFallbackTimer = setTimeout(function () {
heroFallbackTimer = null;
heroEnterEndcard();
}, HERO_FALLBACK_MS);
}
function heroGoTo(index) {
if (heroIsTransitioning || index === heroCurrentSlide || !heroSlides.length) return;
heroIsTransitioning = true;
heroClearTimers();
var oldIndex = heroCurrentSlide;
heroSlides[oldIndex].classList.add('exiting');
heroSlides[oldIndex].classList.remove('active');
// .ended bleibt waehrend des Fade-outs erhalten - sonst blitzt das pausierte
// Video-Frame durch, waehrend die Endcard ausfadet und der Container fadet aus.
if (heroEl) heroEl.classList.remove('endcard');
if (heroDots[oldIndex]) heroDots[oldIndex].classList.remove('active');
heroPauseSlideVideo(heroSlides[oldIndex]);
setTimeout(function () {
heroSlides[oldIndex].classList.remove('exiting', 'ended');
heroCurrentSlide = index;
heroSlides[heroCurrentSlide].classList.add('active');
if (heroDots[heroCurrentSlide]) heroDots[heroCurrentSlide].classList.add('active');
heroStartSlide();
heroIsTransitioning = false;
}, 400);
}
function heroNext() {
heroGoTo((heroCurrentSlide + 1) % heroSlides.length);
}
function heroPrev() {
heroGoTo((heroCurrentSlide - 1 + heroSlides.length) % heroSlides.length);
}
// Pro Video: 'ended' → Endcard-Phase starten
heroSlides.forEach(function (slide) {
var v = slide.querySelector('video');
if (!v) return;
v.addEventListener('ended', function () {
if (slide.classList.contains('active')) heroEnterEndcard();
});
});
heroDots.forEach(function (dot, i) {
dot.addEventListener('click', function () { heroGoTo(i); });
});
var heroPrevBtn = document.querySelector('.hero-arrow-prev');
var heroNextBtn = document.querySelector('.hero-arrow-next');
if (heroPrevBtn) heroPrevBtn.addEventListener('click', heroPrev);
if (heroNextBtn) heroNextBtn.addEventListener('click', heroNext);
var heroSlider = document.querySelector('.hero-slider');
if (heroSlider) {
var heroTouchStartX = 0;
heroSlider.addEventListener('touchstart', function (e) {
heroTouchStartX = e.changedTouches[0].screenX;
}, { passive: true });
heroSlider.addEventListener('touchend', function (e) {
var diff = e.changedTouches[0].screenX - heroTouchStartX;
if (Math.abs(diff) > 50) {
if (diff < 0) heroNext(); else heroPrev();
}
}, { passive: true });
}
document.addEventListener('visibilitychange', function () {
var slide = heroSlides[heroCurrentSlide];
if (!slide) return;
if (document.hidden) {
heroClearTimers();
heroPauseSlideVideo(slide);
return;
}
if (slide.classList.contains('ended')) {
heroEndcardTimer = setTimeout(function () {
heroEndcardTimer = null;
heroNext();
}, HERO_ENDCARD_MS);
} else {
var v = slide.querySelector('video');
if (v) {
var p = v.play();
if (p && typeof p.catch === 'function') p.catch(function () {});
}
heroFallbackTimer = setTimeout(function () {
heroFallbackTimer = null;
heroEnterEndcard();
}, HERO_FALLBACK_MS);
}
});
// Initialer Start (Slide 0 ist bereits .active im HTML)
if (heroSlides.length) heroStartSlide();
/* ==================== MAP STATE ==================== */
var mapInstance = null;
var markerLayer = null;
var legendControl = null;
var lageData = {};
var dataLoaded = false;
var lageTitlesByLang = {
de: {
'iran-konflikt': 'Gro\u00dflage - Irankonflikt',
'cyberangriffe': 'Cyberangriffe auf deutsche Infrastruktur',
'deepfakes': 'Rechtliche Lage von Deepfakes in Deutschland'
},
en: {
'iran-konflikt': 'Major situation - Iran conflict',
'cyberangriffe': 'Cyberattacks on German infrastructure',
'deepfakes': 'Legal status of deepfakes in Germany'
}
};
var lageTitles = lageTitlesByLang[SITE_LANG] || lageTitlesByLang.de;
/* ==================== 3D CAROUSEL ==================== */
var cards = document.querySelectorAll('.carousel-card');
var dots = document.querySelectorAll('.carousel-dot');
var activeIndex = 0;
window.positionCards = function positionCards(idx) {
activeIndex = idx;
cards.forEach(function (card, i) {
card.classList.remove('active', 'left', 'right', 'hidden');
if (i === idx) card.classList.add('active');
else if (i === (idx - 1 + cards.length) % cards.length) card.classList.add('left');
else if (i === (idx + 1) % cards.length) card.classList.add('right');
else card.classList.add('hidden');
});
dots.forEach(function (dot, i) {
dot.classList.toggle('active', i === idx);
});
// Update map based on active Lage (only after data loaded)
if (!dataLoaded) return;
var lage = cards[idx].getAttribute('data-lage');
var mapSection = document.getElementById('map-section');
if (lage && lageData[lage]) {
mapSection.classList.remove('map-hidden');
showMarkers(lageData[lage].locations, lageData[lage].category_labels);
// Stats-Bar aktualisieren
var titleEl = document.querySelector('.live-stats-title');
if (titleEl) titleEl.textContent = lageTitles[lage] || lage;
countUp(document.getElementById('stat-articles'), lageData[lage].article_count);
countUp(document.getElementById('stat-sources'), lageData[lage].source_count);
countUp(document.getElementById('stat-factchecks'), lageData[lage].factcheck_count);
} else {
if (mapSection) mapSection.classList.add('map-hidden');
clearMarkers();
}
}
cards.forEach(function (card, i) {
card.addEventListener('click', function () {
if (!card.classList.contains('active')) positionCards(i);
});
});
dots.forEach(function (dot, i) {
dot.addEventListener('click', function () { positionCards(i); });
});
positionCards(0);
// Arrow navigation
var prevBtn = document.querySelector('.carousel-prev');
var nextBtn = document.querySelector('.carousel-next');
if (prevBtn) prevBtn.addEventListener('click', function () {
positionCards((activeIndex - 1 + cards.length) % cards.length);
});
if (nextBtn) nextBtn.addEventListener('click', function () {
positionCards((activeIndex + 1) % cards.length);
});
/* ==================== NEUESTE ENTWICKLUNGEN (Live-Monitoring) ==================== */
function htmlEscape(s) {
return String(s == null ? '' : s)
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;');
}
function normalizeSourceName(s) {
return String(s || '').toLowerCase().replace(/^(der|die|das)\s+/, '').replace(/\s+/g, ' ').trim();
}
function renderLatestDevelopments(text, sources) {
if (!text) return null;
sources = Array.isArray(sources) ? sources : [];
var lines = text.split('\n').map(function (l) { return l.trim(); })
.filter(function (l) { return l && (l.charAt(0) === '-' || l.charAt(0) === '['); });
if (!lines.length) return null;
var bulletRe = /^(?:-\s*)?\[\s*(\d{1,2})\.(\d{1,2})\.?(?:\d{2,4})?\s+(\d{1,2}:\d{2})\s*\]\s*(.+?)\s*$/;
var trailingRe = /\s*\{([^{}]+)\}\s*\.?\s*$/;
var citationRe = /\[(\d+[a-z]?)\]/g;
var junkRe = /^(unbekannt|unknown|n\/?a|keine|keine quelle|tba)$/i;
function buildPill(src, name) {
var disp = (src && src.name) || name;
var url = (src && src.url) || '';
var tgMatch = url.match(/^https?:\/\/t\.me\/([^\/?#]+)/i);
var label = tgMatch ? disp + ' (t.me/' + tgMatch[1] + ')' : disp;
var e = htmlEscape(label);
var titleEsc = htmlEscape(disp);
if (src && src.url) {
return '<a href="' + htmlEscape(src.url) + '" target="_blank" rel="noopener" class="dev-source-pill" title="' + titleEsc + '">' + e + '</a>';
}
return '<span class="dev-source-pill" title="' + titleEsc + '">' + e + '</span>';
}
function lookupByName(name) {
var n = normalizeSourceName(name);
if (!n) return null;
var exact = sources.find(function (s) { return normalizeSourceName(s.name) === n; });
if (exact) return exact;
return sources.find(function (s) {
var sn = normalizeSourceName(s.name);
return sn && (sn.indexOf(n) !== -1 || n.indexOf(sn) !== -1);
}) || null;
}
var cards = [];
for (var i = 0; i < lines.length; i++) {
var m = bulletRe.exec(lines[i]);
if (!m) continue;
var date = String(m[1]).padStart(2, '0') + '.' + String(m[2]).padStart(2, '0') + '.';
var time = m[3];
var body = m[4];
var pills = '';
var t = trailingRe.exec(body);
if (t) {
body = body.replace(trailingRe, '').trim();
var items = t[1].split(',').map(function (n) { return n.trim(); }).filter(Boolean);
var seen = {};
pills = items.map(function (item) {
var pipeIdx = item.indexOf('|');
var itemName = pipeIdx >= 0 ? item.slice(0, pipeIdx).trim() : item.trim();
var itemUrl = pipeIdx >= 0 ? item.slice(pipeIdx + 1).trim() : '';
if (!itemName || junkRe.test(itemName)) return '';
var key = normalizeSourceName(itemName);
if (seen[key]) return '';
seen[key] = true;
if (itemUrl) {
return buildPill({ name: itemName, url: itemUrl }, itemName);
}
return buildPill(lookupByName(itemName), itemName);
}).filter(Boolean).join('');
}
if (!pills) {
var nums = [];
var cm;
while ((cm = citationRe.exec(body)) !== null) {
if (nums.indexOf(cm[1]) === -1) nums.push(cm[1]);
}
citationRe.lastIndex = 0;
if (nums.length) {
body = body.replace(citationRe, '').replace(/\s+/g, ' ').trim();
pills = nums.map(function (num) {
var src = sources.find(function (s) { return String(s.nr) === num || Number(s.nr) === Number(num); });
return src ? buildPill(src, src.name) : '';
}).filter(Boolean).join('');
}
}
var head = '<div class="dev-bullet-head">'
+ '<span class="dev-sources">' + pills + '</span>'
+ '<span class="dev-time">' + htmlEscape(time) + ' \u00b7 ' + htmlEscape(date) + '</span>'
+ '</div>';
cards.push('<div class="dev-bullet">' + head + '<div class="dev-body">' + htmlEscape(body) + '</div></div>');
}
if (!cards.length) return null;
return '<div class="dev-list-heading">Neueste Entwicklungen</div>'
+ '<div class="dev-list">' + cards.join('') + '</div>';
}
/* ==================== SIMPLE MARKDOWN ==================== */
function mdToHtml(md) {
if (!md) return '';
var lines = md.split('\n');
var html = '';
var inList = false;
for (var i = 0; i < lines.length; i++) {
var line = lines[i].trim();
if (!line) {
if (inList) { html += '</ul>'; inList = false; }
continue;
}
line = line.replace(/\[(\d+[a-z]?)\]/g, '');
line = line.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>');
if (/^## /.test(line)) {
if (inList) { html += '</ul>'; inList = false; }
html += '<h2>' + line.replace(/^## /, '') + '</h2>';
} else if (/^### /.test(line)) {
if (inList) { html += '</ul>'; inList = false; }
html += '<h3>' + line.replace(/^### /, '') + '</h3>';
} else if (/^- /.test(line)) {
if (!inList) { html += '<ul>'; inList = true; }
html += '<li>' + line.replace(/^- /, '') + '</li>';
} else {
if (inList) { html += '</ul>'; inList = false; }
html += '<p>' + line + '</p>';
}
}
if (inList) html += '</ul>';
return html;
}
/* ==================== COUNT-UP ANIMATION ==================== */
function countUp(el, target) {
if (!el) return;
if (!target) { el.textContent = '0'; return; }
var duration = 1200;
var startTime = null;
function step(ts) {
if (!startTime) startTime = ts;
var progress = Math.min((ts - startTime) / duration, 1);
var ease = 1 - Math.pow(1 - progress, 3);
el.textContent = Math.floor(ease * target).toLocaleString('de-DE');
if (progress < 1) requestAnimationFrame(step);
}
requestAnimationFrame(step);
}
/* ==================== LIVE DATA ==================== */
function timeAgo(dateStr) {
var diffMin = Math.floor((Date.now() - new Date(dateStr).getTime()) / 60000);
if (diffMin < 1) return 'Gerade eben aktualisiert';
if (diffMin < 60) return 'Aktualisiert vor ' + diffMin + ' Min.';
var diffH = Math.floor(diffMin / 60);
if (diffH < 24) return 'Aktualisiert vor ' + diffH + ' Std.';
var diffD = Math.floor(diffH / 24);
return 'Aktualisiert vor ' + diffD + (diffD === 1 ? ' Tag' : ' Tagen');
}
function loadLiveData() {
fetch('/lagen/iran-konflikt/data/' + SUMMARY_FILE + '?t=' + Date.now())
.then(function (r) { if (!r.ok && SITE_LANG === 'en') return fetch('/lagen/iran-konflikt/data/summary.json?t=' + Date.now()); return r; })
.then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); })
.then(function (data) {
var inc = data.incident || {};
// summary.json has flat structure
var ea = document.getElementById('stat-articles');
var es = document.getElementById('stat-sources');
var ef = document.getElementById('stat-factchecks');
countUp(ea, inc.article_count);
countUp(es, inc.source_count);
countUp(ef, inc.factcheck_count);
// Excerpt: pre-extracted in summary.json
var excerptEl = document.getElementById('excerpt-text');
if (excerptEl && data.zusammenfassung) {
excerptEl.innerHTML = mdToHtml(data.zusammenfassung);
}
// Store data and init map
lageData['iran-konflikt'] = {
locations: data.locations || [],
category_labels: data.category_labels || {},
article_count: inc.article_count || 0,
source_count: inc.source_count || 0,
factcheck_count: inc.factcheck_count || 0
};
dataLoaded = true;
createMap();
var mapSection = document.getElementById('map-section');
if (mapSection) mapSection.classList.remove('map-hidden');
showMarkers(data.locations || [], data.category_labels || {});
})
.catch(function () {
});
}
/* ==================== LEAFLET MAP ==================== */
function clearMarkers() {
if (markerLayer) { mapInstance.removeLayer(markerLayer); markerLayer = null; }
if (legendControl && mapInstance) { mapInstance.removeControl(legendControl); legendControl = null; }
}
function createMap() {
if (mapInstance) return;
var mapEl = document.getElementById('map-container');
if (!mapEl || typeof L === 'undefined') return;
mapInstance = L.map(mapEl, {
center: [33.0, 48.0], zoom: 5, zoomControl: true, scrollWheelZoom: true,
minZoom: 2, maxBounds: [[-85, -180], [85, 180]], maxBoundsViscosity: 1.0
});
L.tileLayer('https://tile.openstreetmap.de/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
maxZoom: 19, noWrap: true
}).addTo(mapInstance);
setTimeout(function () { mapInstance.invalidateSize(); }, 500);
}
function pulseIcon(color) {
return L.divIcon({
className: '',
html: '<div class="pulse-marker-wrapper">'
+ '<div class="pulse-marker-ring" style="border-color:' + color + '"></div>'
+ '<div class="pulse-marker-ring" style="border-color:' + color + '"></div>'
+ '<div class="pulse-marker-dot" style="background:' + color + ';box-shadow:0 0 10px ' + color + '"></div>'
+ '</div>',
iconSize: [20, 20], iconAnchor: [10, 10], popupAnchor: [0, -12]
});
}
function buildPopup(loc) {
var html = '<strong style="color:#E8ECF4;">' + (loc.name || '') + '</strong>';
if (loc.country_code) html += ' <span style="color:#8896AB;font-size:0.8rem;">(' + loc.country_code + ')</span>';
html += '<br><span style="font-size:0.85rem;color:#8896AB;">' + (loc.article_count || 0) + ' Artikel</span>';
if (loc.top_articles && loc.top_articles.length > 0) {
html += '<div style="margin-top:6px;border-top:1px solid #1E2D45;padding-top:6px;">';
loc.top_articles.forEach(function (a) {
var hl = (a.headline || '').replace(/\*\*/g, '');
if (hl.length > 60) hl = hl.substring(0, 60) + '\u2026';
if (a.url) {
html += '<a href="' + a.url + '" target="_blank" rel="noopener" style="color:#C8A851;font-size:0.8rem;display:block;margin-top:3px;text-decoration:none;">' + hl + '</a>';
} else {
html += '<span style="color:#8896AB;font-size:0.8rem;display:block;margin-top:3px;">' + hl + '</span>';
}
html += '<span style="color:#556B7A;font-size:0.7rem;">' + (a.source || '') + '</span>';
});
html += '</div>';
}
return html;
}
function showMarkers(locations, apiLabels) {
if (!mapInstance) createMap();
clearMarkers();
var categoryColors = {
primary: '#ef4444',
secondary: '#f59e0b',
tertiary: '#3b82f6',
mentioned: '#7b7b7b'
};
var defaultLabels = SITE_LANG === 'en' ? {
primary: 'Primary',
secondary: 'Reactions',
tertiary: 'Involved',
mentioned: 'Mentioned'
} : {
primary: 'Hauptgeschehen',
secondary: 'Reaktionen',
tertiary: 'Beteiligte',
mentioned: 'Erw\u00e4hnt'
};
var categoryLabels = {};
['primary', 'secondary', 'tertiary', 'mentioned'].forEach(function (k) {
categoryLabels[k] = (apiLabels && apiLabels[k]) || defaultLabels[k];
});
var clusterGroup = L.markerClusterGroup({
maxClusterRadius: 50,
spiderfyOnMaxZoom: true,
showCoverageOnHover: false,
zoomToBoundsOnClick: true,
disableClusteringAtZoom: 10
});
var usedCategories = {};
var bounds = [];
locations.forEach(function (loc) {
if (!loc.lat || !loc.lon) return;
var cat = loc.category || 'mentioned';
var color = categoryColors[cat] || '#7b7b7b';
usedCategories[cat] = true;
var marker;
if (cat === 'primary' || cat === 'secondary') {
marker = L.marker([loc.lat, loc.lon], { icon: pulseIcon(color) });
} else {
marker = L.circleMarker([loc.lat, loc.lon], {
radius: 5, fillColor: color, fillOpacity: 0.7,
color: color, weight: 1, opacity: 0.9
});
}
marker.bindPopup(buildPopup(loc), { maxWidth: 300 });
clusterGroup.addLayer(marker);
bounds.push([loc.lat, loc.lon]);
});
markerLayer = clusterGroup;
mapInstance.addLayer(markerLayer);
var legend = L.control({ position: 'bottomright' });
legend.onAdd = function () {
var div = L.DomUtil.create('div');
div.style.cssText = 'background:#151D2E;padding:10px 14px;border-radius:4px;border:1px solid #1E2D45;box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:0.8rem;line-height:1.8;color:#E8ECF4;';
var html = '<strong style="color:#C8A851;">' + (SITE_LANG === 'en' ? 'Legend' : 'Legende') + '</strong><br>';
['primary', 'secondary', 'tertiary', 'mentioned'].forEach(function (cat) {
if (usedCategories[cat]) {
html += '<span style="color:' + categoryColors[cat] + ';">&#9679;</span> ' + categoryLabels[cat] + '<br>';
}
});
div.innerHTML = html;
return div;
};
legendControl = legend;
legendControl.addTo(mapInstance);
if (bounds.length > 0) {
mapInstance.fitBounds(bounds, { padding: [30, 30], maxZoom: 7 });
}
setTimeout(function () { mapInstance.invalidateSize(); }, 300);
}
/* ==================== CONTACT MODAL ==================== */
window.openContactModal = function () {
document.getElementById('contact-modal').style.display = 'flex';
document.body.style.overflow = 'hidden';
if (window.umami) umami.track('contact_modal_open');
};
window.closeContactModal = function () {
document.getElementById('contact-modal').style.display = 'none';
document.body.style.overflow = '';
};
// Close on overlay click
var modalOverlay = document.getElementById('contact-modal');
if (modalOverlay) {
modalOverlay.addEventListener('click', function (e) {
if (e.target === modalOverlay) closeContactModal();
});
}
// Close on Escape
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && modalOverlay && modalOverlay.style.display === 'flex') {
closeContactModal();
}
});
// Form submit -> server-side SMTP
window.submitContact = function (e) {
e.preventDefault();
var lang = (document.documentElement.lang || 'de').toLowerCase().indexOf('en') === 0 ? 'en' : 'de';
var T = lang === 'en'
? { sending: 'Sending...', send: 'Send message', sendError: 'Error sending message', netError: 'Connection error. Please try again.' }
: { sending: 'Wird gesendet...', send: 'Nachricht senden', sendError: 'Fehler beim Senden', netError: 'Verbindungsfehler. Bitte versuchen Sie es erneut.' };
var btn = e.target.querySelector('button[type="submit"]');
if (btn) { btn.disabled = true; btn.textContent = T.sending; }
fetch('/api/contact', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: document.getElementById('cf-name').value,
organisation: document.getElementById('cf-org').value,
email: document.getElementById('cf-email').value,
message: document.getElementById('cf-message').value,
lang: lang
})
})
.then(function (r) { return r.json().then(function (d) { return { ok: r.ok, data: d }; }); })
.then(function (res) {
if (res.ok) {
document.getElementById('contact-form').style.display = 'none';
document.getElementById('form-success').style.display = 'block';
if (window.umami) umami.track('contact_form_success');
} else {
alert(res.data.error || T.sendError);
if (btn) { btn.disabled = false; btn.textContent = T.send; }
}
})
.catch(function () {
alert(T.netError);
if (btn) { btn.disabled = false; btn.textContent = T.send; }
});
return false;
};
/* ==================== LOAD DEEPFAKES DATA ==================== */
function loadDeepfakesData() {
fetch('/lagen/deepfakes/data/' + SUMMARY_FILE + '?t=' + Date.now())
.then(function (r) { if (!r.ok && SITE_LANG === 'en') return fetch('/lagen/deepfakes/data/summary.json?t=' + Date.now()); return r; })
.then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); })
.then(function (data) {
var excerptEl = document.getElementById('excerpt-text-deepfakes');
if (excerptEl && data.zusammenfassung) {
var lines = data.zusammenfassung.split("\n");
var filtered = lines.filter(function(l) { var t = l.trim(); return !t || t.indexOf("## ") === 0 || t.indexOf("- ") === 0; });
excerptEl.innerHTML = mdToHtml(filtered.join("\n"));
}
// Store data for map
lageData['deepfakes'] = {
locations: data.locations || [],
category_labels: data.category_labels || {},
article_count: (data.incident || {}).article_count || 0,
source_count: (data.incident || {}).source_count || 0,
factcheck_count: (data.incident || {}).factcheck_count || 0
};
})
.catch(function () {
var el = document.getElementById('excerpt-text-deepfakes');
if (el) el.textContent = 'Daten konnten nicht geladen werden.';
});
}
/* ==================== LOAD CYBERANGRIFFE DATA ==================== */
function loadCyberangriffeData() {
fetch('/lagen/cyberangriffe/data/' + SUMMARY_FILE + '?t=' + Date.now())
.then(function (r) { if (!r.ok && SITE_LANG === 'en') return fetch('/lagen/cyberangriffe/data/summary.json?t=' + Date.now()); return r; })
.then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); })
.then(function (data) {
var excerptEl = document.getElementById('excerpt-text-cyberangriffe');
if (excerptEl && data.zusammenfassung) {
excerptEl.innerHTML = mdToHtml(data.zusammenfassung);
}
lageData['cyberangriffe'] = {
locations: data.locations || [],
category_labels: data.category_labels || {},
article_count: (data.incident || {}).article_count || 0,
source_count: (data.incident || {}).source_count || 0,
factcheck_count: (data.incident || {}).factcheck_count || 0
};
})
.catch(function () {
var el = document.getElementById('excerpt-text-cyberangriffe');
if (el) el.textContent = 'Daten konnten nicht geladen werden.';
});
}
/* ==================== INIT ==================== */
loadLiveData();
loadDeepfakesData();
loadCyberangriffeData();
})();

Datei anzeigen

@@ -1,514 +0,0 @@
/**
* UI Components module for AegisSight website
* Contains all interactive UI component logic
*/
// Language Toggle Component
const LanguageToggle = {
element: null,
/**
* Initialize language toggle
*/
init() {
this.element = document.querySelector(SELECTORS.LANG_TOGGLE);
if (!this.element) return;
this.element.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
this.toggle();
});
},
/**
* Toggle between languages
*/
toggle() {
const newLanguage = getCurrentLanguage() === 'de' ? 'en' : 'de';
switchLanguage(newLanguage);
// Update expand button text after language change
ProductShowcase.updateExpandButtonText();
}
};
// Navigation Component
const Navigation = {
navbar: null,
/**
* Initialize navigation component
*/
init() {
this.navbar = document.querySelector(SELECTORS.NAVBAR);
this.setupSmoothScrolling();
this.setupMobileMenu();
},
/**
* Setup smooth scrolling for anchor links
*/
setupSmoothScrolling() {
document.querySelectorAll(SELECTORS.SMOOTH_LINKS).forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const targetId = this.getAttribute('href');
const target = document.querySelector(targetId);
if (target) {
target.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
},
/**
* Setup mobile menu functionality
*/
setupMobileMenu() {
// Mobile menu logic would go here if needed
// Currently not implemented as per YAGNI principle
}
};
// About Section Tabs
const AboutTabs = {
tabs: null,
panels: null,
/**
* Initialize about section tabs
*/
init() {
this.tabs = document.querySelectorAll(SELECTORS.ABOUT_TABS);
this.panels = document.querySelectorAll(SELECTORS.ABOUT_PANELS);
if (!this.tabs.length) return;
this.tabs.forEach(tab => {
tab.addEventListener('click', () => this.switchTab(tab));
});
},
/**
* Switch to selected tab
* @param {HTMLElement} selectedTab - Tab element that was clicked
*/
switchTab(selectedTab) {
const targetPanelId = selectedTab.getAttribute(DATA_ATTRS.TAB);
// Remove active class from all tabs and panels
this.tabs.forEach(tab => tab.classList.remove(CLASSES.ACTIVE));
this.panels.forEach(panel => panel.classList.remove(CLASSES.ACTIVE));
// Add active class to selected tab and corresponding panel
selectedTab.classList.add(CLASSES.ACTIVE);
const targetPanel = document.getElementById(targetPanelId);
if (targetPanel) {
targetPanel.classList.add(CLASSES.ACTIVE);
}
}
};
// Product Showcase Component
const ProductShowcase = {
expandButton: null,
toolsGrid: null,
/**
* Initialize product showcase
*/
init() {
this.expandButton = document.querySelector(SELECTORS.EXPAND_BUTTON);
this.toolsGrid = document.querySelector(SELECTORS.TOOLS_GRID);
if (!this.expandButton || !this.toolsGrid) return;
this.expandButton.addEventListener('click', () => this.toggleExpand());
},
/**
* Toggle expand/collapse state
*/
toggleExpand() {
const isExpanded = this.expandButton.getAttribute(DATA_ATTRS.EXPANDED) === 'true';
if (isExpanded) {
this.collapse();
} else {
this.expand();
}
},
/**
* Expand the tools grid
*/
expand() {
this.toolsGrid.classList.remove(CLASSES.COLLAPSED);
this.expandButton.setAttribute(DATA_ATTRS.EXPANDED, 'true');
this.updateExpandButtonText();
},
/**
* Collapse the tools grid
*/
collapse() {
this.toolsGrid.classList.add(CLASSES.COLLAPSED);
this.expandButton.setAttribute(DATA_ATTRS.EXPANDED, 'false');
this.updateExpandButtonText();
},
/**
* Update expand button text based on state
*/
updateExpandButtonText() {
const expandText = this.expandButton?.querySelector('.expand-text');
if (!expandText) return;
const isExpanded = this.expandButton.getAttribute(DATA_ATTRS.EXPANDED) === 'true';
expandText.textContent = getTranslation(isExpanded ? 'hideDetails' : 'expandDetails');
}
};
// Login Modal Component
const LoginModal = {
modalElement: null,
modalStyles: null,
/**
* Show login modal
*/
show() {
this.createModal();
this.attachEventListeners();
},
/**
* Create modal HTML and styles
*/
createModal() {
// Create modal element
this.modalElement = document.createElement('div');
this.modalElement.className = 'login-modal';
this.modalElement.innerHTML = this.getModalHTML();
document.body.appendChild(this.modalElement);
// Add modal styles if not already added
if (!this.modalStyles) {
this.addModalStyles();
}
},
/**
* Get modal HTML content
* @returns {string} Modal HTML
*/
getModalHTML() {
const t = getTranslation;
return `
<div class="modal-content">
<button class="modal-close">×</button>
<div class="modal-header">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="lock-icon">
<rect x="5" y="11" width="14" height="10" rx="2" stroke="currentColor" stroke-width="2"/>
<path d="M7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7V11" stroke="currentColor" stroke-width="2"/>
<circle cx="12" cy="16" r="1" fill="currentColor"/>
</svg>
<h3>${t('authRequired')}</h3>
</div>
<p>${t('authDescription')}</p>
<form id="loginForm">
<div class="form-group">
<label for="auth-password">${t('accessCode')}</label>
<input type="password" id="auth-password" placeholder="${t('accessCodePlaceholder')}" required autofocus>
</div>
<button type="submit" class="primary-button">${t('grantAccess')}</button>
</form>
<p class="auth-note">${t('noAccess')} <a href="mailto:info@aegis-sight.de">${t('contactUs')}</a></p>
</div>
`;
},
/**
* Add modal styles to document
*/
addModalStyles() {
this.modalStyles = document.createElement('style');
this.modalStyles.textContent = `
.login-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(10px);
display: flex;
align-items: center;
justify-content: center;
z-index: 10000;
animation: fadeIn 0.3s ease;
}
.modal-content {
background: #ffffff;
border-radius: 12px;
padding: 2.5rem;
max-width: 400px;
width: 90%;
position: relative;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.modal-header {
text-align: center;
margin-bottom: 1.5rem;
}
.modal-header .lock-icon {
width: 48px;
height: 48px;
color: #0066cc;
margin-bottom: 1rem;
}
.modal-close {
position: absolute;
top: 1rem;
right: 1rem;
background: none;
border: none;
color: #666;
font-size: 2rem;
cursor: pointer;
transition: all 0.3s ease;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}
.modal-close:hover {
background: #f0f0f0;
color: #333;
}
.modal-content h3 {
color: #1a1a1a;
margin-bottom: 0.5rem;
font-size: 1.5rem;
font-weight: 600;
}
.modal-content p {
color: #666;
margin-bottom: 2rem;
text-align: center;
}
.modal-content .form-group {
margin-bottom: 1.5rem;
}
.modal-content label {
display: block;
color: #333;
margin-bottom: 0.5rem;
font-weight: 500;
}
.modal-content input {
width: 100%;
padding: 0.875rem;
background: #f8f8f8;
border: 2px solid #e0e0e0;
border-radius: 8px;
color: #333;
font-size: 1rem;
transition: all 0.3s ease;
}
.modal-content input:focus {
outline: none;
border-color: #0066cc;
background: #fff;
}
.modal-content input::placeholder {
color: #999;
}
.modal-content .primary-button {
width: 100%;
padding: 0.875rem;
background: #0066cc;
color: white;
border: none;
border-radius: 8px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
}
.modal-content .primary-button:hover {
background: #0052a3;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}
.auth-note {
text-align: center;
margin-top: 1.5rem;
font-size: 0.9rem;
color: #666;
}
.auth-note a {
color: #0066cc;
text-decoration: none;
}
.auth-note a:hover {
text-decoration: underline;
}
`;
document.head.appendChild(this.modalStyles);
},
/**
* Attach event listeners to modal
*/
attachEventListeners() {
// Close button
const closeBtn = this.modalElement.querySelector('.modal-close');
closeBtn.addEventListener('click', () => this.close());
// Form submission
const form = this.modalElement.querySelector('#loginForm');
form.addEventListener('submit', (e) => this.handleSubmit(e));
// Click outside to close
this.modalElement.addEventListener('click', (e) => {
if (e.target === this.modalElement) {
this.close();
}
});
},
/**
* Handle form submission
* @param {Event} e - Submit event
*/
async handleSubmit(e) {
e.preventDefault();
const password = document.getElementById('auth-password').value;
try {
// Validate token via Insights API
const response = await fetch('/insights/api/validate-token.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ token: password })
});
const result = await response.json();
if (result.valid) {
sessionStorage.setItem(CONFIG.AUTH.SESSION_KEY, 'true');
this.close();
window.location.href = CONFIG.AUTH.REDIRECT_PAGE;
} else {
alert(getTranslation('wrongCode'));
document.getElementById('auth-password').value = '';
document.getElementById('auth-password').focus();
}
} catch (error) {
console.error('Token validation error:', error);
alert(getTranslation('wrongCode'));
}
},
/**
* Close and remove modal
*/
close() {
if (this.modalElement) {
this.modalElement.remove();
this.modalElement = null;
}
}
};
// Contact Form Component
const ContactForm = {
form: null,
/**
* Initialize contact form
*/
init() {
this.form = document.querySelector(SELECTORS.CONTACT_FORM);
if (!this.form) return;
this.form.addEventListener('submit', (e) => this.handleSubmit(e));
},
/**
* Handle form submission
* @param {Event} e - Submit event
*/
handleSubmit(e) {
e.preventDefault();
// Get form data
const formData = new FormData(this.form);
const data = Object.fromEntries(formData.entries());
// In production, this would send data to server
console.log('Form submission:', data);
// Show success message
alert(getTranslation('contactFormSuccess'));
this.form.reset();
}
};
// Demo Request Handler
const DemoRequest = {
/**
* Initialize demo request buttons
*/
init() {
document.querySelectorAll('.primary-button, .secondary-button, .cta-button').forEach(button => {
if (button.textContent.toLowerCase().includes('demo')) {
button.addEventListener('click', (e) => this.handleDemoRequest(e));
}
});
},
/**
* Handle demo request
* @param {Event} e - Click event
*/
handleDemoRequest(e) {
e.preventDefault();
alert(getTranslation('demoRequestAlert'));
}
};
// Initialize all components
const Components = {
/**
* Initialize all UI components
*/
init() {
LanguageToggle.init();
Navigation.init();
AboutTabs.init();
ProductShowcase.init();
ContactForm.init();
DemoRequest.init();
}
};
// Make showLoginModal globally available for onclick attribute
window.showLoginModal = function() {
LoginModal.show();
};
// Make closeLoginModal globally available for onclick attribute
window.closeLoginModal = function() {
LoginModal.close();
};

Datei anzeigen

@@ -1,209 +0,0 @@
/**
* Hero Video Rotation System
* Manages rotating background videos in hero section
*/
const HeroVideoRotation = {
videos: [],
currentIndex: 0,
rotationInterval: null,
isTransitioning: false,
/**
* Initialize the video rotation system
*/
init() {
// Get all video elements
this.videos = document.querySelectorAll('.hero-video');
if (!this.videos.length) return;
// Setup event listeners
this.setupEventListeners();
// Start rotation
this.startRotation();
// Ensure first video is playing
this.playVideo(0);
},
/**
* Setup event listeners for videos
*/
setupEventListeners() {
// Indicators removed - no click handlers needed
// Pause rotation on hover (optional)
const heroSection = document.querySelector('.hero');
if (heroSection) {
heroSection.addEventListener('mouseenter', () => {
// Optional: pause rotation on hover
// this.stopRotation();
});
heroSection.addEventListener('mouseleave', () => {
// Optional: resume rotation
// this.startRotation();
});
}
// Handle video load errors gracefully
this.videos.forEach((video, index) => {
video.addEventListener('error', () => {
console.warn(`Video ${index} failed to load, skipping...`);
// If current video fails, move to next
if (index === this.currentIndex) {
this.nextVideo();
}
});
// Ensure videos are ready to play
video.addEventListener('loadeddata', () => {
console.log(`Video ${index} loaded successfully`);
});
});
},
/**
* Start automatic rotation
*/
startRotation() {
// Clear any existing interval
this.stopRotation();
// Set new interval
this.rotationInterval = setInterval(() => {
this.nextVideo();
}, CONFIG.HERO_VIDEOS.ROTATION_INTERVAL);
},
/**
* Stop automatic rotation
*/
stopRotation() {
if (this.rotationInterval) {
clearInterval(this.rotationInterval);
this.rotationInterval = null;
}
},
/**
* Switch to next video
*/
nextVideo() {
const nextIndex = (this.currentIndex + 1) % this.videos.length;
this.switchToVideo(nextIndex);
},
/**
* Switch to previous video
*/
previousVideo() {
const prevIndex = (this.currentIndex - 1 + this.videos.length) % this.videos.length;
this.switchToVideo(prevIndex);
},
/**
* Switch to specific video by index
* @param {number} index - Video index to switch to
*/
switchToVideo(index) {
if (this.isTransitioning || index === this.currentIndex) return;
this.isTransitioning = true;
const currentVideo = this.videos[this.currentIndex];
const nextVideo = this.videos[index];
// Indicators removed - no update needed
// Prepare next video
this.prepareVideo(nextVideo);
// Fade out current video
currentVideo.classList.add('fading-out');
// After half the fade duration, start fading in the next video
setTimeout(() => {
nextVideo.classList.add('active');
nextVideo.classList.remove('fading-out');
// Play next video
this.playVideo(index);
}, CONFIG.HERO_VIDEOS.FADE_DURATION / 2);
// Complete transition
setTimeout(() => {
currentVideo.classList.remove('active', 'fading-out');
this.currentIndex = index;
this.isTransitioning = false;
}, CONFIG.HERO_VIDEOS.FADE_DURATION);
},
/**
* Prepare video for playback
* @param {HTMLVideoElement} video - Video element to prepare
*/
prepareVideo(video) {
// Reset video to beginning
video.currentTime = 0;
// Ensure video is ready to play
const playPromise = video.play();
if (playPromise !== undefined) {
playPromise.catch(error => {
console.warn('Video autoplay was prevented:', error);
});
}
},
/**
* Play specific video
* @param {number} index - Index of video to play
*/
playVideo(index) {
const video = this.videos[index];
if (video) {
const playPromise = video.play();
if (playPromise !== undefined) {
playPromise.catch(error => {
console.warn(`Could not play video ${index}:`, error);
});
}
}
},
/**
* Pause all videos
*/
pauseAllVideos() {
this.videos.forEach(video => {
video.pause();
});
},
/**
* Handle page visibility change (pause when tab is not visible)
*/
handleVisibilityChange() {
if (document.hidden) {
this.stopRotation();
this.pauseAllVideos();
} else {
this.playVideo(this.currentIndex);
this.startRotation();
}
}
};
// Initialize when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
HeroVideoRotation.init();
});
// Handle page visibility API
document.addEventListener('visibilitychange', () => {
HeroVideoRotation.handleVisibilityChange();
});

Datei anzeigen

@@ -1,54 +0,0 @@
/**
* Minimal JavaScript for legal pages (Impressum & Datenschutz)
* Only includes necessary functionality for language switching
*/
// Set current year in footer
function setCurrentYear() {
const currentYear = new Date().getFullYear();
const yearElements = document.querySelectorAll('.current-year');
yearElements.forEach(element => {
element.textContent = currentYear;
});
}
// Simple language toggle for legal pages
document.addEventListener('DOMContentLoaded', function() {
// Set current year immediately
setCurrentYear();
// Get the language toggle button
const langToggle = document.querySelector('.lang-toggle');
if (langToggle) {
langToggle.addEventListener('click', function(e) {
e.preventDefault();
// Get current language from button
const currentLang = this.getAttribute('data-lang') || 'de';
const newLang = currentLang === 'de' ? 'en' : 'de';
// Store language preference
if (typeof(Storage) !== 'undefined') {
localStorage.setItem('aegissight_language', newLang);
}
// Get current page name
const currentPage = window.location.pathname.split('/').pop();
// Determine redirect URL
let redirectUrl = '';
if (currentPage === 'impressum.html' || currentPage === 'impressum-en.html') {
redirectUrl = newLang === 'en' ? 'impressum-en.html' : 'impressum.html';
} else if (currentPage === 'datenschutz.html' || currentPage === 'datenschutz-en.html') {
redirectUrl = newLang === 'en' ? 'datenschutz-en.html' : 'datenschutz.html';
}
// Redirect to the appropriate version
if (redirectUrl) {
window.location.href = redirectUrl;
}
});
}
});

Datei anzeigen

@@ -1,305 +0,0 @@
/**
* Main application entry point for AegisSight website
* Initializes all modules and coordinates application startup
*/
/**
* Toggle tools grid visibility
*/
function toggleTools(button) {
// Find the tools grid within the same product card
const productCard = button.closest('.product-card');
const toolsGrid = productCard.querySelector('.tools-grid');
if (toolsGrid) {
const isExpanded = toolsGrid.classList.contains('expanded');
const currentLang = getCurrentLanguage ? getCurrentLanguage() : 'de';
if (isExpanded) {
toolsGrid.classList.remove('expanded');
toolsGrid.classList.add('collapsed');
button.setAttribute('data-expanded', 'false');
button.querySelector('span').textContent = currentLang === 'de' ? 'Details anzeigen' : 'Show Details';
} else {
// Force browser reflow before adding expanded class
toolsGrid.style.display = 'grid';
void toolsGrid.offsetHeight; // Trigger reflow
toolsGrid.classList.remove('collapsed');
toolsGrid.classList.add('expanded');
button.setAttribute('data-expanded', 'true');
button.querySelector('span').textContent = currentLang === 'de' ? 'Details verbergen' : 'Hide Details';
// Ensure all tool cards are visible
setTimeout(() => {
const toolCards = toolsGrid.querySelectorAll('.tool-card');
toolCards.forEach((card, index) => {
card.style.opacity = '1';
card.style.transform = 'translateY(0)';
});
}, 100);
}
}
}
/**
* Application initialization
*/
const App = {
/**
* Initialize the entire application
*/
init() {
// Check DOM ready state
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => this.start());
} else {
// DOM is already ready
this.start();
}
},
/**
* Start the application after DOM is ready
*/
start() {
console.log('AegisSight Website Initializing...');
// Initialize modules in correct order
try {
// 1. Initialize translations first (includes year replacement)
initTranslations();
console.log('✓ Translations initialized');
// 2. Initialize UI components
Components.init();
console.log('✓ Components initialized');
// 3. Initialize animations
Animations.init();
console.log('✓ Animations initialized');
// 4. Setup error handling
this.setupErrorHandling();
// 5. Setup performance monitoring
this.setupPerformanceMonitoring();
console.log('AegisSight Website Ready!');
} catch (error) {
console.error('Failed to initialize application:', error);
this.handleInitError(error);
}
},
/**
* Setup global error handling
*/
setupErrorHandling() {
window.addEventListener('error', (event) => {
console.error('Global error:', event.error);
// In production, this would send errors to monitoring service
});
window.addEventListener('unhandledrejection', (event) => {
console.error('Unhandled promise rejection:', event.reason);
// In production, this would send errors to monitoring service
});
},
/**
* Setup performance monitoring
*/
setupPerformanceMonitoring() {
// Monitor page load performance
window.addEventListener('load', () => {
if (window.performance && window.performance.timing) {
const timing = window.performance.timing;
const loadTime = timing.loadEventEnd - timing.navigationStart;
console.log(`Page load time: ${loadTime}ms`);
// Log other performance metrics
const metrics = {
domContentLoaded: timing.domContentLoadedEventEnd - timing.navigationStart,
domComplete: timing.domComplete - timing.navigationStart,
firstPaint: this.getFirstPaintTime()
};
console.log('Performance metrics:', metrics);
}
});
},
/**
* Set current year in footer and update translations dynamically
*/
setCurrentYear() {
const currentYear = new Date().getFullYear();
// Set current year in main footer span element
const yearElement = document.getElementById('currentYear');
if (yearElement) {
yearElement.textContent = currentYear;
}
// Set current year in legal pages footer spans
const legalYearElements = document.querySelectorAll('.current-year');
legalYearElements.forEach(element => {
element.textContent = currentYear;
});
// Update copyright translation with current year
if (window.translations) {
Object.keys(window.translations).forEach(lang => {
if (window.translations[lang].copyright) {
window.translations[lang].copyright = window.translations[lang].copyright.replace('{year}', currentYear);
}
});
}
},
/**
* Get first paint time if available
* @returns {number|null} First paint time in milliseconds
*/
getFirstPaintTime() {
if (window.performance && window.performance.getEntriesByType) {
const paintEntries = window.performance.getEntriesByType('paint');
const firstPaint = paintEntries.find(entry => entry.name === 'first-paint');
return firstPaint ? Math.round(firstPaint.startTime) : null;
}
return null;
},
/**
* Handle initialization errors
* @param {Error} error - The error that occurred
*/
handleInitError(error) {
// Create a fallback error message for users
const errorContainer = document.createElement('div');
errorContainer.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: #ff4444;
color: white;
padding: 15px 20px;
border-radius: 5px;
z-index: 10000;
max-width: 300px;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
`;
errorContainer.textContent = 'Ein Fehler ist aufgetreten. Bitte laden Sie die Seite neu.';
document.body.appendChild(errorContainer);
// Auto-remove after 5 seconds
setTimeout(() => {
errorContainer.remove();
}, 5000);
}
};
/**
* Utility functions
*/
const Utils = {
/**
* Debounce function to limit function calls
* @param {Function} func - Function to debounce
* @param {number} wait - Wait time in milliseconds
* @returns {Function} Debounced function
*/
debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
},
/**
* Throttle function to limit function calls
* @param {Function} func - Function to throttle
* @param {number} limit - Time limit in milliseconds
* @returns {Function} Throttled function
*/
throttle(func, limit) {
let inThrottle;
return function(...args) {
if (!inThrottle) {
func.apply(this, args);
inThrottle = true;
setTimeout(() => inThrottle = false, limit);
}
};
},
/**
* Check if element is in viewport
* @param {HTMLElement} element - Element to check
* @returns {boolean} True if element is in viewport
*/
isInViewport(element) {
const rect = element.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
},
/**
* Load script dynamically
* @param {string} src - Script source URL
* @returns {Promise} Promise that resolves when script is loaded
*/
loadScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
},
/**
* Get cookie value by name
* @param {string} name - Cookie name
* @returns {string|null} Cookie value or null
*/
getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) {
return parts.pop().split(';').shift();
}
return null;
},
/**
* Set cookie
* @param {string} name - Cookie name
* @param {string} value - Cookie value
* @param {number} days - Days until expiration
*/
setCookie(name, value, days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
const expires = `expires=${date.toUTCString()}`;
document.cookie = `${name}=${value};${expires};path=/`;
}
};
// Make Utils globally available if needed
window.Utils = Utils;
// Start the application
App.init();

Datei anzeigen

@@ -1,215 +0,0 @@
/**
* Website Protection Script
* Prevents copying, downloading, and inspection of website content
*/
(function() {
'use strict';
// TEMPORARILY DISABLED FOR DEVELOPMENT - 2026-01-08
console.log('⚠️ Protection disabled for development');
return;
// Check if user is on a mobile device
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||
('ontouchstart' in window) ||
(navigator.maxTouchPoints > 0);
// Exit early if on mobile device - no protection
if (isMobile) {
console.log('Mobile device detected - protection disabled');
return;
}
// Disable right-click context menu
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
return false;
});
// Disable text selection - except for auth password field
document.addEventListener('selectstart', function(e) {
// Allow text selection in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
// Disable drag
document.addEventListener('dragstart', function(e) {
e.preventDefault();
return false;
});
// Disable copy - except for auth password field
document.addEventListener('copy', function(e) {
// Allow copy in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
// Disable cut - except for auth password field
document.addEventListener('cut', function(e) {
// Allow cut in the authentication password field
if (e.target && e.target.id === 'auth-password') {
return true;
}
e.preventDefault();
return false;
});
// Allow paste everywhere - removed restriction
// document.addEventListener('paste', function(e) {
// e.preventDefault();
// return false;
// });
// Disable print
window.addEventListener('beforeprint', function(e) {
e.preventDefault();
return false;
});
// Detect and block DevTools
let devtools = {open: false, orientation: null};
const threshold = 160;
const emitEvent = (state, orientation) => {
if (state) {
console.clear();
document.body.style.display = 'none';
document.body.innerHTML = '<div style="display:flex;justify-content:center;align-items:center;height:100vh;background:#000;color:#fff;font-family:Inter,sans-serif;"><h1>Zugriff verweigert</h1></div>';
}
};
setInterval(() => {
if (window.outerHeight - window.innerHeight > threshold ||
window.outerWidth - window.innerWidth > threshold) {
if (!devtools.open) {
emitEvent(true, null);
devtools.open = true;
}
} else {
if (devtools.open) {
emitEvent(false, null);
devtools.open = false;
}
}
}, 500);
// Disable F12, Ctrl+Shift+I, Ctrl+Shift+J, Ctrl+U, Ctrl+S
document.addEventListener('keydown', function(e) {
// F12
if (e.keyCode === 123) {
e.preventDefault();
return false;
}
// Ctrl+Shift+I (DevTools)
if (e.ctrlKey && e.shiftKey && e.keyCode === 73) {
e.preventDefault();
return false;
}
// Ctrl+Shift+J (Console)
if (e.ctrlKey && e.shiftKey && e.keyCode === 74) {
e.preventDefault();
return false;
}
// Ctrl+U (View Source)
if (e.ctrlKey && e.keyCode === 85) {
e.preventDefault();
return false;
}
// Ctrl+S (Save)
if (e.ctrlKey && e.keyCode === 83) {
e.preventDefault();
return false;
}
// Ctrl+A (Select All)
if (e.ctrlKey && e.keyCode === 65) {
e.preventDefault();
return false;
}
// Ctrl+C (Copy)
if (e.ctrlKey && e.keyCode === 67) {
e.preventDefault();
return false;
}
// Ctrl+X (Cut)
if (e.ctrlKey && e.keyCode === 88) {
e.preventDefault();
return false;
}
// Ctrl+V (Paste) - Allow paste
// if (e.ctrlKey && e.keyCode === 86) {
// e.preventDefault();
// return false;
// }
});
// Disable image dragging
const images = document.getElementsByTagName('img');
for (let i = 0; i < images.length; i++) {
images[i].addEventListener('dragstart', function(e) {
e.preventDefault();
return false;
});
images[i].addEventListener('mousedown', function(e) {
e.preventDefault();
return false;
});
}
// Clear console periodically
setInterval(function() {
console.clear();
console.log('%cSicherheitswarnung!', 'color: red; font-size: 30px; font-weight: bold;');
console.log('%cDiese Browser-Funktion ist für Entwickler vorgesehen. Unbefugter Zugriff ist untersagt.', 'color: red; font-size: 16px;');
}, 1000);
// Detect console.log override attempts
const originalLog = console.log;
console.log = function() {
originalLog.apply(console, arguments);
console.clear();
};
// Disable text highlighting with CSS
const style = document.createElement('style');
style.innerHTML = `
* {
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
-webkit-touch-callout: none !important;
-webkit-user-drag: none !important;
}
img {
pointer-events: none !important;
-webkit-user-drag: none !important;
-khtml-user-drag: none !important;
-moz-user-drag: none !important;
-o-user-drag: none !important;
user-drag: none !important;
}
@media print {
body {
display: none !important;
}
}
`;
document.head.appendChild(style);
// Protection against automated tools
if (window.automation || window.callPhantom || window._phantom || window.__nightmare || window.WebDriverException || document.__webdriver_evaluate || document.__selenium_evaluate || document.__webdriver_script_function || document.__webdriver_script_func || document.__webdriver_script_fn || document.__fxdriver_evaluate || document.__driver_unwrapped || document.__webdriver_unwrapped || document.__driver_evaluate || document.__selenium_unwrapped || document.__fxdriver_unwrapped) {
document.body.style.display = 'none';
document.body.innerHTML = '';
}
})();

Datei anzeigen

@@ -1,130 +0,0 @@
/**
* Section Transitions & Effects
* Modern animations for section dividers
*/
const SectionTransitions = {
init() {
this.initParticleBridge();
this.initScrollReveal();
this.initWaveAnimation();
this.initParallaxDividers();
},
// Animated particles between sections
initParticleBridge() {
const bridge = document.getElementById('particleBridge');
if (!bridge) return;
// Create floating particles
for (let i = 0; i < 30; i++) {
const particle = document.createElement('div');
particle.className = 'particle';
particle.style.left = Math.random() * 100 + '%';
particle.style.animationDelay = Math.random() * 5 + 's';
particle.style.animationDuration = (5 + Math.random() * 5) + 's';
particle.style.animation = `floatParticle ${5 + Math.random() * 5}s linear infinite`;
bridge.appendChild(particle);
}
},
// Reveal sections on scroll
initScrollReveal() {
const sections = document.querySelectorAll('.fade-section');
const revealSection = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
// Add shimmer effect on reveal
const shimmer = document.createElement('div');
shimmer.style.cssText = `
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(15, 114, 181, 0.2), transparent);
animation: shimmerPass 1s ease-out forwards;
pointer-events: none;
z-index: 100;
`;
entry.target.style.position = 'relative';
entry.target.appendChild(shimmer);
setTimeout(() => shimmer.remove(), 1000);
}
});
};
const observer = new IntersectionObserver(revealSection, {
threshold: 0.1,
rootMargin: '0px 0px -100px 0px'
});
sections.forEach(section => observer.observe(section));
},
// Animate wave dividers
initWaveAnimation() {
const waves = document.querySelectorAll('.wave-divider path');
waves.forEach(wave => {
let time = 0;
const animateWave = () => {
time += 0.02;
const points = [];
for (let i = 0; i <= 10; i++) {
const x = (i / 10) * 1200;
const y = Math.sin((i / 10) * Math.PI * 2 + time) * 10 + 56;
points.push(`${x},${y}`);
}
// Create smooth wave path
const d = `M0,56 Q${points[2]} T${points[4]} T${points[6]} T${points[8]} T1200,56 L1200,0 L0,0 Z`;
wave.setAttribute('d', d);
requestAnimationFrame(animateWave);
};
// Start wave animation
// animateWave(); // Commented out for performance, uncomment for wave motion
});
},
// Parallax effect for dividers
initParallaxDividers() {
const dividers = document.querySelectorAll('.blob-divider, .gradient-divider, .flow-lines');
window.addEventListener('scroll', () => {
const scrolled = window.pageYOffset;
dividers.forEach(divider => {
const speed = divider.dataset.speed || 0.5;
const yPos = -(scrolled * speed);
divider.style.transform = `translateY(${yPos}px)`;
});
});
}
};
// Add shimmer animation
const style = document.createElement('style');
style.textContent = `
@keyframes shimmerPass {
to {
left: 100%;
opacity: 0;
}
}
`;
document.head.appendChild(style);
// Initialize when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => SectionTransitions.init());
} else {
SectionTransitions.init();
}

Datei anzeigen

@@ -1,488 +0,0 @@
/**
* Translation system for AegisSight website
* Supports German (de) and English (en)
*/
// Translation strings
const translations = {
de: {
// Page meta
pageTitle: 'AegisSight - Sicherheit Made in Germany',
// Navigation
skipNav: 'Zum Hauptinhalt springen',
navHome: 'Startseite',
navAbout: 'Über uns',
navProducts: 'Lösungen',
navContact: 'Kontakt',
navLagebild: 'Lagebild',
langSwitch: 'DE | EN',
// Hero Section
heroTitle: 'SICHERHEIT MADE IN GERMANY',
heroSubtitle: 'Spezialist für hochsichere, maßgeschneiderte IT-Lösungen für Behörden',
// Trust Indicators
// Scroll Indicator
scrollToExplore: 'Nach unten scrollen',
// About Section
aboutTitle: 'ÜBER UNS',
aboutSubtitle: 'Ihr Partner für sichere Behördensoftware',
// About Tabs
tabWhoWeAre: 'Unternehmen',
tabMission: 'Mission & Werte',
tabCompetencies: 'Kernkompetenzen',
tabWhyUs: 'Unser Versprechen',
// Who We Are
whoWeAreTitle: 'Unternehmen',
companyCardTitle1: 'Spezialist für Behördensoftware',
companyCardTitle2: 'Unser Ansatz',
whoWeArePara1: 'AegisSight UG ist Ihr <strong>Spezialist für hochsichere, maßgeschneiderte IT-Lösungen</strong> aus Nordrhein-Westfalen. Wir entwickeln innovative Software speziell für staatliche Sicherheits- und Ermittlungsbehörden.',
whoWeArePara2: 'Unser Ansatz vereint modernste Technologie mit einem tiefen Verständnis für die besonderen Anforderungen von Behörden. Dabei steht die Balance zwischen Sicherheit, Effizienz und rechtskonformer Umsetzung im Mittelpunkt unserer Arbeit.',
locationBadge: 'Nordrhein-Westfalen, Deutschland',
nrwLabel: 'Nordrhein-Westfalen',
headquartersLabel: 'Unser Standort: Langenfeld',
// Mission & Values
missionTitle: 'Unsere Mission',
missionStatement: 'Wir schaffen <strong>effiziente, sichere und datenschutzkonforme Lösungen</strong> für moderne Strafverfolgung und Sicherheitsbehörden.',
valueIntegrityTitle: 'Integrität',
valueIntegrityDesc: 'Höchste ethische Standards in allem was wir tun',
valueTransparencyTitle: 'Transparenz',
valueTransparencyDesc: 'Offene Kommunikation und nachvollziehbare Prozesse',
valueDemocracyTitle: 'Demokratische Prinzipien',
valueDemocracyDesc: 'Kooperation nur mit Behörden im Einklang mit der freiheitlich demokratischen Grundordnung',
principleNote: '<strong>Unser Ziel:</strong> Technologie, die Recht und Sicherheit stärkt und die freiheitlich demokratische Grundordnung schützt.',
// Competencies
competenciesTitle: 'Unsere Kernkompetenzen',
comp1Title: 'Behördenspezifische Software',
comp1Desc: 'Entwicklung mit höchsten Sicherheitsstandards, maßgeschneidert für staatliche Anforderungen',
comp2Title: 'Intuitive Bedienkonzepte',
comp2Desc: 'Benutzerfreundliche Oberflächen trotz komplexer Funktionen für effizientes Arbeiten',
comp3Title: 'Langzeit-Support',
comp3Desc: 'Kontinuierliche Sicherheitsupdates und zuverlässige Wartung über den gesamten Lebenszyklus',
// Why Us
whyUsTitle: 'Warum AegisSight UG?',
why1Title: 'Enge Zusammenarbeit',
why1Desc: 'Wir arbeiten Hand in Hand mit unseren Kunden für maßgeschneiderte Lösungen',
why2Title: 'Made in Germany',
why2Desc: 'Klare, robuste und sichere Software nach deutschen Qualitätsstandards',
why3Title: 'Verlässliche Partnerschaft',
why3Desc: 'Basierend auf gemeinsamen Werten und langfristigem Vertrauen',
why4Title: 'Nachhaltigkeit',
why4Desc: 'Fokus auf Sicherheit, Professionalität & zukunftssichere Lösungen',
// Products Section
productsTitle: 'LÖSUNGEN',
productsSubtitle: 'Professionelle Werkzeuge für moderne Ermittlungsarbeit',
// Professional Toolbox
productToolboxTitle: 'Professional Toolbox',
productToolboxDesc: 'Eine leistungsstarke Desktop-Anwendung mit fünf essentiellen Tools für behördliche OSINT-Ermittler und Analysten. Modernes Design, intuitive Bedienung, professionelle Funktionen.',
expandDetails: 'Details anzeigen',
hideDetails: 'Details verbergen',
// Tools
tool1Title: 'Metadata Analyzer',
tool1Feature1: 'Extrahiert versteckte Informationen (EXIF, GPS, Erstellungsdaten)',
tool1Feature2: 'Forensische Analyse von Dokumenten & Bildern',
tool1Feature3: 'Export als JSON',
tool2Title: 'Screen Recorder',
tool2Feature1: 'Bildschirmaufnahme mit Audio (System & Mikrofon)',
tool2Feature2: 'Bereichsauswahl oder Vollbild',
tool2Feature3: 'Wählbare Qualitätsstufen',
tool3Title: 'Video Crawler',
tool3Feature1: 'Download von Videos aus 1000+ Plattformen',
tool3Feature2: 'Automatischer Untertitel-Download',
tool3Feature3: 'Qualitätsauswahl',
tool4Title: 'Website Crawler',
tool4Feature1: 'Archiviert Webseiten offline',
tool4Feature2: 'Einstellbare Crawling-Tiefe',
tool4Feature3: 'Erhält Originalstruktur inkl. CSS, JS & Medien',
tool5Title: 'Multimedia Converter',
tool5Feature1: 'Konvertierung von Bildern, Videos, Audio',
tool5Feature2: 'Batch-Verarbeitung',
tool5Feature3: 'Drag & Drop Unterstützung',
// AccountForger
productAccountForgerTitle: 'AccountForger',
accessRestricted: 'Zugang nur mit Berechtigung',
protectedProductDesc: 'Dieses Produkt ist speziell für autorisierte Behörden entwickelt und erfordert eine Authentifizierung.',
loginForAccess: 'Anmelden für Zugriff',
// Lagebild Page
lagebildPageTitle: 'Lagebild - AegisSight',
lagebildTitle: 'LAGEBILD',
lagebildLive: 'LIVE-LAGEBILD',
lagebildSubtitle: 'Automatisierte Situationsberichte vom AegisSight Monitor',
lagebildSelectSnapshot: 'Lagebild vom:',
lagebildCurrent: 'Aktuell',
lagebildPoweredBy: 'Erstellt durch',
lagebildAnalysis: 'Lageanalyse',
lagebildSources: 'Quellen',
lagebildFactChecks: 'Faktenchecks',
lagebildFactChecksDesc: 'Automatisierte Verifizierung durch KI-gestützte Quellenanalyse',
lagebildArticles: 'Quellenberichte',
lagebildArticlesDesc: 'Automatisch aggregierte Meldungen aus internationalen Quellen',
lagebildCtaTitle: 'Interesse an AegisSight Monitor?',
lagebildCtaText: 'Erhalten Sie Echtzeit-Lagebilder für Ihre Organisation mit KI-gestützter Analyse und Faktencheck.',
lagebildCtaButton: 'Kontakt aufnehmen',
// Footer
footerCompanyTitle: 'AegisSight UG (haftungsbeschränkt)',
footerCompanyAddress1: 'Gladbacher Strasse 3-5',
footerCompanyAddress2: '40764 Langenfeld',
footerNavTitle: 'Navigation',
footerNavHome: 'Startseite',
footerNavAbout: 'Über uns',
footerNavProducts: 'Lösungen',
footerLegalTitle: 'Rechtliches',
footerImprint: 'Impressum',
footerPrivacy: 'Datenschutz',
footerCookies: 'Cookie-Einstellungen',
footerContactTitle: 'Kontakt',
copyright: '© {year} AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.',
// Modal texts
authRequired: 'Authentifizierung erforderlich',
authDescription: 'Dieser Bereich ist nur für autorisierte Behörden zugänglich.',
accessCode: 'Zugangscode',
accessCodePlaceholder: 'Bitte Zugangscode eingeben',
grantAccess: 'Zugang gewähren',
noAccess: 'Noch keinen Zugang?',
contactUs: 'Kontaktieren Sie uns',
accessGranted: 'Zugang gewährt! AccountForger wird geladen...',
wrongCode: 'Falscher Zugangscode. Bitte versuchen Sie es erneut.',
demoRequestAlert: 'Demo-Anfrage-Funktion würde hier implementiert werden',
contactFormSuccess: 'Vielen Dank für Ihre Nachricht! Wir werden uns schnellstmöglich bei Ihnen melden.'
},
en: {
// Page meta
pageTitle: 'AegisSight - Sicherheit Made in Germany',
// Navigation
skipNav: 'Skip to main content',
navHome: 'Home',
navAbout: 'About Us',
navProducts: 'Solutions',
navContact: 'Contact',
navLagebild: 'Situation Report',
langSwitch: 'EN | DE',
// Hero Section
heroTitle: 'SICHERHEIT MADE IN GERMANY',
heroSubtitle: 'Specialist for highly secure, customized IT solutions for government agencies',
// Trust Indicators
// Scroll Indicator
scrollToExplore: 'Scroll to Explore',
// About Section
aboutTitle: 'About Us',
aboutSubtitle: 'Your Partner for Secure Government Software',
// About Tabs
tabWhoWeAre: 'Company',
tabMission: 'Mission & Values',
tabCompetencies: 'Core Competencies',
tabWhyUs: 'Our Promise',
// Who We Are
whoWeAreTitle: 'Company',
companyCardTitle1: 'Government Software Specialist',
companyCardTitle2: 'Our Approach',
whoWeArePara1: 'AegisSight UG is your <strong>specialist for highly secure, customized IT solutions</strong> from North Rhine-Westphalia. We develop innovative software specifically for government security and law enforcement agencies.',
whoWeArePara2: 'Our approach combines cutting-edge technology with a deep understanding of the special requirements of government agencies. The balance between security, efficiency and legally compliant implementation is at the center of our work.',
locationBadge: 'North Rhine-Westphalia, Germany',
nrwLabel: 'North Rhine-Westphalia',
headquartersLabel: 'Our Location: Langenfeld',
// Mission & Values
missionTitle: 'Our Mission',
missionStatement: 'We create <strong>efficient, secure and data protection compliant solutions</strong> for modern law enforcement and security agencies.',
valueIntegrityTitle: 'Integrity',
valueIntegrityDesc: 'Highest ethical standards in everything we do',
valueTransparencyTitle: 'Transparency',
valueTransparencyDesc: 'Open communication and comprehensible processes',
valueDemocracyTitle: 'Democratic Principles',
valueDemocracyDesc: 'Cooperation only with agencies in accordance with the liberal democratic basic order',
principleNote: '<strong>Our Goal:</strong> Technology that strengthens law and security and protects the liberal democratic basic order.',
// Competencies
competenciesTitle: 'Our Core Competencies',
comp1Title: 'Agency-Specific Software',
comp1Desc: 'Development with highest security standards, tailored for government requirements',
comp2Title: 'Intuitive Operating Concepts',
comp2Desc: 'User-friendly interfaces despite complex functions for efficient work',
comp3Title: 'Long-term Support',
comp3Desc: 'Continuous security updates and reliable maintenance throughout the entire lifecycle',
// Why Us
whyUsTitle: 'Why AegisSight UG?',
why1Title: 'Close Collaboration',
why1Desc: 'We work hand in hand with our customers for customized solutions',
why2Title: 'Made in Germany',
why2Desc: 'Clear, robust and secure software according to German quality standards',
why3Title: 'Reliable Partnership',
why3Desc: 'Based on shared values and long-term trust',
why4Title: 'Sustainability',
why4Desc: 'Focus on security, professionalism & future-proof solutions',
// Products Section
productsTitle: 'Solutions',
productsSubtitle: 'Professional Tools for Modern Investigation Work',
// Professional Toolbox
productToolboxTitle: 'Professional Toolbox',
productToolboxDesc: 'A powerful desktop application with five essential tools for government OSINT investigators and analysts. Modern design, intuitive operation, professional functions.',
expandDetails: 'Show Details',
hideDetails: 'Hide Details',
// Tools
tool1Title: 'Metadata Analyzer',
tool1Feature1: 'Extracts hidden information (EXIF, GPS, creation dates)',
tool1Feature2: 'Forensic analysis of documents & images',
tool1Feature3: 'Export as JSON',
tool2Title: 'Screen Recorder',
tool2Feature1: 'Screen recording with audio (system & microphone)',
tool2Feature2: 'Area selection or full screen',
tool2Feature3: 'Selectable quality levels',
tool3Title: 'Video Crawler',
tool3Feature1: 'Download videos from 1000+ platforms',
tool3Feature2: 'Automatic subtitle download',
tool3Feature3: 'Quality selection',
tool4Title: 'Website Crawler',
tool4Feature1: 'Archives websites offline',
tool4Feature2: 'Adjustable crawling depth',
tool4Feature3: 'Preserves original structure incl. CSS, JS & media',
tool5Title: 'Multimedia Converter',
tool5Feature1: 'Conversion of images, videos, audio',
tool5Feature2: 'Batch processing',
tool5Feature3: 'Drag & Drop support',
// AccountForger
productAccountForgerTitle: 'AccountForger',
accessRestricted: 'Access by authorization only',
protectedProductDesc: 'This product is specifically developed for authorized agencies and requires authentication.',
loginForAccess: 'Login for Access',
// Lagebild Page
lagebildPageTitle: 'Situation Report - AegisSight',
lagebildTitle: 'SITUATION REPORT',
lagebildLive: 'LIVE REPORT',
lagebildSubtitle: 'Automated situation reports from AegisSight Monitor',
lagebildSelectSnapshot: 'Report from:',
lagebildCurrent: 'Current',
lagebildPoweredBy: 'Powered by',
lagebildAnalysis: 'Situation Analysis',
lagebildSources: 'Sources',
lagebildFactChecks: 'Fact Checks',
lagebildFactChecksDesc: 'Automated verification through AI-powered source analysis',
lagebildArticles: 'Source Reports',
lagebildArticlesDesc: 'Automatically aggregated reports from international sources',
lagebildCtaTitle: 'Interested in AegisSight Monitor?',
lagebildCtaText: 'Get real-time situation reports for your organization with AI-powered analysis and fact checking.',
lagebildCtaButton: 'Get in touch',
// Footer
footerCompanyTitle: 'AegisSight UG (haftungsbeschränkt)',
footerCompanyAddress1: 'Gladbacher Strasse 3-5',
footerCompanyAddress2: '40764 Langenfeld',
footerNavTitle: 'Navigation',
footerNavHome: 'Home',
footerNavAbout: 'About Us',
footerNavProducts: 'Solutions',
footerLegalTitle: 'Legal',
footerImprint: 'Imprint',
footerPrivacy: 'Privacy Policy',
footerCookies: 'Cookie Settings',
footerContactTitle: 'Contact',
copyright: '© {year} AegisSight UG (haftungsbeschränkt). All rights reserved.',
// Modal texts
authRequired: 'Authentication Required',
authDescription: 'This area is only accessible to authorized agencies.',
accessCode: 'Access Code',
accessCodePlaceholder: 'Please enter access code',
grantAccess: 'Grant Access',
noAccess: 'No access yet?',
contactUs: 'Contact Us',
accessGranted: 'Access granted! AccountForger is loading...',
wrongCode: 'Wrong access code. Please try again.',
demoRequestAlert: 'Demo request function would be implemented here',
contactFormSuccess: 'Thank you for your message! We will get back to you as soon as possible.'
}
};
// Current language state
let currentLanguage = CONFIG.I18N.DEFAULT_LANGUAGE;
/**
* Initialize the translation system
*/
function initTranslations() {
// Try to get saved language from localStorage
const savedLanguage = localStorage.getItem(CONFIG.I18N.STORAGE_KEY);
if (savedLanguage && CONFIG.I18N.SUPPORTED_LANGUAGES.includes(savedLanguage)) {
currentLanguage = savedLanguage;
}
// Apply initial translations
applyTranslations(currentLanguage);
}
/**
* Switch to a different language
* @param {string} language - Language code ('de' or 'en')
*/
function switchLanguage(language) {
if (!CONFIG.I18N.SUPPORTED_LANGUAGES.includes(language)) {
console.error(`Language '${language}' is not supported`);
return;
}
currentLanguage = language;
localStorage.setItem(CONFIG.I18N.STORAGE_KEY, language);
applyTranslations(language);
// Update cookie consent language
if (typeof CookieConsent !== 'undefined' && CookieConsent.setLanguage) {
CookieConsent.setLanguage(language);
}
}
/**
* Apply translations to all elements with data-translate attribute
* @param {string} language - Language code to apply
*/
function applyTranslations(language) {
const t = translations[language];
if (!t) {
console.error(`Translations for language '${language}' not found`);
return;
}
// Update page title
document.title = t.pageTitle;
// Update HTML lang attribute
document.documentElement.lang = language;
// Update all translatable elements
document.querySelectorAll(SELECTORS.TRANSLATABLE).forEach(element => {
const key = element.getAttribute(DATA_ATTRS.TRANSLATE);
if (t[key]) {
let content = t[key];
// Replace {year} placeholder with current year
if (content.includes('{year}')) {
const currentYear = new Date().getFullYear();
content = content.replace('{year}', currentYear);
}
// Check if content contains HTML tags
if (content.includes('<strong>') || content.includes('<em>')) {
element.innerHTML = content;
} else {
element.textContent = content;
}
}
});
// Update language toggle button
const langToggle = document.querySelector(SELECTORS.LANG_TOGGLE);
if (langToggle) {
langToggle.textContent = t.langSwitch;
langToggle.setAttribute(DATA_ATTRS.LANG, language);
}
// Update expand button text if it exists
updateExpandButtonText(language);
// Update footer legal links based on language
updateFooterLinks(language);
}
/**
* Update expand button text based on current state
* @param {string} language - Current language
*/
function updateExpandButtonText(language) {
const expandButton = document.querySelector(SELECTORS.EXPAND_BUTTON);
if (expandButton) {
const expandText = expandButton.querySelector('.expand-text');
const isExpanded = expandButton.getAttribute(DATA_ATTRS.EXPANDED) === 'true';
const t = translations[language];
if (expandText && t) {
expandText.textContent = isExpanded ? t.hideDetails : t.expandDetails;
}
}
}
/**
* Get a specific translation string
* @param {string} key - Translation key
* @returns {string} Translated text
*/
function getTranslation(key) {
return translations[currentLanguage][key] || key;
}
/**
* Get current language
* @returns {string} Current language code
*/
function getCurrentLanguage() {
return currentLanguage;
}
/**
* Update footer legal links based on language
* @param {string} language - Current language code
*/
function updateFooterLinks(language) {
// Get footer links
const impressumLink = document.querySelector('a[href="impressum.html"], a[href="impressum-en.html"]');
const datenschutzLink = document.querySelector('a[href="datenschutz.html"], a[href="datenschutz-en.html"]');
if (language === 'en') {
// Switch to English versions
if (impressumLink) {
impressumLink.href = 'impressum-en.html';
}
if (datenschutzLink) {
datenschutzLink.href = 'datenschutz-en.html';
}
} else {
// Switch to German versions
if (impressumLink) {
impressumLink.href = 'impressum.html';
}
if (datenschutzLink) {
datenschutzLink.href = 'datenschutz.html';
}
}
}

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 1,
"summary": "Die USA und Israel haben am 28. Februar 2026 eine koordinierte Militaeroperation unter dem Namen \"Operation Epic Fury\" gegen den Iran gestartet [21][22]. Praesident Trump kuendigte \"grosse Kampfoperationen\" an mit dem Ziel, die iranische Bedrohung zu \"eliminieren\" [30][3]. Die Angriffe erfolgten nach dem offensichtlichen Scheitern der Atomverhandlungen [2].\n\nMilitaerische Lage\n\nDie US-israelischen Angriffe richteten sich gegen iranische Ziele [1][12]. Der Iran reagierte mit Vergeltungsschlaegen in der gesamten Region [21][22]. Iranische Raketen- und Drohnenangriffe auf die US-Marinebasis in Bahrain dauerten ueber acht Stunden an, wobei Wohngebaeude im Stadtteil Hoora getroffen wurden. Es wurden keine US-Militaeropfer gemeldet, jedoch zivile Schaeden verzeichnet [20]. In Dubai wurden Explosionen gehoert und ein Brand an einem Luxushotel auf \"The Palm\" gemeldet [16]. Der Iran verbot als Vergeltungsmassnahme Schiffen die Durchfahrt durch die Strasse von Hormus [4].\n\nAuswirkungen auf Luftverkehr und Wirtschaft\n\nMehrere Luftraeume in der Region wurden geschlossen, der Flugverkehr in Dubai gestoppt, Qatar Airways pausierte den Betrieb und Lufthansa strich Fluege [27]. Die Sperrung der Strasse von Hormus, durch die erhebliche Mengen des weltweiten Oeltransports verlaufen [6], hat weitreichende Auswirkungen auf den globalen Oelmarkt [5][14] sowie auf Welthandel und Lieferketten [18].\n\nInternationale Reaktionen\n\nWeltfuehrer reagierten zurueckhaltend auf die Angriffe [9]. Grossbritannien, Frankreich und Deutschland draengten auf eine Rueckkehr zu diplomatischen Verhandlungen [8]. Der UN-Sicherheitsrat hielt eine Dringlichkeitssitzung ab [13]. Europa reagierte insgesamt besorgt auf die Ausweitung der Militaeroperation [7]. Voelkerrechtler diskutieren, ob die Angriffe einen Wendepunkt fuer die UN-Charta darstellen [10]. Das Auswaertige Amt warnte Bundesbuerger in der Nahostregion [28]. Bundeskanzler Merz verurteilte das iranische Regime, hielt sich mit Kritik an Trump jedoch zurueck [11].\n\nInnenpolitische Entwicklungen\n\nIm Iran kam es zu Protesten, bei denen Amnesty International Beweise fuer toedliche Gewalt dokumentierte [25]. Die Brookings Institution analysierte die Protestbewegung als Beginn einer \"neuen iranischen Revolution\" [26]. Iraner aeusserten sich zwischen Hoffnung und Angst ueber einen moeglichen Regimewechsel [15]. In den USA stehen im Kongress Abstimmungen ueber Kriegsvollmachten bevor [24].",
"sources_json": [
{
"nr": 1,
"name": "SRF",
"url": "https://www.srf.ch/news/international/usa/nahost-angriff-auf-den-iran-das-wichtigste-in-der-uebersicht"
},
{
"nr": 2,
"name": "ORF",
"url": "https://on.orf.at/video/14313541/16045418/atomverhandlungen-offenbar-gescheitert"
},
{
"nr": 3,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/us-and-israel-launch-a-major-attack-on-iran-and-trump-urges-iranians-to-take-over-your-government"
},
{
"nr": 4,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-iran-verbietet-schiffen-durchfahrt-der-strasse-von-hormus.html"
},
{
"nr": 5,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/iran-us-attack-oil-market-economy.html"
},
{
"nr": 6,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-was-die-strasse-von-hormus-so-wichtig-macht/100204320.html"
},
{
"nr": 7,
"name": "Euronews",
"url": "https://www.euronews.com/my-europe/2026/02/28/europe-reacts-to-us-and-israeli-attack-on-iran-as-military-operation-spills-into-wider-reg"
},
{
"nr": 8,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760393-uk-france-germany-iran-strikes-negotiations/"
},
{
"nr": 9,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/world-leaders-react-cautiously-to-u-s-and-israeli-strikes-on-iran"
},
{
"nr": 10,
"name": "Just Security",
"url": "https://www.justsecurity.org/132773/us-iran-war-international-reactions/"
},
{
"nr": 11,
"name": "Zeit",
"url": "https://www.zeit.de/politik/deutschland/2026-02/bundesregierung-iran-israel-usa-angriff-reaktion"
},
{
"nr": 12,
"name": "PBS News (Live)",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-and-israel-attack-iran"
},
{
"nr": 13,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760591-un-security-council-emergency-meeting-iran-strikes/"
},
{
"nr": 14,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/02/28/what-does-the-us-israel-attack-on-iran-mean-for-oil-prices"
},
{
"nr": 15,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-krieg-das-regime-muss-weg-iraner-zwischen-hoffnung-und-angst/100204276.html"
},
{
"nr": 16,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-angriff-von-israel-und-usa-auf-den-iran-augenzeugen-berichten-von-explosion-auf-dubai-insel-the-palm-10586281.html"
},
{
"nr": 17,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-february-27-2026"
},
{
"nr": 18,
"name": "Retail News",
"url": "https://retail-news.de/iran-konflikt-welthandel-lieferketten/"
},
{
"nr": 19,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/global-conflict-tracker/conflict/confrontation-between-united-states-and-iran"
},
{
"nr": 20,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/middle_east/2026-02-28/strikes-on-bahrain-iran-israel-20902624.html"
},
{
"nr": 21,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/sicherheitsbehoerden-verstaerken-schutz-von-juedischen-und-israelischen-einrichtungen/"
},
{
"nr": 22,
"name": "USNI News",
"url": "https://news.usni.org/2026/02/28/u-s-israel-launch-operation-epic-fury-against-iran-tehran-retaliates-across-region"
},
{
"nr": 23,
"name": "taz",
"url": "https://taz.de/Reaktionen-auf-Iran-Krieg/!6158770/"
},
{
"nr": 24,
"name": "Roll Call",
"url": "https://rollcall.com/2026/02/28/trump-announces-major-combat-operations-against-iran/"
},
{
"nr": 25,
"name": "Amnesty International",
"url": "https://www.amnesty.de/aktuell/iran-proteste-2026-gewalt-stoppen"
},
{
"nr": 26,
"name": "Brookings Institution",
"url": "https://www.brookings.edu/articles/the-new-iranian-revolution-has-begun/"
},
{
"nr": 27,
"name": "aeroTELEGRAPH",
"url": "https://www.aerotelegraph.com/sicherheit/luftraeume-geschlossen-flugverkehr-in-dubai-gestoppt-qatar-airways-pausiert-betrieb/01jrkdy"
},
{
"nr": 28,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/eskalationsgefahr-zwischen-usa-und-iran-auswartiges-amt-warnt-bundesburger-in-nahost-15288892.html"
},
{
"nr": 29,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/24/politics/iran-trump-military-options-nuclear"
},
{
"nr": 30,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/nahost-israel-und-usa-starten-angriff-gegen-iran-trump-wollen-bedrohung-eliminieren/100136895.html"
}
],
"article_count": 185,
"fact_check_count": 415,
"created_at": "2026-03-01 00:17:43"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 10,
"summary": "## Militaerschlaege und Tod Khameneis\n\nAm 28. Februar 2026 fuehrten die USA und Israel massive Luftangriffe gegen den Iran durch [1][2]. Dabei wurde Irans Oberster Fuehrer Ajatollah Ali Khamenei getoetet, wie sowohl iranische Staatsmedien [3][4] als auch das Weisse Haus bestaetigten [5]. Die Angriffe richteten sich Berichten zufolge gegen militaerische und nukleare Einrichtungen im gesamten Land [6]. Eine Kartierung von Al Jazeera dokumentiert das Ausmass der gegenseitigen Angriffe [7]. Am 1. Maerz setzten Israel und die USA ihre Angriffe fort [8].\n\n## Irans Vergeltungsschlaege\n\nAls Reaktion auf die Toetung Khameneis feuerte der Iran am 1. Maerz Raketen auf Israel und mehrere Golfstaaten ab [9][10]. Teheran schwor eine \"beispiellose Antwort\" [10]. Zudem erklaerte Iran die Strasse von Hormus fuer gesperrt - kein Schiff duerfe die strategisch bedeutsame Wasserstrasse passieren [11]. Oeltanker begannen daraufhin, die Meerenge zu meiden [12].\n\n## Wirtschaftliche Auswirkungen\n\nDie Folgen fuer den Oelmarkt werden unterschiedlich bewertet. Waehrend Blick und echo24 vor einem Oel- und Spritpreisschock warnten [13][14], berichtete das ZDF, dass die Oelpreise trotz der Krise zunaechst stabil blieben [15]. Darueber hinaus kam es zu massiven Einschraenkungen im internationalen Flugverkehr, unter anderem wurde das Drehkreuz Dubai gesperrt [16].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretaer verurteilte die US-israelischen Angriffe bei einer Dringlichkeitssitzung des Sicherheitsrats [17][18]. Es kam dort zum offenen Schlagabtausch zwischen den USA, Israel und dem Iran [18]. China forderte eine sofortige Waffenruhe [19]. International loesten die Angriffe besorgte Reaktionen und scharfe Kritik aus [20].\n\n## Nachfolgefrage und geopolitische Einordnung\n\nNach Khameneis Tod steht der Iran laut Analysten vor einem erheblichen Machtvakuum - einen klaren Nachfolger gibt es nicht [21][22]. Die NZZ stellt die Frage, ob das Regime diesen Umbruch ueberleben kann [23]. Der Council on Foreign Relations und das Carnegie Endowment ordnen die Krise als geopolitischen Wendepunkt ein [24][25]. Al Jazeera zitiert Analysten, die die Angriffe primaer im Interesse Israels und nicht der USA sehen [26]. Critical Threats veroeffentlichte einen detaillierten Lagebericht zur militaerischen Lage [27].\n\n## Vorgeschichte: Gescheiterte Diplomatie\n\nNur wenige Tage vor der Eskalation hatten in Genf noch Verhandlungen zwischen dem Iran und den USA stattgefunden. Iran bot einen Uran-Stopp an, die USA forderten den Abriss von Atomanlagen [28]. Der iranische Aussenminister hatte am 26. Februar eine Einigung noch als \"in greifbarer Naehe\" bezeichnet [29].",
"sources_json": [
{
"nr": 1,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 2,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/militarschlage-von-israel-und-den-usa-was-wir-uber-den-grossangriff-auf-den-iran-wissen--und-was-nicht-15303156.html"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/irans-supreme-leader-ali-khamenei-killed-in-us-israeli-attacks-reports"
},
{
"nr": 4,
"name": "Axios",
"url": "https://www.axios.com/2026/02/28/iran-khamenei-killed-israel"
},
{
"nr": 5,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5436832/white-house-confirms-death-of-irans-supreme-leader-ayatollah-ali-khamenei"
},
{
"nr": 6,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/ali-khamenei-iran-s-supreme-leader-killed-in-us-israel-strikes"
},
{
"nr": 7,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/mapping-us-and-israeli-attacks-on-iran-and-tehrans-retaliatory-strikes"
},
{
"nr": 8,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/krieg-in-nahost-israel-und-usa-greifen-erneut-iran-an/100204267.html"
},
{
"nr": 9,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 10,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
},
{
"nr": 11,
"name": "Responsible Statecraft",
"url": "https://responsiblestatecraft.org/strait-of-hormuz-closed/"
},
{
"nr": 12,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/oil-tankers-avoiding-vital-hormuz-strait-after-us-bombs-iran"
},
{
"nr": 13,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 14,
"name": "echo24",
"url": "https://www.echo24.de/leben/auto/iran-krise-treibt-oelpreis-hoch-droht-jetzt-neuer-sprit-schock-zapfsaeule-deutschland-tanken-94191442.html"
},
{
"nr": 15,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/oelpreis-benzin-iran-israel-krieg-100.html"
},
{
"nr": 16,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-us-israelischem-angriff-auf-den-iran-massive-einschrankungen-im-internationalen-flugverkehr--drehkreuz-dubai-gesperrt-10586281.html"
},
{
"nr": 17,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/un-chief-condemns-u-s-israeli-attacks-on-iran-during-emergency-security-council-meeting"
},
{
"nr": 18,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/02/28/iran-israel-us-un-security-council-airstrikes/5b731514-14ec-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 19,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/china-calls-for-immediate-ceasefire-after-us-israel-bomb-iran"
},
{
"nr": 20,
"name": "ORF",
"url": "https://orf.at/stories/3421656/"
},
{
"nr": 21,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/28/middleeast/iran-supreme-leader-ali-khamenei-replacement-intl-hnk"
},
{
"nr": 22,
"name": "19FortyFive",
"url": "https://www.19fortyfive.com/2026/02/khamenei-is-dead-the-2026-iran-war-could-become-a-giant-power-vacuum-crisis/"
},
{
"nr": 23,
"name": "Neue Zuercher Zeitung",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 24,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/articles/gauging-the-impact-of-massive-u-s-israeli-strikes-on-iran"
},
{
"nr": 25,
"name": "Carnegie Endowment",
"url": "https://carnegieendowment.org/middle-east/diwan/2026/02/the-iran-crisis-in-a-new-geopolitical-moment"
},
{
"nr": 26,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/netanyahus-war-analysts-say-trumps-iran-strikes-benefit-israel-not-us"
},
{
"nr": 27,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-morning-special-report-february-28-2026"
},
{
"nr": 28,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/genf-atomabkommen-zwischen-iran-und-den-usa-soll-krieg-verhindern-820307490659"
},
{
"nr": 29,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/atomstreit-und-kriegsgefahr-iranischer-aussenminister-sieht-einigung-mit-den-usa-in-greifbarer-nahe-15288917.html"
}
],
"article_count": 224,
"fact_check_count": 491,
"created_at": "2026-03-01 08:45:39"
}

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 11,
"summary": "## US-israelischer Grossangriff auf den Iran\n\nAm 28. Februar 2026 haben die USA und Israel einen gemeinsamen praeventiven Militaerschlag gegen den Iran durchgefuehrt [1][2]. Bei den Angriffen wurde Irans Oberster Fuehrer Ajatollah Ali Khamenei getoetet [3][4]. Sowohl iranische Staatsmedien [5][6] als auch das Weisse Haus [7] bestaetigten seinen Tod offiziell. Der iranische Verteidigungsminister erklaerte den Angriff als praeventiven Schlag [2], waehrend Al Jazeera die Standorte der Angriffe und der iranischen Vergeltungsschlaege dokumentierte [8].\n\nDen Angriffen waren diplomatische Bemuehungen vorausgegangen: Noch am 27. Februar hatten sich Iran und die USA zu Krisentreffen in Genf getroffen, bei denen Iran einen Uran-Stopp anbot und die USA den Abriss von Atomanlagen forderten [9]. Der iranische Aussenminister hatte zuvor eine Einigung als \"in greifbarer Naehe\" bezeichnet [10].\n\n## Iranische Vergeltung\n\nAls Reaktion auf die Toetung Khameneis feuerte der Iran Raketen auf Israel und mehrere Golfstaaten ab [11][12]. Die Revolutionsgarden kuendigten eine \"grausame Vergeltung\" gegen die USA und Israel an [13]. Die Vereinigten Arabischen Emirate meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [14]. Analysten warnen vor einer beispiellosen Eskalation in der Region [12].\n\n## Blockade der Strasse von Hormus und wirtschaftliche Folgen\n\nDer Iran erklaerte die strategisch bedeutsame Strasse von Hormus fuer den gesamten Schiffsverkehr gesperrt [15]. Oeltanker begannen umgehend, die Meerenge zu meiden, durch die rund ein Fuenftel des weltweiten Oeltransports laeuft [16]. Es droht ein erheblicher Oel- und Gaspreisschock [17].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretaer verurteilte die US-israelischen Angriffe bei einer Dringlichkeitssitzung des Sicherheitsrats scharf [18]. Bei der Sitzung kam es zum Schlagabtausch zwischen den USA, Israel und dem Iran [19]. China forderte eine sofortige Waffenruhe [20]. International ueberwiegen besorgte Reaktionen und scharfe Kritik [21][22], wobei Regierungen weltweit die Risiken eines neuen Krieges im Nahen Osten betonten [23].\n\n## Nachfolgefrage und geopolitische Analyse\n\nNach Khameneis Tod steht der Iran vor einer unklaren Nachfolgefrage ohne offensichtlichen Kandidaten fuer die Position des Obersten Fuehrers [24]. Analysten warnen vor einer schweren Machtvakuum-Krise, die die Region weiter destabilisieren koennte [25]. Die NZZ fragt, ob das Regime den Umbruch ueberleben wird [26]. Analysten bewerten die US-gefuehrten Angriffe als primaer im strategischen Interesse Israels [27]. Das Carnegie Endowment analysiert die Krise im Kontext einer sich veraendernden geopolitischen Landschaft [28], waehrend Critical Threats einen detaillierten Sonderbericht zur militaerischen und politischen Lage veroeffentlichte [29].",
"sources_json": [
{
"nr": 1,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/militarschlage-von-israel-und-den-usa-was-wir-uber-den-grossangriff-auf-den-iran-wissen--und-was-nicht-15303156.html"
},
{
"nr": 2,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/irans-supreme-leader-ali-khamenei-killed-in-us-israeli-attacks-reports"
},
{
"nr": 4,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 5,
"name": "Axios",
"url": "https://www.axios.com/2026/02/28/iran-khamenei-killed-israel"
},
{
"nr": 6,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-state-tv-confirms-khamenei-s-death"
},
{
"nr": 7,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5436832/white-house-confirms-death-of-irans-supreme-leader-ayatollah-ali-khamenei"
},
{
"nr": 8,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/mapping-us-and-israeli-attacks-on-iran-and-tehrans-retaliatory-strikes"
},
{
"nr": 9,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/genf-atomabkommen-zwischen-iran-und-den-usa-soll-krieg-verhindern-820307490659"
},
{
"nr": 10,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/atomstreit-und-kriegsgefahr-iranischer-aussenminister-sieht-einigung-mit-den-usa-in-greifbarer-nahe-15288917.html"
},
{
"nr": 11,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 12,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
},
{
"nr": 13,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 14,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 15,
"name": "Responsible Statecraft",
"url": "https://responsiblestatecraft.org/strait-of-hormuz-closed/"
},
{
"nr": 16,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/oil-tankers-avoiding-vital-hormuz-strait-after-us-bombs-iran"
},
{
"nr": 17,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 18,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/un-chief-condemns-u-s-israeli-attacks-on-iran-during-emergency-security-council-meeting"
},
{
"nr": 19,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/02/28/iran-israel-us-un-security-council-airstrikes/5b731514-14ec-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 20,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/china-calls-for-immediate-ceasefire-after-us-israel-bomb-iran"
},
{
"nr": 21,
"name": "ORF",
"url": "https://orf.at/stories/3421656/"
},
{
"nr": 22,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
},
{
"nr": 23,
"name": "CBS News",
"url": "https://www.cbsnews.com/news/us-israel-attack-iran-world-reaction-to-war-middle-east/"
},
{
"nr": 24,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/28/middleeast/iran-supreme-leader-ali-khamenei-replacement-intl-hnk"
},
{
"nr": 25,
"name": "19FortyFive",
"url": "https://www.19fortyfive.com/2026/02/khamenei-is-dead-the-2026-iran-war-could-become-a-giant-power-vacuum-crisis/"
},
{
"nr": 26,
"name": "Neue Zuercher Zeitung",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 27,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/netanyahus-war-analysts-say-trumps-iran-strikes-benefit-israel-not-us"
},
{
"nr": 28,
"name": "Carnegie Endowment",
"url": "https://carnegieendowment.org/middle-east/diwan/2026/02/the-iran-crisis-in-a-new-geopolitical-moment"
},
{
"nr": 29,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-morning-special-report-february-28-2026"
}
],
"article_count": 226,
"fact_check_count": 501,
"created_at": "2026-03-01 09:46:39"
}

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 12,
"summary": "## Militärschläge gegen den Iran und Tod Khameneis\n\nAm 28. Februar 2026 haben die USA und Israel einen koordinierten Großangriff auf den Iran gestartet [6][21]. Bei diesen Angriffen wurde Irans Oberster Führer Ajatollah Ali Khamenei getötet, wie iranische Staatsmedien und Behörden offiziell bestätigten [10][22][28]. Israel gab an, Teheran im Anschluss erneut angegriffen zu haben [1]. Die genauen Umstände und das vollständige Ausmaß der Angriffe sind noch nicht abschließend geklärt [21].\n\n## Iranische Vergeltung und Eskalation\n\nAls Reaktion auf die Tötung Khameneis feuerte der Iran Raketen auf Israel und mehrere Golfstaaten ab [9][11]. Die iranischen Revolutionsgarden kündigten eine \"grausame\" Vergeltung gegen die USA und Israel an [3]. Die Vereinigten Arabischen Emirate meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [4]. Darüber hinaus erklärte der Iran die strategisch bedeutsame Straße von Hormus für den gesamten Schiffsverkehr gesperrt [23]. Infolgedessen meiden Öltanker bereits diese Route, durch die rund ein Fünftel des weltweiten Öltransports läuft [24].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretär verurteilte die US-israelischen Angriffe bei einer Dringlichkeitssitzung des Sicherheitsrats scharf [16]. Bei dieser Sitzung kam es zum Schlagabtausch zwischen den USA, Israel und dem Iran [20]. China forderte eine sofortige Waffenruhe [25]. Weltweit betonten Regierungen die Risiken eines neuen Krieges im Nahen Osten [6]. Die Reaktionen reichten von Besorgnis und scharfer Kritik bis hin zu vereinzelter Zustimmung [5][26].\n\n## Geopolitische Analyse und Nachfolgefrage\n\nAnalysten bewerten die US-geführten Angriffe als primär im strategischen Interesse Israels und weniger im Interesse der USA [12]. Der Council on Foreign Relations analysierte die weitreichenden geopolitischen Folgen der Militärschläge [13]. Das Carnegie Endowment ordnete die Krise in den Kontext der sich verändernden geopolitischen Landschaft ein [27]. Nach dem Tod Khameneis steht der Iran vor einer unklaren Nachfolgefrage – es gibt keinen offensichtlichen Kandidaten für die Position des Obersten Führers [17]. Experten warnen vor einer schweren Machtvakuum-Krise, die die Region weiter destabilisieren könnte [30].\n\n## Wirtschaftliche Auswirkungen\n\nDie Sperrung der Straße von Hormus durch den Iran droht einen Öl- und Gaspreisschock auszulösen [8]. Öltanker meiden bereits die lebenswichtige Meerenge [24]. Die wirtschaftlichen Folgen der Eskalation betreffen den globalen Energiemarkt unmittelbar.\n\n## Vorgeschichte\n\nNoch am 27. Februar hatten Iran und die USA in Genf Krisentreffen über ein mögliches Atomabkommen geführt, bei dem der Iran einen Uran-Stopp anbot und die USA den Abriss von Atomanlagen forderten [14]. Der iranische Außenminister hatte zuvor eine Einigung als \"in greifbarer Nähe\" bezeichnet [15]. Diese diplomatischen Bemühungen wurden durch die Militärschläge am 28. Februar abrupt beendet.",
"sources_json": [
{
"nr": 1,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-iran-live-updates-khamenei-death-trump-gulf-strikes.html"
},
{
"nr": 2,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/iran-khamenei-dead-us-israel-strike-trump-netanyahu.html"
},
{
"nr": 3,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 4,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 5,
"name": "Jüdische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
},
{
"nr": 6,
"name": "CBS News",
"url": "https://www.cbsnews.com/news/us-israel-attack-iran-world-reaction-to-war-middle-east/"
},
{
"nr": 7,
"name": "Neue Zürcher Zeitung",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 8,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 9,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 10,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 11,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
},
{
"nr": 12,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/netanyahus-war-analysts-say-trumps-iran-strikes-benefit-israel-not-us"
},
{
"nr": 13,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/articles/gauging-the-impact-of-massive-u-s-israeli-strikes-on-iran"
},
{
"nr": 14,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/genf-atomabkommen-zwischen-iran-und-den-usa-soll-krieg-verhindern-820307490659"
},
{
"nr": 15,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/atomstreit-und-kriegsgefahr-iranischer-aussenminister-sieht-einigung-mit-den-usa-in-greifbarer-nahe-15288917.html"
},
{
"nr": 16,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/un-chief-condemns-u-s-israeli-attacks-on-iran-during-emergency-security-council-meeting"
},
{
"nr": 17,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/28/middleeast/iran-supreme-leader-ali-khamenei-replacement-intl-hnk"
},
{
"nr": 18,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/mapping-us-and-israeli-attacks-on-iran-and-tehrans-retaliatory-strikes"
},
{
"nr": 19,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-morning-special-report-february-28-2026"
},
{
"nr": 20,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/02/28/iran-israel-us-un-security-council-airstrikes/5b731514-14ec-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 21,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/militarschlage-von-israel-und-den-usa-was-wir-uber-den-grossangriff-auf-den-iran-wissen--und-was-nicht-15303156.html"
},
{
"nr": 22,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/irans-supreme-leader-ali-khamenei-killed-in-us-israeli-attacks-reports"
},
{
"nr": 23,
"name": "Responsible Statecraft",
"url": "https://responsiblestatecraft.org/strait-of-hormuz-closed/"
},
{
"nr": 24,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/oil-tankers-avoiding-vital-hormuz-strait-after-us-bombs-iran"
},
{
"nr": 25,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/china-calls-for-immediate-ceasefire-after-us-israel-bomb-iran"
},
{
"nr": 26,
"name": "ORF",
"url": "https://orf.at/stories/3421656/"
},
{
"nr": 27,
"name": "Carnegie Endowment for International Peace",
"url": "https://carnegieendowment.org/middle-east/diwan/2026/02/the-iran-crisis-in-a-new-geopolitical-moment"
},
{
"nr": 28,
"name": "Axios",
"url": "https://www.axios.com/2026/02/28/iran-khamenei-killed-israel"
},
{
"nr": 29,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/ali-khamenei-iran-s-supreme-leader-killed-in-us-israel-strikes"
},
{
"nr": 30,
"name": "19FortyFive",
"url": "https://www.19fortyfive.com/2026/02/khamenei-is-dead-the-2026-iran-war-could-become-a-giant-power-vacuum-crisis/"
}
],
"article_count": 231,
"fact_check_count": 511,
"created_at": "2026-03-01 10:47:39"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 13,
"summary": "## Militärschläge gegen den Iran und Tod Khameneis\n\nAm 28. Februar 2026 haben die USA und Israel einen koordinierten Großangriff auf den Iran durchgeführt [1][2]. Bei diesen Angriffen wurde Irans Oberster Führer Ajatollah Ali Khamenei im Alter von 86 Jahren getötet [3][4][5]. Iranische Behörden haben seinen Tod offiziell bestätigt [6]. Der Tod Khameneis hinterlässt eine unklare Nachfolgesituation – laut CNN gibt es keinen offensichtlichen Kandidaten für die Position des Obersten Führers [7]. Die Neue Zürcher Zeitung analysiert, ob das Regime diesen Umbruch überleben kann [8].\n\n## Iranische Vergeltung und Eskalation\n\nAls Reaktion auf die Angriffe und die Tötung Khameneis hat der Iran Raketen auf Israel und mehrere Golfstaaten abgefeuert [9][10][11]. Die iranischen Revolutionsgarden kündigten eine \"grausame\" Vergeltung gegen die USA und Israel an [12]. In Tel Aviv wurde Luftalarm ausgelöst, während gleichzeitig Explosionen in Teheran gemeldet wurden [13]. Weitere Explosionen erschütterten Dubai, Doha und Manama, wobei Iran gezielt US-Einrichtungen am Persischen Golf ins Visier nahm [14]. Die Vereinigten Arabischen Emirate meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [15]. Israel gab an, Teheran erneut angegriffen zu haben [16].\n\n## Straße von Hormus und wirtschaftliche Folgen\n\nDer Iran hat die strategisch bedeutsame Straße von Hormus für den gesamten Schiffsverkehr gesperrt [17]. Öltanker meiden bereits die Meerenge, durch die rund ein Fünftel des weltweiten Öltransports läuft [18]. Diese Sperrung birgt das Risiko eines globalen Öl- und Gaspreisschocks [19].\n\n## Internationale Reaktionen\n\nBei einer Dringlichkeitssitzung des UN-Sicherheitsrats verurteilte UN-Generalsekretär die US-israelischen Angriffe scharf [20][21]. Regierungen weltweit betonten die Risiken eines neuen Krieges im Nahen Osten [22]. China forderte eine sofortige Waffenruhe [23]. Die internationalen Reaktionen reichten von Besorgnis und Verurteilung bis hin zu Zustimmung [24]. Analysten bewerten die US-geführten Angriffe als primär im strategischen Interesse Israels und weniger im Interesse der USA [25].\n\n## Vorgeschichte\n\nNoch am 27. Februar fand ein Krisentreffen in Genf statt, bei dem der Iran einen Uran-Stopp anbot und die USA den Abriss von Atomanlagen forderten [26]. Einen Tag zuvor hatte der iranische Außenminister eine Einigung mit den USA noch als \"in greifbarer Nähe\" bezeichnet [27]. Der Council on Foreign Relations und Critical Threats (AEI) veröffentlichten detaillierte Analysen zu den strategischen und geopolitischen Folgen der Militärschläge [28][29].",
"sources_json": [
{
"nr": 1,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/militarschlage-von-israel-und-den-usa-was-wir-uber-den-grossangriff-auf-den-iran-wissen--und-was-nicht-15303156.html"
},
{
"nr": 2,
"name": "Al Jazeera (Kartierung)",
"url": "https://www.aljazeera.com/news/2026/2/28/mapping-us-and-israeli-attacks-on-iran-and-tehrans-retaliatory-strikes"
},
{
"nr": 3,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/1123499337/iran-israel-ayatollah-ali-khamenei-killed"
},
{
"nr": 4,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 5,
"name": "Euronews",
"url": "https://de.euronews.com/2026/02/28/73-jahre-feindseligkeiten-usa-iran-konflikt"
},
{
"nr": 6,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/irans-supreme-leader-ali-khamenei-killed-in-us-israeli-attacks-reports"
},
{
"nr": 7,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/28/middleeast/iran-supreme-leader-ali-khamenei-replacement-intl-hnk"
},
{
"nr": 8,
"name": "Neue Zürcher Zeitung",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 9,
"name": "NPR (Raketen)",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 10,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
},
{
"nr": 11,
"name": "NPR (Golfstaaten)",
"url": "https://www.npr.org/2026/02/28/nx-s1-5730239/gulf-countries-that-host-u-s-military-bases-say-iran-has-retaliated-to-u-s-strikes"
},
{
"nr": 12,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 13,
"name": "Tagesspiegel (Liveblog)",
"url": "https://tagesspiegel.de/internationales/liveblog/neue-iranische-raketenangriffe-explosionen-in-tel-aviv--offenbar-mehrere-verletzte-10586281.html"
},
{
"nr": 14,
"name": "Al Jazeera (Golf)",
"url": "https://www.aljazeera.com/news/2026/3/1/more-blasts-rock-dubai-doha-and-manama-as-iran-targets-us-assets-in-gulf"
},
{
"nr": 15,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 16,
"name": "CNBC (Live-Updates)",
"url": "https://www.cnbc.com/2026/03/01/us-iran-live-updates-khamenei-death-trump-gulf-strikes.html"
},
{
"nr": 17,
"name": "Responsible Statecraft",
"url": "https://responsiblestatecraft.org/strait-of-hormuz-closed/"
},
{
"nr": 18,
"name": "Bloomberg (Öltanker)",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/oil-tankers-avoiding-vital-hormuz-strait-after-us-bombs-iran"
},
{
"nr": 19,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 20,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/un-chief-condemns-u-s-israeli-attacks-on-iran-during-emergency-security-council-meeting"
},
{
"nr": 21,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/02/28/iran-israel-us-un-security-council-airstrikes/5b731514-14ec-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 22,
"name": "CBS News",
"url": "https://www.cbsnews.com/news/us-israel-attack-iran-world-reaction-to-war-middle-east/"
},
{
"nr": 23,
"name": "Bloomberg (China)",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/china-calls-for-immediate-ceasefire-after-us-israel-bomb-iran"
},
{
"nr": 24,
"name": "Jüdische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
},
{
"nr": 25,
"name": "Al Jazeera (Analyse)",
"url": "https://www.aljazeera.com/news/2026/3/1/netanyahus-war-analysts-say-trumps-iran-strikes-benefit-israel-not-us"
},
{
"nr": 26,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/genf-atomabkommen-zwischen-iran-und-den-usa-soll-krieg-verhindern-820307490659"
},
{
"nr": 27,
"name": "Tagesspiegel (Atomstreit)",
"url": "https://www.tagesspiegel.de/internationales/atomstreit-und-kriegsgefahr-iranischer-aussenminister-sieht-einigung-mit-den-usa-in-greifbarer-nahe-15288917.html"
},
{
"nr": 28,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/articles/gauging-the-impact-of-massive-u-s-israeli-strikes-on-iran"
},
{
"nr": 29,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-morning-special-report-february-28-2026"
}
],
"article_count": 236,
"fact_check_count": 521,
"created_at": "2026-03-01 11:48:39"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 14,
"summary": "## Militärschläge gegen den Iran und Tod Khameneis\n\nAm 28. Februar 2026 führten die USA und Israel gemeinsame Luftangriffe gegen den Iran durch. Dabei wurde Irans Oberster Führer Ajatollah Ali Khamenei im Alter von 86 Jahren getötet [6][20]. Israel erklärte, einen Präventivschlag durchgeführt zu haben, und rief den Ausnahmezustand aus [13]. Die Angriffe richteten sich gegen militärische und nukleare Einrichtungen im gesamten Land [22][29]. Der Council on Foreign Relations bewertete die Schläge als massiv und analysierte deren weitreichende geopolitische Folgen [23].\n\nDie Angriffe erfolgten nur einen Tag nach Krisenverhandlungen in Genf, bei denen der Iran einen Uran-Stopp angeboten und der iranische Außenminister eine Einigung als \"in greifbarer Nähe\" bezeichnet hatte [24][25].\n\n## Iranische Vergeltung\n\nAls Reaktion feuerte der Iran Raketen auf Israel und mehrere Golfstaaten ab [19][21]. In Tel Aviv kam es zu lauten Explosionen, es wurden mehrere Verletzte gemeldet [8]. Die iranischen Revolutionsgarden kündigten eine \"grausame\" Vergeltung gegen die USA und Israel an [13]. Weitere Explosionen wurden aus Dubai, Doha und Manama gemeldet, wo der Iran US-Einrichtungen angriff [7]. Die Vereinigten Arabischen Emirate meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [14]. Israel gab an, Teheran nach dem Tod Khameneis erneut angegriffen zu haben [11].\n\nDie Golfstaaten, auf deren Territorium sich US-Militärbasen befinden, bestätigten iranische Vergeltungsangriffe [10]. Die Angriffe auf die Luftfahrtinfrastruktur am Golf führten zur Streichung tausender Flüge, wobei auch der Flughafen Dubai beschädigt wurde [2].\n\n## Politische Lage im Iran\n\nNach dem Tod Khameneis steht der Iran vor einer unklaren Nachfolgefrage. Laut CNN gibt es keinen offensichtlichen Kandidaten für die Position des Obersten Führers [27]. Der Iran kündigte die Bildung eines Übergangsrats an, der die politische Transition leiten soll [4][1]. Die Neue Zürcher Zeitung stellte die Frage, ob das Regime diesen Umbruch überleben könne [17]. Analysten bewerteten die US-geführten Angriffe als primär im strategischen Interesse Israels [22].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretär verurteilte die US-israelischen Angriffe bei einer Dringlichkeitssitzung des Sicherheitsrats scharf [26][28]. Regierungen weltweit betonten die Risiken eines neuen Krieges im Nahen Osten [16]. Die internationale Staatengemeinschaft reagierte mit einer Mischung aus Besorgnis, Verurteilung und teilweiser Zustimmung [15].\n\nBundeskanzler Merz forderte ein sofortiges Ende der iranischen Angriffe, äußerte jedoch weder offene Kritik noch Unterstützung für die Luftschläge gegen den Iran [3].\n\n## Wirtschaftliche Auswirkungen\n\nDer Iran blockierte offenbar die Straße von Hormus, was Befürchtungen vor einem Öl- und Gaspreisschock auslöste [18]. Euronews ordnete den aktuellen Konflikt in 73 Jahre Feindseligkeiten zwischen den USA und dem Iran ein [9].",
"sources_json": [
{
"nr": 1,
"name": "blue News (Schweiz)",
"url": "https://www.bluewin.ch/de/news/international/iran-eskalation-chamenei-tot-raketen-israel-3119303.html"
},
{
"nr": 2,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-strikes-disrupt-thousands-of-flights-dubai-airport-damaged"
},
{
"nr": 3,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/merz-zu-luftschlagen-gegen-den-iran-keine-offene-kritik--aber-auch-keine-unterstutzung-15303887.html"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-to-form-interim-council-to-oversee-transition-after-khameneis-killing"
},
{
"nr": 5,
"name": "Berliner Zeitung",
"url": "https://www.berliner-zeitung.de/politik-gesellschaft/geopolitik/iran-israel-usa-chamenei-tot-krieg-li.10021711"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/1123499337/iran-israel-ayatollah-ali-khamenei-killed"
},
{
"nr": 7,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/more-blasts-rock-dubai-doha-and-manama-as-iran-targets-us-assets-in-gulf"
},
{
"nr": 8,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/neue-iranische-raketenangriffe-explosionen-in-tel-aviv--offenbar-mehrere-verletzte-10586281.html"
},
{
"nr": 9,
"name": "Euronews",
"url": "https://de.euronews.com/2026/02/28/73-jahre-feindseligkeiten-usa-iran-konflikt"
},
{
"nr": 10,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5730239/gulf-countries-that-host-u-s-military-bases-say-iran-has-retaliated-to-u-s-strikes"
},
{
"nr": 11,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-iran-live-updates-khamenei-death-trump-gulf-strikes.html"
},
{
"nr": 12,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/iran-khamenei-dead-us-israel-strike-trump-netanyahu.html"
},
{
"nr": 13,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 14,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 15,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
},
{
"nr": 16,
"name": "CBS News",
"url": "https://www.cbsnews.com/news/us-israel-attack-iran-world-reaction-to-war-middle-east/"
},
{
"nr": 17,
"name": "Neue Zürcher Zeitung",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 18,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 19,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 20,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 21,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
},
{
"nr": 22,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/netanyahus-war-analysts-say-trumps-iran-strikes-benefit-israel-not-us"
},
{
"nr": 23,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/articles/gauging-the-impact-of-massive-u-s-israeli-strikes-on-iran"
},
{
"nr": 24,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/genf-atomabkommen-zwischen-iran-und-den-usa-soll-krieg-verhindern-820307490659"
},
{
"nr": 25,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/atomstreit-und-kriegsgefahr-iranischer-aussenminister-sieht-einigung-mit-den-usa-in-greifbarer-nahe-15288917.html"
},
{
"nr": 26,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/un-chief-condemns-u-s-israeli-attacks-on-iran-during-emergency-security-council-meeting"
},
{
"nr": 27,
"name": "CNN",
"url": "https://www.cnn.com/2026/02/28/middleeast/iran-supreme-leader-ali-khamenei-replacement-intl-hnk"
},
{
"nr": 28,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/02/28/iran-israel-us-un-security-council-airstrikes/5b731514-14ec-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 29,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/28/mapping-us-and-israeli-attacks-on-iran-and-tehrans-retaliatory-strikes"
},
{
"nr": 30,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-morning-special-report-february-28-2026"
}
],
"article_count": 245,
"fact_check_count": 531,
"created_at": "2026-03-01 14:55:41"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 15,
"summary": "## Militäroperationen und Tod Khameneis\n\nAm 28. Februar 2026 haben die USA und Israel koordinierte Luftschläge gegen den Iran eingeleitet [6][15][22]. Im Zuge dieser Angriffe wurde Irans Oberster Führer Ajatollah Ali Khamenei im Alter von 86 Jahren getötet, was iranische Staatsmedien bestätigten [9][15][29]. Israel erklärte den Angriff als Präventivschlag und rief den Ausnahmezustand aus [22]. Die Angriffe gingen am 1. März in den zweiten Tag, wobei Israel angab, Teheran erneut angegriffen zu haben [2][20]. Laute Explosionen wurden sowohl in Teheran als auch in Tel Aviv gemeldet [17].\n\n## Iranische Vergeltung\n\nDer Iran reagierte mit massiven Raketenangriffen auf Israel und mehrere Golfstaaten, die US-Militärbasen beherbergen [19][28][30]. Explosionen wurden in Dubai, Doha und Manama gemeldet, wo Iran US-Einrichtungen ins Visier nahm [16]. Die iranischen Revolutionsgarden (IRGC) kündigten eine \"grausame\" Vergeltung gegen die USA und Israel an [22]. Die Vereinigten Arabischen Emirate meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [23]. Der Flughafen Dubai wurde beschädigt, zahlreiche Flugverbindungen am Persischen Golf gestrichen [11].\n\n## Politische Lage im Iran\n\nNach Khameneis Tod steht der Iran vor einer ungewissen politischen Zukunft [3][4][26]. Ein Übergangsrat wurde gebildet, um die Transition zu leiten [13]. Beobachter stellen die Frage, ob das Regime diese Krise überleben wird [26]. Gleichzeitig versetzte der Tod Khameneis Teheran in erhöhte Kriegsbereitschaft, wobei Analysten warnen, Iran könne \"noch härter zuschlagen\" [1].\n\n## Internationale Reaktionen\n\nEuropäische Verbündete betonten ausdrücklich, sich nicht an den Angriffen auf den Iran beteiligt zu haben, und äußerten Sorge vor einer weiteren Eskalation [5]. Die NATO beobachtet Irans Reaktion auf den als \"existenziell\" bezeichneten Konflikt wachsam [8]. Bundeskanzler Merz forderte ein sofortiges Ende der iranischen Angriffe, ohne die US-israelische Operation offen zu kritisieren oder zu unterstützen [12]. Regierungen weltweit warnten vor den Risiken eines neuen Krieges im Nahen Osten [24][25].\n\n## Wirtschaftliche Auswirkungen\n\nDer Iran hat offenbar die Straße von Hormus blockiert, eine der wichtigsten Öl-Transportrouten weltweit [7][27]. Experten erwarten deutlich höhere Spritpreise und warnen vor einem möglichen Öl- und Gaspreisschock [7][27].",
"sources_json": [
{
"nr": 1,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 2,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 3,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 4,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
},
{
"nr": 5,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/europe-reaction-us-attack-iran/"
},
{
"nr": 6,
"name": "ESUT",
"url": "https://esut.de/2026/03/meldungen/68516/us-israelische-militaeroperation-gegen-iran/"
},
{
"nr": 7,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/iran-sperrt-wichtige-oel-route-jetzt-koennten-die-spritkosten-steigen/"
},
{
"nr": 8,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/europe/2026-02-28/nato-iran-europe-retaliation-20904701.html"
},
{
"nr": 9,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/trump-iran-strikes-live-updates.html"
},
{
"nr": 10,
"name": "blue News",
"url": "https://www.bluewin.ch/de/news/international/iran-eskalation-chamenei-tot-raketen-israel-3119303.html"
},
{
"nr": 11,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-strikes-disrupt-thousands-of-flights-dubai-airport-damaged"
},
{
"nr": 12,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/merz-zu-luftschlagen-gegen-den-iran-keine-offene-kritik--aber-auch-keine-unterstutzung-15303887.html"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-to-form-interim-council-to-oversee-transition-after-khameneis-killing"
},
{
"nr": 14,
"name": "Berliner Zeitung",
"url": "https://www.berliner-zeitung.de/politik-gesellschaft/geopolitik/iran-israel-usa-chamenei-tot-krieg-li.10021711"
},
{
"nr": 15,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/1123499337/iran-israel-ayatollah-ali-khamenei-killed"
},
{
"nr": 16,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/more-blasts-rock-dubai-doha-and-manama-as-iran-targets-us-assets-in-gulf"
},
{
"nr": 17,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/neue-iranische-raketenangriffe-explosionen-in-tel-aviv--offenbar-mehrere-verletzte-10586281.html"
},
{
"nr": 18,
"name": "Euronews",
"url": "https://de.euronews.com/2026/02/28/73-jahre-feindseligkeiten-usa-iran-konflikt"
},
{
"nr": 19,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5730239/gulf-countries-that-host-u-s-military-bases-say-iran-has-retaliated-to-u-s-strikes"
},
{
"nr": 20,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-iran-live-updates-khamenei-death-trump-gulf-strikes.html"
},
{
"nr": 21,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/iran-khamenei-dead-us-israel-strike-trump-netanyahu.html"
},
{
"nr": 22,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 23,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 24,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
},
{
"nr": 25,
"name": "CBS News",
"url": "https://www.cbsnews.com/news/us-israel-attack-iran-world-reaction-to-war-middle-east/"
},
{
"nr": 26,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachruf-ayatollah-ali-khamenei-ld.1542890"
},
{
"nr": 27,
"name": "Blick",
"url": "https://www.blick.ch/wirtschaft/iran-blockiert-offenbar-strasse-von-hormus-diese-folgen-hat-der-angriff-auf-den-iran-fuer-den-oelmarkt-id21738070.html"
},
{
"nr": 28,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/g-s1-112062/iran-fires-missiles"
},
{
"nr": 29,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/ajatollah-ali-chamenei-iran-tot-100.html"
},
{
"nr": 30,
"name": "Times of Israel",
"url": "https://www.timesofisrael.com/liveblog-march-01-2026/"
}
],
"article_count": 251,
"fact_check_count": 541,
"created_at": "2026-03-01 15:50:47"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 16,
"summary": "## Koordinierte US-israelische Luftschlaege gegen den Iran\n\nAm 28. Februar 2026 starteten die USA und Israel koordinierte Luftschlaege gegen den Iran [12]. Israel erklaerte den Angriff als Praeventivschlag und rief den Ausnahmezustand aus [28]. Bei den Angriffen wurde Irans Oberster Fuehrer Ajatollah Ali Khamenei im Alter von 86 Jahren getoetet, wie iranische Staatsmedien bestaetigten [15][21]. Die Angriffe gingen am 1. Maerz in den zweiten Tag; Israel gab an, Teheran erneut angegriffen zu haben [8][26].\n\n## Iranische Vergeltungsschlaege\n\nDie iranischen Revolutionsgarden kuendigten nach Khameneis Tod \"grausame\" Vergeltung an [28]. Iran feuerte Raketen auf Tel Aviv, wobei es zu lauten Explosionen und offenbar mehreren Verletzten kam [23][16]. Zudem griff Iran US-Einrichtungen am Persischen Golf an -- Explosionen wurden aus Dubai, Doha und Manama gemeldet [22]. Golfstaaten, die US-Militaerbasen beherbergen, bestaetigten iranische Vergeltungsangriffe auf ihrem Territorium [25]. Die VAE meldeten die erfolgreiche Abfangung mehrerer iranischer Raketen [29]. Laut CNBC koenne Iran \"noch haerter zuschlagen\", da Khameneis Tod Teheran in Kriegsbereitschaft versetzt habe [7].\n\n## Strasse von Hormus und wirtschaftliche Folgen\n\nIran sperrte die Strasse von Hormus fuer den Schiffsverkehr, woraufhin Reeder ihre Schiffe stoppten [1]. Laut Berichten aus Oman wurde ein erster Oeltanker in der Meerenge angegriffen [6]. Experten erwarten deutlich hoehere Spritpreise an den Zapfsaeulen [13]. Die iranischen Angriffe legten den Flugverkehr im Nahen Osten weitgehend lahm [3]. Golf-Airlines verlaengerten ihre Flugstreichungen, da wichtige Drehkreuze wie der Flughafen Dubai beschaedigt wurden [17].\n\n## Internationale Reaktionen\n\nDer UN-Sicherheitsrat tagte bereits am 28. Februar in einer Dringlichkeitssitzung [2]. Bundeskanzler Merz, Frankreichs Praesident Macron und der britische Premier Starmer verurteilten die iranischen Gegenangriffe [4]. Merz forderte ein sofortiges Ende der iranischen Angriffe, vermied aber offene Kritik an den Luftschlaegen gegen den Iran [18]. Europaeische Verbuendete betonten, sich nicht an den Angriffen beteiligt zu haben [11]. Die Golfstaaten verschaerften ihre Kritik am Iran mit der Aufforderung, \"zur Vernunft zu kommen\" [5]. Die NATO behielt Irans Reaktion wachsam im Blick und bewertete die Lage als \"existenziell\" [14].\n\n## Politische Transition im Iran\n\nNach Khameneis Tod bildete Iran einen Uebergangsrat zur Leitung der politischen Transition [19][16]. Analysten sehen den Iran vor einer hoechst ungewissen Zukunft, da die Nachfolgefrage ungeklaert ist [10][27]. Die Frage, wie lange der militaerische Konflikt andauern koennte, bleibt offen [20].",
"sources_json": [
{
"nr": 1,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 2,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 3,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 4,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 5,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
},
{
"nr": 6,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/01/first-oil-tanker-attacked-in-the-strait-of-hormuz-according-to-oman"
},
{
"nr": 7,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 8,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 9,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 10,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
},
{
"nr": 11,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/europe-reaction-us-attack-iran/"
},
{
"nr": 12,
"name": "ESUT",
"url": "https://esut.de/2026/03/meldungen/68516/us-israelische-militaeroperation-gegen-iran/"
},
{
"nr": 13,
"name": "Yahoo Finance / Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/iran-sperrt-wichtige-oel-route-jetzt-koennten-die-spritkosten-steigen/"
},
{
"nr": 14,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/europe/2026-02-28/nato-iran-europe-retaliation-20904701.html"
},
{
"nr": 15,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/trump-iran-strikes-live-updates.html"
},
{
"nr": 16,
"name": "blue News (Schweiz)",
"url": "https://www.bluewin.ch/de/news/international/iran-eskalation-chamenei-tot-raketen-israel-3119303.html"
},
{
"nr": 17,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-strikes-disrupt-thousands-of-flights-dubai-airport-damaged"
},
{
"nr": 18,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/merz-zu-luftschlagen-gegen-den-iran-keine-offene-kritik--aber-auch-keine-unterstutzung-15303887.html"
},
{
"nr": 19,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-to-form-interim-council-to-oversee-transition-after-khameneis-killing"
},
{
"nr": 20,
"name": "Berliner Zeitung",
"url": "https://www.berliner-zeitung.de/politik-gesellschaft/geopolitik/iran-israel-usa-chamenei-tot-krieg-li.10021711"
},
{
"nr": 21,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/1123499337/iran-israel-ayatollah-ali-khamenei-killed"
},
{
"nr": 22,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/more-blasts-rock-dubai-doha-and-manama-as-iran-targets-us-assets-in-gulf"
},
{
"nr": 23,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/neue-iranische-raketenangriffe-explosionen-in-tel-aviv--offenbar-mehrere-verletzte-10586281.html"
},
{
"nr": 24,
"name": "Euronews",
"url": "https://de.euronews.com/2026/02/28/73-jahre-feindseligkeiten-usa-iran-konflikt"
},
{
"nr": 25,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5730239/gulf-countries-that-host-u-s-military-bases-say-iran-has-retaliated-to-u-s-strikes"
},
{
"nr": 26,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-iran-live-updates-khamenei-death-trump-gulf-strikes.html"
},
{
"nr": 27,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/iran-khamenei-dead-us-israel-strike-trump-netanyahu.html"
},
{
"nr": 28,
"name": "France 24",
"url": "https://www.france24.com/en/asia-pacific/20260228-live-israel-says-launched-preventive-strike-against-iran-declares-state-of-emergency"
},
{
"nr": 29,
"name": "Gulf News",
"url": "https://gulfnews.com/world/mena/israel-launches-preemptive-strike-on-iran-israeli-defence-minister-1.500458163"
},
{
"nr": 30,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/politik/reaktionen-auf-den-angriff-gegen-iran-besorgnis-verurteilung-und-zustimmung/"
}
],
"article_count": 258,
"fact_check_count": 541,
"created_at": "2026-03-01 16:51:31"
}

Datei anzeigen

@@ -1,134 +0,0 @@
{
"id": 2,
"summary": "Die USA und Israel haben am 28. Februar 2026 eine koordinierte Militaeroperation unter dem Namen 'Operation Epic Fury' gegen den Iran gestartet [1][2]. Praesident Trump kuendigte grosse Kampfoperationen an und rief die iranische Bevoelkerung auf, 'die Kontrolle ueber eure Regierung zu uebernehmen' [3]. Die Angriffe richteten sich gegen iranische Militaer- und Nuklearinfrastruktur, nachdem Atomverhandlungen offenbar gescheitert waren [4].\n\nDer Iran reagierte mit Vergeltungsschlaegen auf israelische und US-Ziele in der gesamten Region [1][2]. Iranische Raketen- und Drohnenangriffe auf das Hauptquartier der US-Marinestreitkraefte in Bahrain dauerten ueber acht Stunden an. Wohngebaeude im Stadtteil Hoora wurden getroffen, es wurden jedoch keine US-Militaeropfer gemeldet, wohl aber zivile Schaeden in Bahrain [5]. In Dubai wurden Explosionen gehoert, ein Brand an einem Luxushotel auf 'The Palm' wurde gemeldet [6].\n\nAls wirtschaftliche Vergeltungsmassnahme verbot der Iran die Durchfahrt durch die Strasse von Hormus [7], eine der wichtigsten Seehandelsrouten fuer den globalen Oelmarkt [8][9]. Die Blockade hat erhebliche Auswirkungen auf den Welthandel und globale Lieferketten [10]. Analysten bewerten die moeglichen Folgen fuer den Oelmarkt und die Weltwirtschaft als gravierend [11][12].\n\nDer Luftverkehr in der Region wurde massiv beeintraechtigt: Luftraeume wurden geschlossen, der Flugverkehr in Dubai gestoppt, Qatar Airways pausierte den Betrieb und die Lufthansa strich Fluege [13]. Das Auswaertige Amt warnte Bundesbuerger in der Nahostregion [14].\n\nDie internationalen Reaktionen fielen zurueckhaltend aus [15]. Grossbritannien, Frankreich und Deutschland draengten auf eine Rueckkehr zu diplomatischen Verhandlungen [16]. Der UN-Sicherheitsrat berief eine Dringlichkeitssitzung ein [17]. Voelkerrechtler diskutierten, ob die Angriffe einen Wendepunkt fuer die UN-Charta darstellen [18]. Bundeskanzler Merz verurteilte das iranische Regime, hielt sich aber mit Kritik an Trump zurueck [19].\n\nIm US-Kongress stehen Abstimmungen ueber die Kriegsvollmachten (War Powers Resolution) bevor [20]. Im Iran selbst kam es zu Protesten, bei denen Amnesty International toedliche Gewalt dokumentierte [21]. Die Brookings Institution sprach von einer 'neuen iranischen Revolution' [22]. In der iranischen Bevoelkerung herrscht eine Mischung aus Hoffnung und Angst [23].\n\nExperten warnen, dass der Iran die USA in einen langen Krieg verwickeln koennte [24]. Der Council on Foreign Relations beobachtet die Lage als sich verschaerfenden Dreifachkonflikt zwischen Iran, Israel und den USA [25].",
"sources_json": [
{
"nr": 1,
"name": "USNI News",
"url": "https://news.usni.org/2026/02/28/u-s-israel-launch-operation-epic-fury-against-iran-tehran-retaliates-across-region"
},
{
"nr": 2,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/sicherheitsbehoerden-verstaerken-schutz-von-juedischen-und-israelischen-einrichtungen/"
},
{
"nr": 3,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/us-and-israel-launch-a-major-attack-on-iran-and-trump-urges-iranians-to-take-over-your-government"
},
{
"nr": 4,
"name": "ORF",
"url": "https://on.orf.at/video/14313541/16045418/atomverhandlungen-offenbar-gescheitert"
},
{
"nr": 5,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/middle_east/2026-02-28/strikes-on-bahrain-iran-israel-20902624.html"
},
{
"nr": 6,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-angriff-von-israel-und-usa-auf-den-iran-augenzeugen-berichten-von-explosion-auf-dubai-insel-the-palm-10586281.html"
},
{
"nr": 7,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-iran-verbietet-schiffen-durchfahrt-der-strasse-von-hormus.html"
},
{
"nr": 8,
"name": "Handelsblatt (Hormus)",
"url": "https://www.handelsblatt.com/politik/international/iran-was-die-strasse-von-hormus-so-wichtig-macht/100204320.html"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/22/iran-us-tensions-what-would-blocking-strait-of-hormuz-mean-for-oil-lng"
},
{
"nr": 10,
"name": "Retail News",
"url": "https://retail-news.de/iran-konflikt-welthandel-lieferketten/"
},
{
"nr": 11,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/iran-us-attack-oil-market-economy.html"
},
{
"nr": 12,
"name": "Euronews (Oelpreis)",
"url": "https://www.euronews.com/business/2026/02/28/what-does-the-us-israel-attack-on-iran-mean-for-oil-prices"
},
{
"nr": 13,
"name": "aeroTELEGRAPH",
"url": "https://www.aerotelegraph.com/sicherheit/luftraeume-geschlossen-flugverkehr-in-dubai-gestoppt-qatar-airways-pausiert-betrieb/01jrkdy"
},
{
"nr": 14,
"name": "Der Tagesspiegel (AA-Warnung)",
"url": "https://www.tagesspiegel.de/internationales/eskalationsgefahr-zwischen-usa-und-iran-auswartiges-amt-warnt-bundesburger-in-nahost-15288892.html"
},
{
"nr": 15,
"name": "PBS News (Reaktionen)",
"url": "https://www.pbs.org/newshour/world/world-leaders-react-cautiously-to-u-s-and-israeli-strikes-on-iran"
},
{
"nr": 16,
"name": "The Hill (Verhandlungen)",
"url": "https://thehill.com/policy/international/5760393-uk-france-germany-iran-strikes-negotiations/"
},
{
"nr": 17,
"name": "The Hill (UN)",
"url": "https://thehill.com/policy/international/5760591-un-security-council-emergency-meeting-iran-strikes/"
},
{
"nr": 18,
"name": "Just Security",
"url": "https://www.justsecurity.org/132773/us-iran-war-international-reactions/"
},
{
"nr": 19,
"name": "Zeit",
"url": "https://www.zeit.de/politik/deutschland/2026-02/bundesregierung-iran-israel-usa-angriff-reaktion"
},
{
"nr": 20,
"name": "Roll Call",
"url": "https://rollcall.com/2026/02/28/trump-announces-major-combat-operations-against-iran/"
},
{
"nr": 21,
"name": "Amnesty International",
"url": "https://www.amnesty.de/aktuell/iran-proteste-2026-gewalt-stoppen"
},
{
"nr": 22,
"name": "Brookings Institution",
"url": "https://www.brookings.edu/articles/the-new-iranian-revolution-has-begun/"
},
{
"nr": 23,
"name": "Handelsblatt (Iraner)",
"url": "https://www.handelsblatt.com/politik/international/iran-krieg-das-regime-muss-weg-iraner-zwischen-hoffnung-und-angst/100204276.html"
},
{
"nr": 24,
"name": "Handelsblatt (Langer Krieg)",
"url": "https://www.handelsblatt.com/politik/international/nahost-wie-der-iran-die-usa-in-einen-langen-krieg-verwickeln-koennte-01/100202895.html"
},
{
"nr": 25,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/global-conflict-tracker/conflict/confrontation-between-united-states-and-iran"
}
],
"article_count": 186,
"fact_check_count": 425,
"created_at": "2026-03-01 00:48:00"
}

Datei anzeigen

@@ -1,144 +0,0 @@
{
"id": 20,
"summary": "## Militärschläge und Tod Khameneis\n\nAm 28. Februar 2026 führten die USA und Israel koordinierte Luftschläge gegen den Iran durch [1][2]. Im Zuge dieser Angriffe wurde Irans Oberster Führer Ajatollah Ali Khamenei im Alter von 86 Jahren getötet, wie iranische Staatsmedien bestätigten [3][4]. Die Angriffe gingen am 1. März in den zweiten Tag [5]. US-Präsident Trump warnte den Iran vor weiterer Vergeltung [6]. Die Militäroperation wurde ohne vorherige Zustimmung des US-Kongresses eingeleitet, was eine innenpolitische Debatte über die Kriegsvollmachten des Präsidenten auslöste [7].\n\n## Iranische Vergeltung und regionale Eskalation\n\nDer Iran reagierte mit massiven Vergeltungsschlägen. Raketen trafen Tel Aviv, wo es offenbar mehrere Verletzte gab [8]. Iranische Angriffe richteten sich auch gegen US-Militäreinrichtungen in den Golfstaaten -- Explosionen wurden in Dubai, Doha und Manama gemeldet [9]. Bei den Kampfhandlungen kamen mindestens drei US-Soldaten ums Leben [10]. Analysten warnen, dass der Iran nach dem Tod Khameneis \"noch härter zuschlagen\" könnte und sich in erhöhter Kriegsbereitschaft befinde [11].\n\n## Auswirkungen auf Straße von Hormus, Luftverkehr und Energiemärkte\n\nDer Iran drohte mit einer Blockade der Straße von Hormus, woraufhin Reeder den Schiffsverkehr stoppten [12]. Laut Berichten aus Oman wurde bereits ein erster Öltanker in der Meerenge angegriffen [13]. Die Sperrung der wichtigen Öl-Route lässt Experten deutlich höhere Spritpreise erwarten [14]. Der Flugverkehr im Nahen Osten wurde massiv beeinträchtigt: Iranische Angriffe beschädigten Flughafen-Drehkreuze, Golf-Airlines weiteten ihre Flugstreichungen aus, und tausende Flüge fielen aus [15][16]. Die Börsenmärkte reagierten ebenfalls auf die Eskalation [17].\n\n## Politische Reaktionen und diplomatische Lage\n\nDer UN-Sicherheitsrat trat am 28. Februar zu einer Dringlichkeitssitzung zusammen [18]. Die NATO beobachtet die iranische Reaktion mit erhöhter Wachsamkeit [19]. Bundeskanzler Merz, Frankreichs Präsident Macron und der britische Premierminister Starmer verurteilten gemeinsam die iranischen Gegenangriffe [20], wobei Merz keine offene Kritik an den ursprünglichen Luftschlägen äußerte, diese aber auch nicht ausdrücklich unterstützte [21]. Europäische Verbündete betonten ihre Nichtbeteiligung an den US-israelischen Militärschlägen [22]. Die Golfstaaten verschärften ihre Kritik am Iran und forderten Teheran zur Besonnenheit auf [23].\n\n## Innenpolitische Lage im Iran und Ausblick\n\nNach dem Tod Khameneis bildete der Iran einen Übergangsrat zur Leitung der politischen Transition [24]. Die Nachfolgefrage stellt das Land vor eine ungewisse Zukunft [25][26]. Das britische Unterhaus veröffentlichte eine Analyse der Herausforderungen, vor denen der Iran 2026 steht [27].",
"sources_json": [
{
"nr": 1,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 2,
"name": "ESUT",
"url": "https://esut.de/2026/03/meldungen/68516/us-israelische-militaeroperation-gegen-iran/"
},
{
"nr": 3,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/trump-iran-strikes-live-updates.html"
},
{
"nr": 4,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/1123499337/iran-israel-ayatollah-ali-khamenei-killed"
},
{
"nr": 5,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 7,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 8,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/neue-iranische-raketenangriffe-explosionen-in-tel-aviv--offenbar-mehrere-verletzte-10586281.html"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/more-blasts-rock-dubai-doha-and-manama-as-iran-targets-us-assets-in-gulf"
},
{
"nr": 10,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
},
{
"nr": 11,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 12,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 13,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/01/first-oil-tanker-attacked-in-the-strait-of-hormuz-according-to-oman"
},
{
"nr": 14,
"name": "Yahoo Finance / Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/iran-sperrt-wichtige-oel-route-jetzt-koennten-die-spritkosten-steigen/"
},
{
"nr": 15,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-strikes-disrupt-thousands-of-flights-dubai-airport-damaged"
},
{
"nr": 16,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 17,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 18,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 19,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/europe/2026-02-28/nato-iran-europe-retaliation-20904701.html"
},
{
"nr": 20,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 21,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/merz-zu-luftschlagen-gegen-den-iran-keine-offene-kritik--aber-auch-keine-unterstutzung-15303887.html"
},
{
"nr": 22,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/europe-reaction-us-attack-iran/"
},
{
"nr": 23,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
},
{
"nr": 24,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-to-form-interim-council-to-oversee-transition-after-khameneis-killing"
},
{
"nr": 25,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
},
{
"nr": 26,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 27,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10456/"
}
],
"article_count": 261,
"fact_check_count": 551,
"created_at": "2026-03-01 17:52:18"
}

Datei anzeigen

@@ -1,144 +0,0 @@
{
"id": 21,
"summary": "## US-israelische Militaeroperation und Tod Khameneis\n\nAm 28. Februar 2026 starteten die USA und Israel koordinierte Luftschlaege gegen den Iran [1][2]. Ziel der Operation waren unter anderem militaerische und nukleare Einrichtungen [2]. Noch am selben Tag bestaetigten iranische Staatsmedien den Tod des Obersten Fuehrers Ajatollah Ali Khamenei infolge der Angriffe [3]. Die Militaeroperationen gingen am 1. Maerz in den zweiten Tag [4]. Laut Washington Post wurden bei den Kampfhandlungen drei US-Soldaten getoetet, waehrend Israel und Iran gegenseitig neue Angriffe starteten [5]. US-Praesident Trump warnte den Iran vor weiterer Vergeltung [6].\n\n## Iranische Vergeltung und Eskalation\n\nDer Iran reagierte mit Vergeltungsschlaegen, darunter Raketenangriffe auf Tel Aviv [7]. Analysten warnen, dass Teheran nach Khameneis Tod in erhoehte Kriegsbereitschaft versetzt sei und weitere, haertere Schlaege folgen koennten [8]. Iran drohte zudem mit einer Blockade der Strasse von Hormus, woraufhin Reeder ihre Schiffe stoppten [9]. Laut Euronews wurde ein erster Oeltanker in der Meerenge angegriffen [10]. Iranische Angriffe trafen auch Flughaefen und Drehkreuze am Persischen Golf, darunter den Flughafen Dubai [11].\n\n## Politische Transition im Iran\n\nNach Khameneis Tod setzte der Iran einen Uebergangsrat ein, der die politische Transition ueberwachen soll [12]. Die Frage der Nachfolge an der Staatsspitze stellt das Land vor grosse Unsicherheit [13][14].\n\n## Internationale Reaktionen\n\nUN-Generalsekretaer Guterres bezeichnete die Bombardierung und die Vergeltungsschlaege als \"schwere Bedrohung fuer den internationalen Frieden\" [15]. Der UN-Sicherheitsrat trat am 28. Februar zu einer Dringlichkeitssitzung zusammen [16]. Die Staats- und Regierungschefs Deutschlands, Frankreichs und Grossbritanniens verurteilten gemeinsam die iranischen Gegenangriffe [17], betonten jedoch zugleich ihre Nichtbeteiligung an den US-israelischen Militaerschlaegen [18]. Bundeskanzler Merz forderte ein sofortiges Ende der iranischen Angriffe [19]. Die Golfstaaten verschaerften ihre Kritik am Iran und forderten Teheran zur Besonnenheit auf [20]. Die NATO beobachtete die Lage mit erhoehter Wachsamkeit [21].\n\n## Wirtschaftliche Auswirkungen\n\nDie Eskalation hatte unmittelbare Folgen fuer die globalen Maerkte [22]. Die Bedrohung der Strasse von Hormus als zentraler Oel-Transportroute laesst Experten deutlich hoehere Spritpreise erwarten [23]. Auch die moeglichen Auswirkungen auf die weltweite Oelversorgung werden mit Sorge betrachtet [24]. Der Flugverkehr im Nahen Osten wurde erheblich beeintraechtigt; Golf-Airlines verlaengerten ihre Flugstreichungen [25][11].\n\n## Debatte ueber Kriegsvollmachten in den USA\n\nIn den USA entbrannte eine innenpolitische Debatte ueber Kriegsvollmachten, nachdem Trump die Angriffe ohne vorherige Zustimmung des Kongresses angeordnet hatte [26][27].",
"sources_json": [
{
"nr": 1,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 2,
"name": "ESUT (Europaeische Sicherheit & Technik)",
"url": "https://esut.de/2026/03/meldungen/68516/us-israelische-militaeroperation-gegen-iran/"
},
{
"nr": 3,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/trump-iran-strikes-live-updates.html"
},
{
"nr": 4,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 5,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 7,
"name": "blue News (Schweiz)",
"url": "https://www.bluewin.ch/de/news/international/iran-eskalation-chamenei-tot-raketen-israel-3119303.html"
},
{
"nr": 8,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 9,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 10,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/01/first-oil-tanker-attacked-in-the-strait-of-hormuz-according-to-oman"
},
{
"nr": 11,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-strikes-disrupt-thousands-of-flights-dubai-airport-damaged"
},
{
"nr": 12,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-to-form-interim-council-to-oversee-transition-after-khameneis-killing"
},
{
"nr": 13,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
},
{
"nr": 14,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 15,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167062"
},
{
"nr": 16,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 17,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 18,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/europe-reaction-us-attack-iran/"
},
{
"nr": 19,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/merz-zu-luftschlagen-gegen-den-iran-keine-offene-kritik--aber-auch-keine-unterstutzung-15303887.html"
},
{
"nr": 20,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
},
{
"nr": 21,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/europe/2026-02-28/nato-iran-europe-retaliation-20904701.html"
},
{
"nr": 22,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 23,
"name": "Yahoo Finance / Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/iran-sperrt-wichtige-oel-route-jetzt-koennten-die-spritkosten-steigen/"
},
{
"nr": 24,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5678603/iran-strikes-oil-energy-markets"
},
{
"nr": 25,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 26,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 27,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-strikes-on-iran-lead-to-renewed-demands-for-war-powers-legislation"
}
],
"article_count": 269,
"fact_check_count": 560,
"created_at": "2026-03-01 18:36:29"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 22,
"summary": "## Militärische Eskalation\n\nAm 28. Februar 2026 haben die USA und Israel koordinierte Luftschläge gegen den Iran durchgeführt [5][10]. Bei den Angriffen wurde der Oberste Führer Ayatollah Ali Khamenei getötet [1][8]. Die Angriffe gingen am 1. März in den zweiten Tag [11]. Drei US-Soldaten kamen bei dem Militäreinsatz ums Leben [4]. In Teheran wurden weitere Explosionen gemeldet [2]. US-Präsident Trump warnte den Iran vor Vergeltung und drohte mit einer Gewalt, \"die es noch nie gegeben hat\" [3][7].\n\n## Iranische Reaktion\n\nDer Iran hat eine 40-tägige Staatstrauer nach dem Tod Khameneis ausgerufen [8]. Die iranischen Revolutionsgarden meldeten \"massive Vergeltungsschläge\" [1]. Analysten warnen, dass der Iran \"noch härter zuschlagen\" könnte, da der Tod Khameneis das Land in erhöhte Kriegsbereitschaft versetzt habe [14]. Die Hisbollah kündigte Widerstand an [2]. Die politische Zukunft des Iran ist nach Khameneis Tod ungewiss -- die Frage der Nachfolge steht im Raum [12][13].\n\n## Wirtschaftliche Auswirkungen\n\nDie Angriffe haben erhebliche Auswirkungen auf die Weltwirtschaft. Der Ölpreis stieg in Richtung 100 US-Dollar pro Barrel [15]. Ein Öltanker wurde laut Oman in der Straße von Hormus angegriffen [18]. Der Iran warnte vor einer möglichen Blockade der Straße von Hormus, woraufhin Reedereien Schiffe stoppten [17]. Der Flugverkehr im Nahen Osten wurde weitgehend lahmgelegt [19]. Das Handelsblatt warnte, dass der Iran-Konflikt für die Finanzmärkte gefährlicher werden könnte als andere Krisen [16], während die Börsen weltweit unter Druck gerieten [20]. NPR berichtete bereits am 28. Februar über mögliche Folgen für die globale Ölversorgung [29].\n\n## Internationale Reaktionen\n\nDer UN-Sicherheitsrat trat am 28. Februar zu einer Dringlichkeitssitzung zusammen [21]. UN-Generalsekretär Guterres bezeichnete die Bombardierung und die Vergeltungsschläge als \"schwere Bedrohung für den internationalen Frieden\" [22]. Die europäischen Verbündeten -- Bundeskanzler Merz, Frankreichs Präsident Macron und der britische Premierminister Starmer -- verurteilten gemeinsam die iranischen Gegenangriffe [25], betonten jedoch ihre Nichtbeteiligung an den US-israelischen Militärschlägen [27]. Die Golfstaaten verschärften ihre Kritik am Iran und forderten Teheran auf, \"zur Vernunft zu kommen\" [26].\n\nIm US-Kongress entbrannte eine Debatte über die Kriegsvollmachten des Präsidenten, da Trump die Angriffe ohne Zustimmung des Kongresses angeordnet hatte [23][24]. Bei einem pro-iranischen Protest vor dem US-Konsulat im pakistanischen Karachi wurden mindestens zehn Menschen getötet [28].",
"sources_json": [
{
"nr": 1,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/politik/ausland/ali-chamenei-tot-irans-revolutionsgarden-melden-massive-vergeltungsschlaege/100204364.html"
},
{
"nr": 2,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-verteidigungsminister-und-generalstabschef-getoetet.html"
},
{
"nr": 3,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/01/we-will-hit-them-with-a-force-that-has-never-been-seen-before-trump-warns-iran"
},
{
"nr": 4,
"name": "Suedtirol News",
"url": "https://www.suedtirolnews.it/politik/drei-us-soldaten-bei-militaereinsatz-gegen-iran-getoetet"
},
{
"nr": 5,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 7,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 8,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-begins-40-day-mourning-after-khamenei-killed-in-us-israeli-attack"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/world-reacts-to-killing-of-irans-khamenei-by-us-israel-forces"
},
{
"nr": 10,
"name": "ESUT",
"url": "https://esut.de/2026/03/meldungen/68516/us-israelische-militaeroperation-gegen-iran/"
},
{
"nr": 11,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 12,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 13,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
},
{
"nr": 14,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 15,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/oelpreis-bis-100-us-dollar-das-bedeuten-die-angriffe-auf-iran-fuer-anleger/"
},
{
"nr": 16,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/meinung/kommentare/kommentar-warum-der-iran-fuer-die-maerkte-gefaehrlicher-werden-koennte-als-andere-krisen/100204300.html"
},
{
"nr": 17,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 18,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/01/first-oil-tanker-attacked-in-the-strait-of-hormuz-according-to-oman"
},
{
"nr": 19,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 20,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 21,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 22,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167062"
},
{
"nr": 23,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 24,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-strikes-on-iran-lead-to-renewed-demands-for-war-powers-legislation"
},
{
"nr": 25,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 26,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
},
{
"nr": 27,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/europe-reaction-us-attack-iran/"
},
{
"nr": 28,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/at-least-9-killed-in-pro-iran-protest-at-us-consulate-in-pakistans-karachi"
},
{
"nr": 29,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5678603/iran-strikes-oil-energy-markets"
},
{
"nr": 30,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
}
],
"article_count": 271,
"fact_check_count": 570,
"created_at": "2026-03-01 18:53:18"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 23,
"summary": "## Militärische Eskalation: US-israelische Angriffe auf den Iran\n\nAm 28. Februar 2026 haben die USA und Israel koordinierte Luftangriffe auf den Iran gestartet, die auch am 1. März andauern [28]. Bei den Angriffen wurde der Oberste Führer Ali Khamenei getötet [3][5][15]. Ebenfalls getötet wurden der iranische Verteidigungsminister und der Generalstabschef [4]. Drei US-Soldaten kamen bei dem Militäreinsatz ums Leben [6][17]. Die Angriffe richteten sich unter anderem gegen Ziele in Teheran, wo laute Explosionen gemeldet wurden [2][4].\n\n## Iranische Reaktion und Vergeltung\n\nDie iranischen Revolutionsgarden meldeten massive Vergeltungsschläge [3]. Der Iran droht mit \"verheerenden\" weiteren Vergeltungsaktionen [5], und Analysten warnen, dass Teheran \"noch härter zuschlagen\" könnte [27]. Die Hisbollah kündigte Widerstand an [4]. Iran hat eine 40-tägige Trauerperiode nach Khameneis Tod eingeleitet [9]. Die Vergeltungsschläge des Iran richteten sich auch gegen Basen in Jordanien und dem Irak, wobei Bundeswehr-Soldaten ebenfalls Ziel iranischer Angriffe waren [2]. Trump warnte den Iran vor weiterer Vergeltung und drohte mit einer Gewalt, \"die es so noch nie gegeben hat\" [5][18].\n\n## Innenpolitische Lage im Iran\n\nNach dem Tod Khameneis steht der Iran vor einer ungewissen Zukunft [30]. Die Nachfolgefrage ist offen, und die Machtzentren des Landes befinden sich in einer Krise [1]. Es ist unklar, wer die Führung übernehmen wird [30].\n\n## Internationale Reaktionen\n\nDer UN-Sicherheitsrat wurde zu einer Dringlichkeitssitzung einberufen [22]. UN-Generalsekretär Guterres bezeichnete die Bombardierung und die Vergeltungsschläge als \"schwere Bedrohung für den internationalen Frieden\" [11]. Bundeskanzler Merz, Frankreichs Präsident Macron und der britische Premierminister Starmer verurteilten gemeinsam die iranischen Gegenangriffe [24]. Die Golfstaaten verschärften ihre Kritik am Iran und forderten Teheran auf, \"zur Vernunft zu kommen\" [25]. In den USA entbrannte eine Debatte über die Kriegsvollmachten des Präsidenten, da Trump den Angriff ohne Zustimmung des Kongresses anordnete [19][13]. Bei einem pro-iranischen Protest vor dem US-Konsulat im pakistanischen Karachi wurden mindestens zehn Menschen getötet [10].\n\n## Wirtschaftliche Auswirkungen\n\nDie Angriffe haben erhebliche wirtschaftliche Folgen. Der Ölpreis könnte auf bis zu 100 US-Dollar steigen [7]. In der Straße von Hormus wurde ein Öltanker angegriffen [26], und iranische Warnungen veranlassten Reeder, Schiffe zu stoppen [21]. Der Flugverkehr im Nahen Osten wurde lahmgelegt [23]. Analysten warnen, dass die Iran-Krise für die Finanzmärkte gefährlicher werden könnte als andere Krisen [8][14]. Die US-Angriffe könnten die weltweite Ölversorgung nachhaltig beeinflussen [12].",
"sources_json": [
{
"nr": 1,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/internationale-politik/id_101149470/iran-chamenei-nachfolge-offen-machtzentren-des-landes-in-der-krise.html"
},
{
"nr": 2,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/laute-explosionen-in-teheran-netanjahu-ruft-iraner-zum-aufstand-auf-10586281.html"
},
{
"nr": 3,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/politik/ausland/ali-chamenei-tot-irans-revolutionsgarden-melden-massive-vergeltungsschlaege/100204364.html"
},
{
"nr": 4,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-verteidigungsminister-und-generalstabschef-getoetet.html"
},
{
"nr": 5,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/01/we-will-hit-them-with-a-force-that-has-never-been-seen-before-trump-warns-iran"
},
{
"nr": 6,
"name": "Südtirol News",
"url": "https://www.suedtirolnews.it/politik/drei-us-soldaten-bei-militaereinsatz-gegen-iran-getoetet"
},
{
"nr": 7,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/oelpreis-bis-100-us-dollar-das-bedeuten-die-angriffe-auf-iran-fuer-anleger/"
},
{
"nr": 8,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/meinung/kommentare/kommentar-warum-der-iran-fuer-die-maerkte-gefaehrlicher-werden-koennte-als-andere-krisen/100204300.html"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-begins-40-day-mourning-after-khamenei-killed-in-us-israeli-attack"
},
{
"nr": 10,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/at-least-9-killed-in-pro-iran-protest-at-us-consulate-in-pakistans-karachi"
},
{
"nr": 11,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167062"
},
{
"nr": 12,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5678603/iran-strikes-oil-energy-markets"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-strikes-on-iran-lead-to-renewed-demands-for-war-powers-legislation"
},
{
"nr": 14,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 15,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/world-reacts-to-killing-of-irans-khamenei-by-us-israel-forces"
},
{
"nr": 16,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 17,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
},
{
"nr": 18,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 19,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 20,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10456/"
},
{
"nr": 21,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 22,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 23,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 24,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 25,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
},
{
"nr": 26,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/01/first-oil-tanker-attacked-in-the-strait-of-hormuz-according-to-oman"
},
{
"nr": 27,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/01/us-israel-attacks-strikes-iran-retaliate-china-russia-allies.html"
},
{
"nr": 28,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731365/us-israeli-strikes-region"
},
{
"nr": 29,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-tod-chamenei-krieg-entwicklungen-100.html"
},
{
"nr": 30,
"name": "NZZ",
"url": "https://www.nzz.ch/international/nachfolge-von-khamenei-iran-steht-vor-einer-ungewissen-zukunft-ld.1927133"
}
],
"article_count": 276,
"fact_check_count": 590,
"created_at": "2026-03-01 20:54:35"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 24,
"summary": "## Militärische Eskalation: US-israelische Angriffe auf den Iran\n\nAm 28. Februar 2026 begannen die USA und Israel koordinierte Militärschläge gegen den Iran. Bei diesen Angriffen wurde der Oberste Führer des Iran, Ayatollah Ali Khamenei, getötet [8][14][20]. US-Präsident Trump warnte den Iran vor weiterer Vergeltung und erklärte, die Operation liege \"vor dem Zeitplan\" [2][11]. Die USA bestätigten den Tod von drei US-Soldaten im Rahmen des Einsatzes [2][11]. In Teheran wurden laute Explosionen gemeldet, und laut iranischen Angaben wurden auch der Verteidigungsminister und der Generalstabschef getötet [9]. Die Raketeneinschläge dauern an, während die iranische Führung Trotz demonstriert [3].\n\n## Iranische Vergeltung und regionale Ausweitung\n\nDie iranischen Revolutionsgarden meldeten massive Vergeltungsschläge [8]. Die Hisbollah kündigte Widerstand an [9]. Iranische Gegenangriffe richteten sich auch gegen Basen in Jordanien und im Irak, wobei Bundeswehr-Soldaten ebenfalls Ziel der Angriffe waren [7]. Vor der Küste Omans wurde ein Öltanker beschossen, wobei ein Mensch ums Leben kam [5]. Der Iran drohte mit der Blockade der Straße von Hormus, woraufhin Reeder ihre Schiffe stoppten [26]. Iran begann eine 40-tägige Staatstrauer für Khamenei [14]. In Karachi, Pakistan, wurden mindestens zehn Menschen bei einem pro-iranischen Protest vor dem US-Konsulat getötet [15].\n\n## Internationale Reaktionen\n\nDer UN-Sicherheitsrat trat zu einer Dringlichkeitssitzung zusammen [27]. UN-Generalsekretär Guterres bezeichnete die Bombardierung und die Vergeltungsschläge als \"schwere Bedrohung für den internationalen Frieden\" [16]. Bundeskanzler Merz, Frankreichs Präsident Macron und der britische Premierminister Starmer verurteilten gemeinsam die iranischen Gegenangriffe [29]. Die Golfstaaten verschärften ihre Kritik am Iran und forderten Teheran auf, \"zur Vernunft zu kommen\" [30]. In den USA entbrannte eine Debatte über Kriegsvollmachten, da Trump den Angriff ohne Zustimmung des Kongresses angeordnet hatte [24][18].\n\n## Wirtschaftliche Auswirkungen\n\nDer Ölpreis stieg in Richtung 100 US-Dollar pro Barrel [12]. Analysten warnten, der Iran-Konflikt könne für die Märkte gefährlicher werden als andere Krisen [13][19]. Der Flugverkehr im Nahen Osten wurde durch die Angriffe weitgehend lahmgelegt [28]. Experten diskutierten mögliche Auswirkungen auf die weltweite Ölversorgung [17]. Nach dem Tod Khameneis stellte sich die Frage nach der Machtverteilung und Nachfolge in den iranischen Machtzentren [6]. Beobachter warnten, der Krieg könne die Sicherheitsberechnungen am Persischen Golf grundlegend verändern [4].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-israel-attacks-on-iran-death-toll-and-injuries-live-tracker"
},
{
"nr": 2,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/us-iran-war-israel-supreme-leader-khamenei-funeral-day-2/"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/missile-strikes-continue-as-iranian-leaders-project-defiance-after-khamenei"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/opinions/2026/3/1/the-us-israeli-war-on-iran-could-rewrite-gulf-security-calculations"
},
{
"nr": 5,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-explosionen-in-teheran-oman-meldet-drohnenangriff.html"
},
{
"nr": 6,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/internationale-politik/id_101149470/iran-chamenei-nachfolge-offen-machtzentren-des-landes-in-der-krise.html"
},
{
"nr": 7,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/laute-explosionen-in-teheran-netanjahu-ruft-iraner-zum-aufstand-auf-10586281.html"
},
{
"nr": 8,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/politik/ausland/ali-chamenei-tot-irans-revolutionsgarden-melden-massive-vergeltungsschlaege/100204364.html"
},
{
"nr": 9,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-verteidigungsminister-und-generalstabschef-getoetet.html"
},
{
"nr": 10,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/01/we-will-hit-them-with-a-force-that-has-never-been-seen-before-trump-warns-iran"
},
{
"nr": 11,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 12,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/oelpreis-bis-100-us-dollar-das-bedeuten-die-angriffe-auf-iran-fuer-anleger/"
},
{
"nr": 13,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/meinung/kommentare/kommentar-warum-der-iran-fuer-die-maerkte-gefaehrlicher-werden-koennte-als-andere-krisen/100204300.html"
},
{
"nr": 14,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-begins-40-day-mourning-after-khamenei-killed-in-us-israeli-attack"
},
{
"nr": 15,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/at-least-9-killed-in-pro-iran-protest-at-us-consulate-in-pakistans-karachi"
},
{
"nr": 16,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167062"
},
{
"nr": 17,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5678603/iran-strikes-oil-energy-markets"
},
{
"nr": 18,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-strikes-on-iran-lead-to-renewed-demands-for-war-powers-legislation"
},
{
"nr": 19,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 20,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/world-reacts-to-killing-of-irans-khamenei-by-us-israel-forces"
},
{
"nr": 21,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 22,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
},
{
"nr": 23,
"name": "Suedtirol News",
"url": "https://www.suedtirolnews.it/politik/drei-us-soldaten-bei-militaereinsatz-gegen-iran-getoetet"
},
{
"nr": 24,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 25,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10456/"
},
{
"nr": 26,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 27,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
},
{
"nr": 28,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/angriff-iran-flugverkehr-auswirkungen-dubai-100.html"
},
{
"nr": 29,
"name": "deutschland.de",
"url": "https://www.deutschland.de/en/news/merz-macron-and-starmer-condemn-iranian-counterattacks"
},
{
"nr": 30,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/-return-to-your-senses-gulf-states-ramp-up-criticism-of-iran"
}
],
"article_count": 279,
"fact_check_count": 599,
"created_at": "2026-03-01 21:55:23"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 25,
"summary": "## Militaerische Eskalation und Tod Khameneis\n\nAm 28. Februar 2026 starteten die USA und Israel unter dem Operationsnamen \"Epic Fury\" umfassende Luftangriffe auf den Iran [3][24]. Dabei wurde der Oberste Fuehrer Ayatollah Ali Khamenei getoetet [11][17][23]. Irans Revolutionsgarden bestaetigten seinen Tod und kuendigten massive Vergeltungsschlaege an [11][6]. US-Praesident Trump erklaerte, die Operation liege \"vor dem Zeitplan\", und warnte den Iran vor weiterer Vergeltung [5][13][26]. Drei US-Soldaten kamen bei dem Militaereinsatz ums Leben [5][14][25]. In Teheran wurden fortgesetzte Explosionen gemeldet, und die Hisbollah kuendigte Widerstand an [12]. Auch nach Khameneis Tod setzten beide Seiten ihre Angriffe fort [25].\n\n## Iranische Vergeltung und regionale Ausweitung\n\nDer Iran antwortete mit Vergeltungsschlaegen, die sich auch gegen Bundeswehr-Standorte in Jordanien und im Irak richteten [10]. Vor der Kueste Omans wurde ein Oeltanker beschossen, wobei ein Mensch getoetet wurde [8]. Die iranische Fuehrung zeigte trotz der schweren Verluste Trotz und kuendigte weitere Massnahmen an [6][13]. Das Land begann eine 40-taegige Staatstrauer [17]. Die Frage der Nachfolge Khameneis ist offen, und die Machtzentren des Landes befinden sich in einer Krise [9].\n\n## Bedrohung der Strasse von Hormus und wirtschaftliche Folgen\n\nDer Iran drohte mit einer Blockade der Strasse von Hormus, woraufhin Reedereien ihre Schiffe stoppten [29][2]. Die Angriffe loesten starke Verwerfungen an den Oelmaerkten aus, mit Prognosen eines Anstiegs auf bis zu 100 US-Dollar pro Barrel [15][20]. Analysten warnten, der Iran-Konflikt koenne fuer die Maerkte gefaehrlicher werden als andere juengere Krisen [16][22].\n\n## Internationale Reaktionen\n\nUN-Generalsekretaer Guterres bezeichnete die Bombardierung und die Vergeltungsschlaege als \"schwere Bedrohung fuer den internationalen Frieden\" [19]. Der UN-Sicherheitsrat trat am 28. Februar zu einer Dringlichkeitssitzung zusammen [30]. Bundeskanzler Merz erklaerte, es sei eine \"Schwelle in eine ungewisse Zukunft ueberschritten\" worden [1]. Weltweit gab es unterschiedliche Reaktionen auf die Toetung Khameneis [23]. In Karachi, Pakistan, wurden mindestens zehn Menschen bei pro-iranischen Protesten vor dem US-Konsulat getoetet [18]. In den USA entbrannte eine Debatte ueber Kriegsvollmachten, da Trump den Angriff ohne Zustimmung des Kongresses anordnete [21][27]. Experten des Stimson Center analysierten, was die Angriffe der Welt signalisieren [3], waehrend Analysten warnten, der Konflikt koenne die Sicherheitsberechnungen am Persischen Golf grundlegend veraendern [7].",
"sources_json": [
{
"nr": 1,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/angriffe-iran-bundeskanzler-merz-reaktionen-deutschland-100.html"
},
{
"nr": 2,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/how-us-israel-attacks-on-iran-threaten-the-strait-of-hormuz-oil-markets"
},
{
"nr": 3,
"name": "Stimson Center",
"url": "https://www.stimson.org/2026/experts-react-what-the-epic-fury-iran-strikes-signal-to-the-world/"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-israel-attacks-on-iran-death-toll-and-injuries-live-tracker"
},
{
"nr": 5,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/us-iran-war-israel-supreme-leader-khamenei-funeral-day-2/"
},
{
"nr": 6,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/missile-strikes-continue-as-iranian-leaders-project-defiance-after-khamenei"
},
{
"nr": 7,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/opinions/2026/3/1/the-us-israeli-war-on-iran-could-rewrite-gulf-security-calculations"
},
{
"nr": 8,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-explosionen-in-teheran-oman-meldet-drohnenangriff.html"
},
{
"nr": 9,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/internationale-politik/id_101149470/iran-chamenei-nachfolge-offen-machtzentren-des-landes-in-der-krise.html"
},
{
"nr": 10,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/laute-explosionen-in-teheran-netanjahu-ruft-iraner-zum-aufstand-auf-10586281.html"
},
{
"nr": 11,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/politik/ausland/ali-chamenei-tot-irans-revolutionsgarden-melden-massive-vergeltungsschlaege/100204364.html"
},
{
"nr": 12,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-verteidigungsminister-und-generalstabschef-getoetet.html"
},
{
"nr": 13,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/01/we-will-hit-them-with-a-force-that-has-never-been-seen-before-trump-warns-iran"
},
{
"nr": 14,
"name": "Suedtirol News",
"url": "https://www.suedtirolnews.it/politik/drei-us-soldaten-bei-militaereinsatz-gegen-iran-getoetet"
},
{
"nr": 15,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/oelpreis-bis-100-us-dollar-das-bedeuten-die-angriffe-auf-iran-fuer-anleger/"
},
{
"nr": 16,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/meinung/kommentare/kommentar-warum-der-iran-fuer-die-maerkte-gefaehrlicher-werden-koennte-als-andere-krisen/100204300.html"
},
{
"nr": 17,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-begins-40-day-mourning-after-khamenei-killed-in-us-israeli-attack"
},
{
"nr": 18,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/at-least-9-killed-in-pro-iran-protest-at-us-consulate-in-pakistans-karachi"
},
{
"nr": 19,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167062"
},
{
"nr": 20,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5678603/iran-strikes-oil-energy-markets"
},
{
"nr": 21,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/us-strikes-on-iran-lead-to-renewed-demands-for-war-powers-legislation"
},
{
"nr": 22,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/finanzen/boerse/boersen-aktuell-was-der-angriff-auf-den-iran-fuer-die-maerkte-bedeutet/100204441.html"
},
{
"nr": 23,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/world-reacts-to-killing-of-irans-khamenei-by-us-israel-forces"
},
{
"nr": 24,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/israel-iran-attack-02-28-26-hnk-intl"
},
{
"nr": 25,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/trump-iran-israel-khamenei-strikes-live-updates/"
},
{
"nr": 26,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731333/iran-us-israel-strikes"
},
{
"nr": 27,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/politics/2026/02/28/congress-war-powers-trump-iran-constitution/7c797240-14d7-11f1-8e8d-fe91db44677b_story.html"
},
{
"nr": 28,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10456/"
},
{
"nr": 29,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-strasse-hormus-blockade-schiffsverkehr-oel-100.html"
},
{
"nr": 30,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/02/1167060"
}
],
"article_count": 292,
"fact_check_count": 608,
"created_at": "2026-03-02 17:53:40"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 26,
"summary": "## Militäroperationen und Eskalation\n\nDie USA und Israel haben Ende Februar 2026 unter dem Operationsnamen \"Epic Fury\" grossangelegte Luftangriffe auf den Iran gestartet [16]. Bei einem gezielten Angriff wurde Irans Oberster Führer Ali Khamenei getötet [7], woraufhin Iran eine 40-tägige Staatstrauer ausrief [30]. Die iranische Führung zeigte sich trotz des Verlusts trotzig und kündigte massive Vergeltungsschläge an [19][24]. Irans Revolutionsgarden meldeten umgehend Gegenangriffe [24], die sich auch gegen US-Militärbasen im Nahen Osten richteten [12]. Drei US-Soldaten wurden bei den Kampfhandlungen getötet [27][18]. US-Präsident Trump erklärte, die Operation liege \"vor dem Zeitplan\" und drohte Iran mit beispielloser Gewalt [18][26].\n\nAm 2. März meldete t-online, die USA hätten offenbar die Kontrolle über den iranischen Luftraum erlangt [5]. Ein republikanischer Senator rechnete mit wochenlangen Luftangriffen [2]. Laut dem Al-Jazeera-Liveblog vom 2. März sind zudem US-Jets abgestürzt, und Iran lehnte Gesprächsangebote Trumps ab und griff Energieanlagen an [1].\n\n## Auswirkungen auf die Bundeswehr und europäische Reaktionen\n\nIranische Vergeltungsschläge trafen auch Bundeswehr-Feldlager in Jordanien und Irak mit Drohnen und Raketen [9][8]. Deutschland drohte Iran daraufhin mit militärischen Defensivmassnahmen [10]. Bundeskanzler Merz erklärte, mit den Angriffen sei eine \"Schwelle in eine ungewisse Zukunft überschritten\" worden [14]. Auch auf europäischer Ebene reagierte man: EU-Ratspräsident Costa und Kommissionspräsidentin von der Leyen veröffentlichten am 28. Februar eine gemeinsame Erklärung zu den Entwicklungen [13]. Europäische Staaten drohten Teheran insgesamt mit militärischen Defensivmassnahmen [8].\n\n## Innenpolitische Lage im Iran\n\nNach dem Tod Khameneis ist die Nachfolgefrage offen. Die Machtzentren des Landes befinden sich in einer Krise [22]. Die iranische Führung projiziert dennoch Stärke und kündigte \"verheerende\" Vergeltung an [26]. Israels Premierminister Netanjahu rief die iranische Bevölkerung zum Aufstand auf [23].\n\n## Wirtschaftliche Folgen\n\nDie Angriffe haben erhebliche Auswirkungen auf die globalen Energiemärkte. Die Ölpreise stiegen stark an [3][4], da Sorgen um die Sicherheit der Strasse von Hormus und die Energieversorgung wuchsen [15]. Analysten halten einen Ölpreis von bis zu 100 US-Dollar für möglich [28]. Das Handelsblatt warnte, der Iran-Konflikt könne für die Märkte gefährlicher werden als andere Krisen [29]. Ein Öltanker vor Oman wurde beschossen, wobei ein Mensch getötet wurde [21].\n\n## Internationale Einordnung\n\nExperten des Stimson Center bewerteten die \"Epic Fury\"-Angriffe als weltpolitisch bedeutsames Signal [16]. Analysten warnten, der US-israelische Krieg gegen den Iran könne die Sicherheitsarchitektur am Persischen Golf grundlegend verändern [20]. Religiöse und zivilgesellschaftliche Organisationen reagierten ebenfalls auf die Eskalation [6].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera (Liveblog)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/2/us-israel-attack-iran-live"
},
{
"nr": 2,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6158786/"
},
{
"nr": 3,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/02/oil-prices-rise-as-escalating-iran-conflict-spurs-energy-supply-concerns"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/oil-prices-rise-sharply-after-us-israeli-attacks-on-iran"
},
{
"nr": 5,
"name": "t-online",
"url": "https://t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-usa-haben-wohl-kontrolle-ueber-luftraum-erlangt.html"
},
{
"nr": 6,
"name": "Vatican News",
"url": "https://www.vaticannews.va/de/welt/news/2026-03/angriff-iran-juden-islam-reaktionen-ajc-cer-oic.html"
},
{
"nr": 7,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-chamenei-angriff-geheimdienste-100.html"
},
{
"nr": 8,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/basen-in-jordanien-und-irak-auch-bundeswehr-soldaten-ziel-iranischer-angriffe-10586281.html"
},
{
"nr": 9,
"name": "Oldenburger Onlinezeitung",
"url": "https://www.oldenburger-onlinezeitung.de/nachrichten/bundeswehr-feldlager-mit-iranischen-drohnen-und-raketen-angegriffen-195652.html"
},
{
"nr": 10,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-oeltanker-vor-oman-beschossen-ein-toter.html"
},
{
"nr": 11,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260228-what-we-know-about-us-military-bases-mideast-gulf-targeted-iran-retaliatory-strikes"
},
{
"nr": 12,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260228-what-we-know-about-us-military-bases-mideast-gulf-targeted-iran-retaliatory-strikes"
},
{
"nr": 13,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/02/28/joint-statement-by-president-costa-and-president-von-der-leyen-on-developments-in-iran/"
},
{
"nr": 14,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/angriffe-iran-bundeskanzler-merz-reaktionen-deutschland-100.html"
},
{
"nr": 15,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/how-us-israel-attacks-on-iran-threaten-the-strait-of-hormuz-oil-markets"
},
{
"nr": 16,
"name": "Stimson Center",
"url": "https://www.stimson.org/2026/experts-react-what-the-epic-fury-iran-strikes-signal-to-the-world/"
},
{
"nr": 17,
"name": "Al Jazeera (Live-Tracker)",
"url": "https://www.aljazeera.com/news/2026/3/1/us-israel-attacks-on-iran-death-toll-and-injuries-live-tracker"
},
{
"nr": 18,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/us-iran-war-israel-supreme-leader-khamenei-funeral-day-2/"
},
{
"nr": 19,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/missile-strikes-continue-as-iranian-leaders-project-defiance-after-khamenei"
},
{
"nr": 20,
"name": "Al Jazeera (Analyse)",
"url": "https://www.aljazeera.com/opinions/2026/3/1/the-us-israeli-war-on-iran-could-rewrite-gulf-security-calculations"
},
{
"nr": 21,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-explosionen-in-teheran-oman-meldet-drohnenangriff.html"
},
{
"nr": 22,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/internationale-politik/id_101149470/iran-chamenei-nachfolge-offen-machtzentren-des-landes-in-der-krise.html"
},
{
"nr": 23,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/laute-explosionen-in-teheran-netanjahu-ruft-iraner-zum-aufstand-auf-10586281.html"
},
{
"nr": 24,
"name": "Wirtschaftswoche",
"url": "https://www.wiwo.de/politik/ausland/ali-chamenei-tot-irans-revolutionsgarden-melden-massive-vergeltungsschlaege/100204364.html"
},
{
"nr": 25,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-verteidigungsminister-und-generalstabschef-getoetet.html"
},
{
"nr": 26,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/01/we-will-hit-them-with-a-force-that-has-never-been-seen-before-trump-warns-iran"
},
{
"nr": 27,
"name": "Südtirol News",
"url": "https://www.suedtirolnews.it/politik/drei-us-soldaten-bei-militaereinsatz-gegen-iran-getoetet"
},
{
"nr": 28,
"name": "Business Insider",
"url": "https://www.businessinsider.de/wirtschaft/oelpreis-bis-100-us-dollar-das-bedeuten-die-angriffe-auf-iran-fuer-anleger/"
},
{
"nr": 29,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/meinung/kommentare/kommentar-warum-der-iran-fuer-die-maerkte-gefaehrlicher-werden-koennte-als-andere-krisen/100204300.html"
},
{
"nr": 30,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/iran-begins-40-day-mourning-after-khamenei-killed-in-us-israeli-attack"
}
],
"article_count": 302,
"fact_check_count": 618,
"created_at": "2026-03-02 18:54:40"
}

Datei anzeigen

@@ -1,139 +0,0 @@
{
"id": 27,
"summary": "## Militaerische Lage\n\nAm 2. Maerz 2026 dauern die US-israelischen Militaerschlaege gegen den Iran den dritten Tag in Folge an [1]. Die unter dem Codenamen \"Epic Fury\" bekannte Operation begann am 28. Februar mit einer ungewoehnlichen Tagesangriffstaktik [2][3]. Laut t-online haben die USA mittlerweile die Kontrolle ueber den iranischen Luftraum erlangt [4]. Praesident Trump kuendigte an, die Angriffe weiter zu verstaerken, und schloss den Einsatz von Bodentruppen ausdruecklich nicht aus [5]. Ein republikanischer Senator rechnet mit wochenlangen Luftangriffen [6].\n\nBei einem gezielten Schlag wurde Irans Oberster Fuehrer Ali Khamenei getoetet [7]. Die iranische Fuehrung reagierte mit Trotz und kuendigte weitere Vergeltung an [8]. Iran lehnte Gespraechsangebote Trumps ab und griff Energieanlagen an [9]. Als Vergeltungsmassnahme beschoss Iran US-Militaerbasen in der Golfregion [10] sowie ein Bundeswehr-Feldlager mit Drohnen und Raketen [11].\n\n## Opfer und Verluste\n\nDie USA haben bislang den Tod von vier eigenen Soldaten bestaetigt [5]. Al Jazeera fuehrt einen Live-Tracker der Opferzahlen auf iranischer Seite [12]. Trump erklaerte, die Operation verlaufe \"vor dem Zeitplan\" [13].\n\n## Oelmaerkte und Strasse von Hormus\n\nDie Oelpreise sind sprunghaft angestiegen [14][15]. Zentrale Sorge ist eine moegliche Eskalation an der Strasse von Hormus, durch die ein erheblicher Teil des weltweiten Oeltransports laeuft [16][17]. Analysten warnen vor schwerwiegenden Folgen fuer die globale Energieversorgung [18].\n\n## Internationale Reaktionen\n\nBereits am 28. Februar verurteilten EU-Ratspraesident Costa und Kommissionspraesidentin von der Leyen die Eskalation und riefen zur Deeskalation auf [19]. Bundeskanzler Merz sprach von einer \"Schwelle in eine ungewisse Zukunft\" [20]. Nachdem auch Bundeswehr-Soldaten Ziel iranischer Angriffe wurden, drohte Deutschland dem Iran mit militaerischen Massnahmen [21]. Europaeische Staaten kuendigten militaerische Defensivmassnahmen an [22]. Die taz bewertete die Angriffe auf den Iran als \"eindeutig voelkerrechtswidrig\" [23]. Experten des Atlantic Council und des Stimson Center analysieren weitreichende geopolitische Folgen fuer die gesamte Sicherheitsarchitektur des Nahen Ostens [24][25].\n\n## Auswirkungen auf deutsche Staatsbuerger\n\nRund 30.000 Reisende aus Deutschland sitzen in der Golfregion fest und koennen aufgrund des Konflikts nicht zurueckkehren [26].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/what-we-know-on-day-three-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "Stimson Center",
"url": "https://www.stimson.org/2026/experts-react-what-the-epic-fury-iran-strikes-signal-to-the-world/"
},
{
"nr": 3,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/eine-taktische-uberraschung-warum-die-usa-und-israel-den-iran-am-helllichten-tag-angriffen-15304773.html"
},
{
"nr": 4,
"name": "t-online",
"url": "https://t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-usa-haben-wohl-kontrolle-ueber-luftraum-erlangt.html"
},
{
"nr": 5,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/militarchef-rechnet-mit-weiteren-verlusten-usa-melden-tod-eines-vierten-us-soldaten-im-iran-krieg-10586281.html"
},
{
"nr": 6,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6158786/"
},
{
"nr": 7,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-chamenei-angriff-geheimdienste-100.html"
},
{
"nr": 8,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/missile-strikes-continue-as-iranian-leaders-project-defiance-after-khamenei"
},
{
"nr": 9,
"name": "Al Jazeera (Liveblog)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/2/us-israel-attack-iran-live"
},
{
"nr": 10,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260228-what-we-know-about-us-military-bases-mideast-gulf-targeted-iran-retaliatory-strikes"
},
{
"nr": 11,
"name": "Oldenburger Onlinezeitung",
"url": "https://www.oldenburger-onlinezeitung.de/nachrichten/bundeswehr-feldlager-mit-iranischen-drohnen-und-raketen-angegriffen-195652.html"
},
{
"nr": 12,
"name": "Al Jazeera (Tracker)",
"url": "https://www.aljazeera.com/news/2026/3/1/us-israel-attacks-on-iran-death-toll-and-injuries-live-tracker"
},
{
"nr": 13,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/us-iran-war-israel-supreme-leader-khamenei-funeral-day-2/"
},
{
"nr": 14,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/nx-s1-5732287/iran-war-oil-gasoline-prices"
},
{
"nr": 15,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/oil-prices-rise-sharply-after-us-israeli-attacks-on-iran"
},
{
"nr": 16,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/strait-of-hormuz-crisis-us-iran-israel-war-shipping-trade-oil.html"
},
{
"nr": 17,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/1/how-us-israel-attacks-on-iran-threaten-the-strait-of-hormuz-oil-markets"
},
{
"nr": 18,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/02/oil-prices-rise-as-escalating-iran-conflict-spurs-energy-supply-concerns"
},
{
"nr": 19,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/02/28/joint-statement-by-president-costa-and-president-von-der-leyen-on-developments-in-iran/"
},
{
"nr": 20,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/angriffe-iran-bundeskanzler-merz-reaktionen-deutschland-100.html"
},
{
"nr": 21,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-oeltanker-vor-oman-beschossen-ein-toter.html"
},
{
"nr": 22,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/basen-in-jordanien-und-irak-auch-bundeswehr-soldaten-ziel-iranischer-angriffe-10586281.html"
},
{
"nr": 23,
"name": "taz",
"url": "https://taz.de/Angriffe-auf-den-Iran/!6158764/"
},
{
"nr": 24,
"name": "Atlantic Council",
"url": "https://www.atlanticcouncil.org/dispatches/experts-react-how-the-us-war-with-iran-is-playing-out-around-the-middle-east/"
},
{
"nr": 25,
"name": "Al Jazeera (Analyse)",
"url": "https://www.aljazeera.com/opinions/2026/3/1/the-us-israeli-war-on-iran-could-rewrite-gulf-security-calculations"
},
{
"nr": 26,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/gesellschaft/panorama/krieg-in-nahost-gestrandet-in-kriegszone-urlauber-sitzen-in-golfregion-fest-15305384.html"
}
],
"article_count": 312,
"fact_check_count": 629,
"created_at": "2026-03-02 19:55:40"
}

Datei anzeigen

@@ -1,144 +0,0 @@
{
"id": 28,
"summary": "## Militärische Lage\n\nAm dritten Tag des Iran-Kriegs setzen die USA und Israel ihre Luftangriffe auf iranische Ziele fort [1][5]. Laut Berichten haben die USA mittlerweile die Kontrolle über den iranischen Luftraum erlangt [9]. US-Präsident Trump kündigte an, die Angriffe weiter zu verstärken, und schloss den Einsatz von Bodentruppen nicht aus [2][6]. Ein republikanischer Senator rechnet mit wochenlangen Luftangriffen [12]. Bei den Operationen kamen bisher mindestens vier US-Soldaten ums Leben [6]. Berichten zufolge sind zudem US-Kampfjets abgestürzt [11]. Die Angriffe am helllichten Tag wurden als taktische Überraschung gewertet [14].\n\nIrans Oberster Führer Ali Chamenei wurde bei einem Angriff getötet [4][15]. Der Iran hat Gesprächsangebote von Trump abgelehnt und seinerseits Gegenangriffe durchgeführt, darunter Angriffe auf Energieanlagen [11]. Iranische Raketen und Drohnen trafen dabei auch Ziele in der Golfregion [8] sowie ein Bundeswehr-Feldlager [16][17]. Europäische Staaten, darunter Deutschland, drohen Teheran mit militärischen Defensivmaßnahmen [17][18].\n\nDie Hisbollah hat im Rahmen der Eskalation Israel angegriffen [3], und an Tag 3 wurde eine neue Front im Konflikt eröffnet [5].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretär warnte bereits am 1. März, dass die Iran-Angriffe einen größeren Konflikt im Nahen Osten auslösen könnten [19]. Bei einer Dringlichkeitssitzung des UN-Sicherheitsrats verurteilten Russland und China die Angriffe auf den Iran [10]. Die taz bewertete die Angriffe als völkerrechtswidrig [20]. Experten des Atlantic Council analysierten die Auswirkungen des Krieges auf die gesamte Region [13]. Auch religiöse Organisationen und internationale Gremien bezogen Stellung [21].\n\nEine zentrale Frage ist, ob die Golfstaaten nach iranischen Raketeneinschlägen in ihren Städten in den Krieg eintreten werden [8].\n\n## Wirtschaftliche Auswirkungen\n\nDie Ölpreise sind infolge des Konflikts stark angestiegen [7][22][23][24]. Die Straße von Hormus, eine der wichtigsten Schifffahrtsrouten weltweit, ist von einer schweren Krise betroffen, was erhebliche Auswirkungen auf den Welthandel hat [25]. Vor Oman wurde ein Öltanker beschossen, wobei mindestens ein Mensch starb [18]. Der steigende Ölpreis setzt auch die Börsen unter Druck [26].\n\n## Auswirkungen auf Deutsche\n\nRund 30.000 Reisende aus Deutschland sitzen in der Golfregion fest [27]. Zudem wurden Bundeswehr-Soldaten in Feldlagern in Jordanien und Irak Ziel iranischer Angriffe [16][17].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/what-we-know-on-day-three-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6159024/"
},
{
"nr": 3,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 4,
"name": "Blick",
"url": "https://www.blick.ch/ausland/das-wichtigste-im-ueberblick-tag-3-vom-iran-krieg-das-ist-heute-passiert-id21743819.html"
},
{
"nr": 5,
"name": "Jüdische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/an-tag-3-des-iran-kriegs-wird-eine-neue-front-eroeffnet/"
},
{
"nr": 6,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/militarchef-rechnet-mit-weiteren-verlusten-usa-melden-tod-eines-vierten-us-soldaten-im-iran-krieg-10586281.html"
},
{
"nr": 7,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/iran-usa-krieg-angriff-oelpreis-boerse-anstieg-hormus-100.html"
},
{
"nr": 8,
"name": "Al Jazeera (Golfstaaten)",
"url": "https://www.aljazeera.com/features/2026/3/2/after-irans-salvo-hit-their-skylines-will-the-gulf-states-enter-the-war"
},
{
"nr": 9,
"name": "t-online",
"url": "https://t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-usa-haben-wohl-kontrolle-ueber-luftraum-erlangt.html"
},
{
"nr": 10,
"name": "Democracy Now",
"url": "https://www.democracynow.org/2026/3/2/headlines/russia_china_condemn_iran_strikes_in_emergency_meeting_of_un_security_council"
},
{
"nr": 11,
"name": "Al Jazeera (Liveblog)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/2/us-israel-attack-iran-live"
},
{
"nr": 12,
"name": "taz (Senator)",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6158786/"
},
{
"nr": 13,
"name": "Atlantic Council",
"url": "https://www.atlanticcouncil.org/dispatches/experts-react-how-the-us-war-with-iran-is-playing-out-around-the-middle-east/"
},
{
"nr": 14,
"name": "Tagesspiegel (Taktik)",
"url": "https://www.tagesspiegel.de/internationales/eine-taktische-uberraschung-warum-die-usa-und-israel-den-iran-am-helllichten-tag-angriffen-15304773.html"
},
{
"nr": 15,
"name": "ZDF heute (Chamenei)",
"url": "https://www.zdfheute.de/politik/ausland/iran-chamenei-angriff-geheimdienste-100.html"
},
{
"nr": 16,
"name": "Oldenburger Onlinezeitung",
"url": "https://www.oldenburger-onlinezeitung.de/nachrichten/bundeswehr-feldlager-mit-iranischen-drohnen-und-raketen-angegriffen-195652.html"
},
{
"nr": 17,
"name": "Tagesspiegel (Gegenangriffe)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/basen-in-jordanien-und-irak-auch-bundeswehr-soldaten-ziel-iranischer-angriffe-10586281.html"
},
{
"nr": 18,
"name": "t-online (Öltanker)",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-oeltanker-vor-oman-beschossen-ein-toter.html"
},
{
"nr": 19,
"name": "UN News / Security Council",
"url": "https://press.un.org/en/2026/sc/16307.doc.htm"
},
{
"nr": 20,
"name": "taz (Völkerrecht)",
"url": "https://taz.de/Angriffe-auf-den-Iran/!6158764/"
},
{
"nr": 21,
"name": "Vatican News",
"url": "https://www.vaticannews.va/de/welt/news/2026-03/angriff-iran-juden-islam-reaktionen-ajc-cer-oic.html"
},
{
"nr": 22,
"name": "NPR (Ölpreise)",
"url": "https://www.npr.org/2026/03/02/nx-s1-5732287/iran-war-oil-gasoline-prices"
},
{
"nr": 23,
"name": "Al Jazeera (Ölpreise)",
"url": "https://www.aljazeera.com/news/2026/3/2/oil-prices-rise-sharply-after-us-israeli-attacks-on-iran"
},
{
"nr": 24,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/02/oil-prices-rise-as-escalating-iran-conflict-spurs-energy-supply-concerns"
},
{
"nr": 25,
"name": "CNBC (Hormus)",
"url": "https://www.cnbc.com/2026/03/02/strait-of-hormuz-crisis-us-iran-israel-war-shipping-trade-oil.html"
},
{
"nr": 26,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/finanzen/maerkte/devisen-rohstoffe/iran-krieg-steigender-oelpreis-setzt-den-boersen-zu/100204561.html"
},
{
"nr": 27,
"name": "Tagesspiegel (Reisende)",
"url": "https://www.tagesspiegel.de/gesellschaft/panorama/krieg-in-nahost-gestrandet-in-kriegszone-urlauber-sitzen-in-golfregion-fest-15305384.html"
}
],
"article_count": 320,
"fact_check_count": 639,
"created_at": "2026-03-02 20:55:58"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 29,
"summary": "## Militaeroperationen: Tag 3 der Angriffe auf den Iran\n\nAm dritten Tag der gemeinsamen US-israelischen Luftangriffe auf den Iran haben sich die Kampfhandlungen auf den gesamten Nahen Osten ausgeweitet [1][2]. Die USA bestaetigen den Tod eines vierten US-Soldaten [3]. Laut dem Al-Jazeera-Liveblog sind US-Kampfjets abgestuerzt, und der Iran hat Gespraechsangebote von Trump abgelehnt sowie Angriffe auf Energieanlagen durchgefuehrt [7]. Die Offensive begann am helllichten Tag als bewusste \"taktische Ueberraschung\" [6]. US-Praesident Trump kuendigte eine \"grosse Welle\" weiterer Angriffe an und schloss den Einsatz von Bodentruppen nicht aus [3][4]. Ein republikanischer Senator rechnet mit wochenlangen Luftangriffen [5].\n\n## Tod Khameneis und Fuehrungskrise\n\nDer iranische Oberste Fuehrer Ali Khamenei wurde bei den Angriffen getoetet [8]. Analysten bewerten, dass sein Tod die iranische \"Achse des Widerstands\" in erhebliche Unordnung versetzt [9]. Der Iran steht vor einem ungewissen Weg zur Bestimmung eines neuen Obersten Fuehrers [10].\n\n## Ausweitung auf Libanon und Golfregion\n\nDie Hisbollah hat Israel mit Raketen angegriffen, waehrend US-amerikanische und israelische Flugzeuge den Iran bombardierten [11]. Israel reagierte mit Angriffen auf Beirut, bei denen mindestens 31 Menschen getoetet wurden [12]. Am dritten Kriegstag wurde damit eine neue Front eroeffnet [13]. Ein Experte warnte, der Iran koenne Israel und die USA noch haerter treffen [14]. Nach iranischen Raketenangriffen auf Staedte in der Golfregion stellt sich die Frage, ob die Golfstaaten in den Krieg eintreten [15].\n\n## Strasse von Hormus und wirtschaftliche Folgen\n\nEin iranischer Kommandeur erklaerte die Strasse von Hormus fuer geschlossen [16] -- eine Massnahme mit weitreichenden Folgen fuer den Welthandel [17]. Die Oelpreise sind sprunghaft angestiegen [18][20][21], was die Tankstellenpreise verteuert [18] und die Boersen unter Druck setzt [19].\n\n## Internationale Reaktionen\n\nDer UN-Generalsekretaer warnte bereits am 1. Maerz, die Angriffe koennten einen groesseren Konflikt im Nahen Osten ausloesen [22]. Russland und China verurteilten die Angriffe bei einer Dringlichkeitssitzung des UN-Sicherheitsrats [23]. Voelkerrechtler bewerten die Angriffe als \"eindeutig voelkerrechtswidrig\" [24]. Experten des Atlantic Council analysierten die regionalen Auswirkungen des Krieges [25].\n\n## Auswirkungen auf Deutschland und die USA\n\nRund 30.000 deutsche Reisende sind in der Golfregion gestrandet [26]. Die moegliche Beteiligung der Bundeswehr wird oeffentlich diskutiert [27]. In den USA lehnt laut Umfragen eine Mehrheit der Bevoelkerung den Krieg ab [28]. Trump stimmt die Oeffentlichkeit dennoch auf eine weitere Eskalationsstufe ein [29].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/what-we-know-on-day-three-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "The Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/02/us-israel-iran-hezbollah-military-strikes-live-updates/"
},
{
"nr": 3,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/militarchef-rechnet-mit-weiteren-verlusten-usa-melden-tod-eines-vierten-us-soldaten-im-iran-krieg-10586281.html"
},
{
"nr": 4,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6159024/"
},
{
"nr": 5,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6158786/"
},
{
"nr": 6,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/eine-taktische-uberraschung-warum-die-usa-und-israel-den-iran-am-helllichten-tag-angriffen-15304773.html"
},
{
"nr": 7,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/2/us-israel-attack-iran-live"
},
{
"nr": 8,
"name": "Blick",
"url": "https://www.blick.ch/ausland/das-wichtigste-im-ueberblick-tag-3-vom-iran-krieg-das-ist-heute-passiert-id21743819.html"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/hold-analysis-khameneis-killing-leaves-irans-axis-in-disarray"
},
{
"nr": 10,
"name": "The Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/iran-succession-supreme-leader-khamenei/"
},
{
"nr": 11,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 12,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/israel-bombs-beirut-after-hezbollah-launches-rocket-attack"
},
{
"nr": 13,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/an-tag-3-des-iran-kriegs-wird-eine-neue-front-eroeffnet/"
},
{
"nr": 14,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 15,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/after-irans-salvo-hit-their-skylines-will-the-gulf-states-enter-the-war"
},
{
"nr": 16,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 17,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/strait-of-hormuz-crisis-us-iran-israel-war-shipping-trade-oil.html"
},
{
"nr": 18,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/iran-usa-krieg-angriff-oelpreis-boerse-anstieg-hormus-100.html"
},
{
"nr": 19,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/finanzen/maerkte/devisen-rohstoffe/iran-krieg-steigender-oelpreis-setzt-den-boersen-zu/100204561.html"
},
{
"nr": 20,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/nx-s1-5732287/iran-war-oil-gasoline-prices"
},
{
"nr": 21,
"name": "NPR",
"url": "https://www.npr.org/2026/03/01/nx-s1-5731584/oil-prices-iran-us-israel-attacks-war"
},
{
"nr": 22,
"name": "UN News / Security Council",
"url": "https://press.un.org/en/2026/sc/16307.doc.htm"
},
{
"nr": 23,
"name": "Democracy Now",
"url": "https://www.democracynow.org/2026/3/2/headlines/russia_china_condemn_iran_strikes_in_emergency_meeting_of_un_security_council"
},
{
"nr": 24,
"name": "taz",
"url": "https://taz.de/Angriffe-auf-den-Iran/!6158764/"
},
{
"nr": 25,
"name": "Atlantic Council",
"url": "https://www.atlanticcouncil.org/dispatches/experts-react-how-the-us-war-with-iran-is-playing-out-around-the-middle-east/"
},
{
"nr": 26,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/gesellschaft/panorama/krieg-in-nahost-gestrandet-in-kriegszone-urlauber-sitzen-in-golfregion-fest-15305384.html"
},
{
"nr": 27,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
},
{
"nr": 28,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-amerikaner-lehnen-den-krieg-mehrheitlich-ab.html"
},
{
"nr": 29,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-stimmt-auf-weitere-eskalationsstufe-im-iran-krieg-ein-10586281.html"
},
{
"nr": 30,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-israel-us-conflict-oil-jumps-trump-netanyahu-what-is-next.html"
}
],
"article_count": 328,
"fact_check_count": 649,
"created_at": "2026-03-02 21:56:58"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 3,
"summary": "## Militärische Eskalation\n\nDie USA und Israel haben am 27./28. Februar 2026 eine koordinierte Großoffensive unter dem Codenamen \"Operation Epic Fury\" gegen den Iran gestartet [1][2][3]. Präsident Trump kündigte \"große Kampfoperationen\" an und forderte die iranische Bevölkerung auf, \"die Kontrolle über eure Regierung zu übernehmen\" [1][28]. Die Atomverhandlungen zwischen den USA und dem Iran waren zuvor offenbar gescheitert [4]. Die Angriffe richteten sich gegen iranische Militär- und Nuklearinfrastruktur [3][26].\n\n## Iranische Vergeltung und regionale Ausweitung\n\nDer Iran reagierte mit Vergeltungsschlägen auf israelische und US-amerikanische Ziele in der gesamten Region [2][29]. Iranische Raketen- und Drohnenangriffe auf das Hauptquartier der US-Marinestreitkräfte in Bahrain dauerten über acht Stunden an. Zivile Wohngebäude im Stadtteil Hoora wurden getroffen, US-Militäropfer wurden jedoch nicht gemeldet [5]. In Dubai wurden Explosionen gemeldet, ein Luxushotel auf der Insel \"The Palm\" geriet in Brand [6]. Der Iran verbot zudem Schiffen die Durchfahrt der Straße von Hormus als Vergeltungsmaßnahme [7].\n\n## Internationale Reaktionen\n\nWeltführer reagierten überwiegend zurückhaltend auf die Angriffe [9][10]. Großbritannien, Frankreich und Deutschland drängten auf eine Rückkehr zu diplomatischen Verhandlungen [11]. Der UN-Sicherheitsrat berief eine Dringlichkeitssitzung ein [12]. Bundeskanzler Merz verurteilte das iranische Regime, hielt sich aber mit Kritik an Trump vor einem geplanten USA-Besuch zurück [13]. Europäische Reaktionen fielen insgesamt gemischt aus [14]. Völkerrechtler diskutieren, ob die Angriffe einen Wendepunkt für die UN-Charta und das Völkerrecht darstellen könnten [15]. Im US-Kongress stehen Abstimmungen über die Kriegsvollmachten (War Powers Resolution) bevor [22].\n\n## Wirtschaftliche Auswirkungen\n\nDie Blockade der Straße von Hormus durch den Iran löste erhebliche Sorgen um den globalen Ölmarkt aus [16][17]. Die Meerenge gilt als eine der wichtigsten Schifffahrtsrouten weltweit für Öl- und LNG-Transporte [18][8]. Analysten warnen vor Auswirkungen auf den Welthandel und internationale Lieferketten [19]. Mehrere Lufträume in der Region wurden geschlossen, der Flugverkehr in Dubai gestoppt, Qatar Airways pausierte den Betrieb, und die Lufthansa strich Flüge [20]. Experten warnen, dass der Iran die USA in einen langwierigen Konflikt verwickeln könnte [21].\n\n## Innenpolitische Lage im Iran\n\nIm Iran kam es parallel zu den Angriffen zu Protesten gegen das Regime. Amnesty International dokumentierte Beweise für tödliche Gewalt gegen Demonstranten [23]. Die Brookings Institution bewertet die aktuelle Protestbewegung als potenziell revolutionär [24]. Iraner befinden sich zwischen Hoffnung auf politischen Wandel und Angst vor den Kriegsfolgen [25].",
"sources_json": [
{
"nr": 1,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/us-and-israel-launch-a-major-attack-on-iran-and-trump-urges-iranians-to-take-over-your-government"
},
{
"nr": 2,
"name": "USNI News",
"url": "https://news.usni.org/2026/02/28/u-s-israel-launch-operation-epic-fury-against-iran-tehran-retaliates-across-region"
},
{
"nr": 3,
"name": "SRF",
"url": "https://www.srf.ch/news/international/usa/nahost-angriff-auf-den-iran-das-wichtigste-in-der-uebersicht"
},
{
"nr": 4,
"name": "ORF",
"url": "https://on.orf.at/video/14313541/16045418/atomverhandlungen-offenbar-gescheitert"
},
{
"nr": 5,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/middle_east/2026-02-28/strikes-on-bahrain-iran-israel-20902624.html"
},
{
"nr": 6,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-angriff-von-israel-und-usa-auf-den-iran-augenzeugen-berichten-von-explosion-auf-dubai-insel-the-palm-10586281.html"
},
{
"nr": 7,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-iran-verbietet-schiffen-durchfahrt-der-strasse-von-hormus.html"
},
{
"nr": 8,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/22/iran-us-tensions-what-would-blocking-strait-of-hormuz-mean-for-oil-lng"
},
{
"nr": 9,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriffe-reaktionen-100.html"
},
{
"nr": 10,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/world-leaders-react-cautiously-to-u-s-and-israeli-strikes-on-iran"
},
{
"nr": 11,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760393-uk-france-germany-iran-strikes-negotiations/"
},
{
"nr": 12,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760591-un-security-council-emergency-meeting-iran-strikes/"
},
{
"nr": 13,
"name": "Zeit",
"url": "https://www.zeit.de/politik/deutschland/2026-02/bundesregierung-iran-israel-usa-angriff-reaktion"
},
{
"nr": 14,
"name": "Euronews",
"url": "https://www.euronews.com/my-europe/2026/02/28/europe-reacts-to-us-and-israeli-attack-on-iran-as-military-operation-spills-into-wider-reg"
},
{
"nr": 15,
"name": "Just Security",
"url": "https://www.justsecurity.org/132773/us-iran-war-international-reactions/"
},
{
"nr": 16,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/iran-us-attack-oil-market-economy.html"
},
{
"nr": 17,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/02/28/what-does-the-us-israel-attack-on-iran-mean-for-oil-prices"
},
{
"nr": 18,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-was-die-strasse-von-hormus-so-wichtig-macht/100204320.html"
},
{
"nr": 19,
"name": "Retail News",
"url": "https://retail-news.de/iran-konflikt-welthandel-lieferketten/"
},
{
"nr": 20,
"name": "aeroTELEGRAPH",
"url": "https://www.aerotelegraph.com/sicherheit/luftraeume-geschlossen-flugverkehr-in-dubai-gestoppt-qatar-airways-pausiert-betrieb-lufthansa-streicht-fluege/01jrkdy"
},
{
"nr": 21,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/nahost-wie-der-iran-die-usa-in-einen-langen-krieg-verwickeln-koennte-01/100202895.html"
},
{
"nr": 22,
"name": "Roll Call",
"url": "https://rollcall.com/2026/02/28/trump-announces-major-combat-operations-against-iran/"
},
{
"nr": 23,
"name": "Amnesty International",
"url": "https://www.amnesty.de/aktuell/iran-proteste-2026-gewalt-stoppen"
},
{
"nr": 24,
"name": "Brookings Institution",
"url": "https://www.brookings.edu/articles/the-new-iranian-revolution-has-begun/"
},
{
"nr": 25,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-krieg-das-regime-muss-weg-iraner-zwischen-hoffnung-und-angst/100204276.html"
},
{
"nr": 26,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-february-27-2026"
},
{
"nr": 27,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/global-conflict-tracker/conflict/confrontation-between-united-states-and-iran"
},
{
"nr": 28,
"name": "PBS News (Live)",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-and-israel-attack-iran"
},
{
"nr": 29,
"name": "Jüdische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/sicherheitsbehoerden-verstaerken-schutz-von-juedischen-und-israelischen-einrichtungen/"
},
{
"nr": 30,
"name": "taz",
"url": "https://taz.de/Reaktionen-auf-Iran-Krieg/!6158770/"
}
],
"article_count": 191,
"fact_check_count": 435,
"created_at": "2026-03-01 01:48:43"
}

Datei anzeigen

@@ -1,144 +0,0 @@
{
"id": 30,
"summary": "## Militaerische Lage: Tag 3 der US-israelischen Angriffe auf den Iran\n\nAm dritten Tag des Iran-Kriegs setzen die USA und Israel ihre Luftangriffe auf iranische Ziele unvermindert fort [1][7]. US-Praesident Trump kuendigte an, die Angriffe zu verstaerken, und sprach von einer \"grossen Welle\", die noch bevorstehe. Bodentruppen schloss er dabei nicht aus [2][5]. Die USA meldeten den Tod eines vierten US-Soldaten im Rahmen der Operationen [2]. Ein iranischer Kommandeur erklaerte die Strasse von Hormuz fuer geschlossen [3], was unmittelbare Auswirkungen auf die globalen Energiemaerkte hat.\n\nEin zentrales Ereignis ist der Tod des iranischen Obersten Fuehrers Ayatollah Khamenei, der bei einem der Angriffe getoetet wurde [6][8]. Die Washington Post berichtete bereits am 1. Maerz ueber die ungewisse Nachfolgefrage im Iran [9]. Laut Analysten hinterlaesst sein Tod Irans sogenannte \"Widerstandsachse\" in erheblicher Unordnung, waehrend sich der Krieg gleichzeitig ausweitet [10].\n\n## Eskalation: Hisbollah und Libanon-Front\n\nAls Reaktion auf die Angriffe auf den Iran feuerte die Hisbollah Raketen aus dem Libanon auf Israel [11][12]. Israel reagierte mit Luftangriffen auf Beirut, bei denen mindestens 31 Menschen getoetet wurden [13]. Der libanesische Premierminister Nawaf Salam verbot daraufhin saemtliche militaerischen Aktivitaeten der Hisbollah im Libanon [14]. Diese Entwicklung markiert die Eroeffnung einer neuen Front am dritten Tag des Konflikts [15].\n\n## Vergeltungsschlaege gegen Golfstaaten\n\nDer Iran fuehrte Vergeltungsschlaege gegen mehrere Golfstaaten durch. Dubai und Bahrain wurden dabei direkt getroffen -- am Flughafen Dubai brach Feuer aus, ueber Hotels in Bahrain stieg Rauch auf [16]. Es stellt sich nun die Frage, ob die Golfstaaten aktiv in den Krieg eintreten werden [17].\n\n## Internationale Reaktionen und Diplomatie\n\nDer UN-Generalsekretaer warnte bereits am 1. Maerz, dass die Iran-Angriffe einen groesseren Konflikt im Nahen Osten ausloesen koennten [18]. Russland und China verurteilten die Angriffe bei einer Dringlichkeitssitzung des UN-Sicherheitsrats [19]. Laut Umfragen lehnt eine Mehrheit der US-Amerikaner den Krieg ab [20].\n\n## Auswirkungen auf Deutschland und die Wirtschaft\n\nDer Oelpreis stieg sprunghaft an und setzt die Boersen weltweit unter Druck [21][22][23]. Experten warnen vor drastischen Folgen fuer Deutschland, ein \"Genickbruch\" sei moeglich [24]. Ein ZDF-Experte warnte zudem, der Iran koenne Israel und die USA kuenftig haerter treffen [25]. Verteidigungspolitiker Wadephul stellte klar, dass sich Deutschland nicht am Iran-Krieg beteiligen werde [26]. Eine Debatte ueber einen moeglichen Bundeswehr-Einsatz wurde dennoch angestossen [27].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/what-we-know-on-day-three-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/militarchef-rechnet-mit-weiteren-verlusten-usa-melden-tod-eines-vierten-us-soldaten-im-iran-krieg-10586281.html"
},
{
"nr": 3,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 4,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-israel-us-conflict-oil-jumps-trump-netanyahu-what-is-next.html"
},
{
"nr": 5,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6159024/"
},
{
"nr": 6,
"name": "Blick",
"url": "https://www.blick.ch/ausland/das-wichtigste-im-ueberblick-tag-3-vom-iran-krieg-das-ist-heute-passiert-id21743819.html"
},
{
"nr": 7,
"name": "ORF",
"url": "https://orf.at/stories/3421870/"
},
{
"nr": 8,
"name": "Tagesspiegel (Erklaerstueck)",
"url": "https://www.tagesspiegel.de/internationales/militarische-eskalation-iran-krieg-wer-greift-wo-an-und-warum-15307869.html"
},
{
"nr": 9,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/iran-succession-supreme-leader-khamenei/"
},
{
"nr": 10,
"name": "Al Jazeera (Analyse)",
"url": "https://www.aljazeera.com/features/2026/3/2/hold-analysis-khameneis-killing-leaves-irans-axis-in-disarray"
},
{
"nr": 11,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 12,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/israel-bombs-beirut-after-hezbollah-launches-rocket-attack"
},
{
"nr": 14,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 15,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/an-tag-3-des-iran-kriegs-wird-eine-neue-front-eroeffnet/"
},
{
"nr": 16,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/iran-vergeltungsschlaege-treffen-dubai-bahrain-und-andere-golfstaaten-874770209561"
},
{
"nr": 17,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/after-irans-salvo-hit-their-skylines-will-the-gulf-states-enter-the-war"
},
{
"nr": 18,
"name": "UN News / Security Council",
"url": "https://press.un.org/en/2026/sc/16307.doc.htm"
},
{
"nr": 19,
"name": "Democracy Now",
"url": "https://www.democracynow.org/2026/3/2/headlines/russia_china_condemn_iran_strikes_in_emergency_meeting_of_un_security_council"
},
{
"nr": 20,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-amerikaner-lehnen-den-krieg-mehrheitlich-ab.html"
},
{
"nr": 21,
"name": "CNN",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 22,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/finanzen/maerkte/devisen-rohstoffe/iran-krieg-steigender-oelpreis-setzt-den-boersen-zu/100204561.html"
},
{
"nr": 23,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/nx-s1-5732287/iran-war-oil-gasoline-prices"
},
{
"nr": 24,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
},
{
"nr": 25,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 26,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 27,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
}
],
"article_count": 333,
"fact_check_count": 660,
"created_at": "2026-03-02 22:57:58"
}

Datei anzeigen

@@ -1,139 +0,0 @@
{
"id": 31,
"summary": "## Militaerische Lage: Tag 3 der US-israelischen Operationen gegen den Iran\n\nAm dritten Tag des Konflikts zwischen den USA, Israel und dem Iran weiten sich die Kampfhandlungen auf den gesamten Nahen Osten aus [1]. US-amerikanische und israelische Kampfflugzeuge bombardieren weiterhin Ziele im Iran [2], waehrend US-Praesident Trump ankuendigte, eine \"grosse Welle\" weiterer Angriffe stehe noch bevor [3][4]. Trump schloss den Einsatz von Bodentruppen nicht aus; seit Kriegsbeginn wurden sechs US-Soldaten getoetet [5]. Laut einer Analyse hat der Tod von Ayatollah Khamenei Irans sogenannte \"Widerstandsachse\" in erhebliche Unordnung gestuerzt [6]. Der Iran steht nun vor einer unsicheren Nachfolgeregelung fuer das Amt des Obersten Fuehrers [7].\n\n## Eskalation an mehreren Fronten\n\nDie Hisbollah feuerte als Reaktion auf die US- und IDF-Angriffe auf den Iran Raketen aus dem Libanon auf israelisches Territorium [8][2]. Israel reagierte mit Luftangriffen auf Beirut, bei denen mindestens 31 Menschen getoetet wurden [9]. Der libanesische Premierminister Nawaf Salam kuendigte daraufhin ein Verbot aller militaerischen Aktivitaeten der Hisbollah an [10]. Damit wurde am dritten Tag des Iran-Kriegs eine neue Front eroeffnet [11].\n\nIranische Vergeltungsschlaege trafen auch die Golfstaaten: Am Flughafen Dubai brach Feuer aus, und ueber Hotels in Bahrain stieg Rauch auf [12]. Es stellt sich die Frage, ob die betroffenen Golfstaaten aktiv in den Krieg eintreten werden [13]. Ein iranischer Militaerkommandeur erklaerte zudem die strategisch wichtige Strasse von Hormuz fuer geschlossen [14]. Ein Experte warnte, der Iran koenne Israel und die USA noch haerter treffen [15].\n\n## Internationale Reaktionen und Warnungen\n\nDer UN-Generalsekretaer warnte den Sicherheitsrat bereits am 1. Maerz, dass die Angriffe auf den Iran einen groesseren regionalen Konflikt ausloesen koennten [16]. In den USA lehnt eine Mehrheit der Bevoelkerung den Krieg ab [17]. Deutschland betonte, sich nicht am Iran-Krieg zu beteiligen. Verteidigungspolitiker Wadephul stellte dies klar [18], und die Bundesregierung bestritt eine Beteiligung an den Militaerschlaegen [19]. Dennoch wird ueber moegliche Auswirkungen auf die Sicherheitslage in Deutschland sowie ueber einen moeglichen Bundeswehr-Einsatz diskutiert [20][21][22].\n\n## Wirtschaftliche Auswirkungen\n\nDie Oelpreise stiegen stark an, da der Konflikt die globale Rohoel-Versorgung bedroht [23]. Der steigende Oelpreis verteuert das Tanken [24] und setzt die Boersen unter Druck [25]. Analysten warnen vor drastischen wirtschaftlichen Folgen, auch fuer Deutschland [26].",
"sources_json": [
{
"nr": 1,
"name": "The Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/02/us-israel-iran-hezbollah-military-strikes-live-updates/"
},
{
"nr": 2,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 3,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-stimmt-auf-weitere-eskalationsstufe-im-iran-krieg-ein-10586281.html"
},
{
"nr": 4,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6159024/"
},
{
"nr": 5,
"name": "NBC News",
"url": "https://www.nbcnews.com/world/middle-east/live-blog/live-updates-iran-war-israel-us-hezbollah-lebanon-khamenei-trump-rcna261259"
},
{
"nr": 6,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/hold-analysis-khameneis-killing-leaves-irans-axis-in-disarray"
},
{
"nr": 7,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/iran-succession-supreme-leader-khamenei/"
},
{
"nr": 8,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/israel-bombs-beirut-after-hezbollah-launches-rocket-attack"
},
{
"nr": 10,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 11,
"name": "Juedische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/an-tag-3-des-iran-kriegs-wird-eine-neue-front-eroeffnet/"
},
{
"nr": 12,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/iran-vergeltungsschlaege-treffen-dubai-bahrain-und-andere-golfstaaten-874770209561"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/after-irans-salvo-hit-their-skylines-will-the-gulf-states-enter-the-war"
},
{
"nr": 14,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 15,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 16,
"name": "UN News / Security Council",
"url": "https://press.un.org/en/2026/sc/16307.doc.htm"
},
{
"nr": 17,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-amerikaner-lehnen-den-krieg-mehrheitlich-ab.html"
},
{
"nr": 18,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 19,
"name": "NZZ",
"url": "https://www.nzz.ch/international/deutschland-bestreitet-beteiligung-an-militaerschlaegen-in-iran-ld.1927086"
},
{
"nr": 20,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-eskalation-usa-folgen-deutschland-terror-gefahr-100.html"
},
{
"nr": 21,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
},
{
"nr": 22,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
},
{
"nr": 23,
"name": "CNN",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 24,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/iran-usa-krieg-angriff-oelpreis-boerse-anstieg-hormus-100.html"
},
{
"nr": 25,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/finanzen/maerkte/devisen-rohstoffe/iran-krieg-steigender-oelpreis-setzt-den-boersen-zu/100204561.html"
},
{
"nr": 26,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
}
],
"article_count": 340,
"fact_check_count": 670,
"created_at": "2026-03-02 23:58:58"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 32,
"summary": "## Militaerische Lage\n\nDer bewaffnete Konflikt zwischen den USA und Israel einerseits sowie dem Iran andererseits hat sich am dritten Kriegstag weiter verschaerft. US-amerikanische und israelische Kampfflugzeuge bombardierten Ziele im Iran [1], waehrend die USA den Tod von insgesamt sechs US-Soldaten seit Kriegsbeginn bestaetigten [2][3][4]. US-Praesident Trump schloss den Einsatz von Bodentruppen nicht aus und kuendigte an, die Angriffe auf den Iran zu verstaerken -- eine \"grosse Welle\" stehe noch bevor [5][6][7]. Laut Trump koenne die Kampagne bis zu fuenf Wochen dauern [8].\n\nEine Militaeranalyse zeigt, dass der Iran trotz materieller Unterlegenheit weiterhin schlagkraeftig bleibt [9]. Ein Experte warnte, der Iran koenne Israel und die USA haerter treffen als bisher angenommen [10].\n\n## Ausweitung auf den Libanon und die Golfregion\n\nDer Krieg droht sich auf den Libanon auszuweiten. Die Hisbollah feuerte Raketen aus dem Libanon auf Israel [11][12], woraufhin Israel Luftangriffe auf Beirut durchfuehrte, bei denen mindestens 31 Menschen getoetet wurden [13]. Als Reaktion auf die Hisbollah-Angriffe verbot der libanesische Premierminister Nawaf Salam alle militaerischen Aktivitaeten der Organisation [14].\n\nAuch die Golfstaaten sind betroffen: Iranische Vergeltungsschlaege trafen Dubai, Bahrain und weitere Golfstaaten, wobei es zu Braenden am Flughafen Dubai und Rauchentwicklung ueber Hotels in Bahrain kam [15]. Ein iranischer Militaerkommandeur erklaerte die strategisch wichtige Strasse von Hormuz fuer geschlossen [16]. Dennoch vermieden die Golfstaaten bisher eine direkte Konfrontation mit dem Iran [17].\n\n## Tod Khameneis und Nachfolgefrage\n\nAyatollah Khamenei, Irans Oberster Fuehrer, kam ums Leben. Sein Tod hat Irans sogenannte \"Widerstandsachse\" in erhebliche Unordnung gestuerzt [18] und der Iran steht vor einer unsicheren Nachfolgeregelung [19].\n\n## Wirtschaftliche Auswirkungen\n\nDie Oelpreise stiegen stark an, Boersenfutures fielen, und die globale Rohoel-Versorgung ist durch den Konflikt und die Sperrung der Strasse von Hormuz bedroht [20][21]. Gleichzeitig erholten sich US-Aktien teilweise, waehrend Gold zulegte [22].\n\n## Deutschland und internationale Reaktionen\n\nDeutschland bestritt eine Beteiligung an den Militaerschlaegen gegen den Iran [23]. Kanzleramtschef Wadephul erklaerte, Deutschland werde sich nicht am Iran-Krieg beteiligen [24]. Die Frage eines Bundeswehr-Einsatzes wurde oeffentlich diskutiert [25]. Sicherheitsexperten warnten vor moeglichen Auswirkungen auf die Sicherheitslage in Deutschland [26], und Analysten sehen drastische wirtschaftliche Folgen fuer Deutschland als moeglich an [27].\n\nUmfragen zeigten, dass eine Mehrheit der US-Bevoelkerung den Krieg ablehnt [28]. Eine historische Einordnung stellt den Konflikt in den Kontext vom Iran-Atomabkommen 2015 bis zu den Militaeroperationen 2026 [29].",
"sources_json": [
{
"nr": 1,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 2,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 3,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 4,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-will-angriffe-auf-den-iran-verstarken--und-schliesst-bodentruppen-nicht-aus-10586281.html"
},
{
"nr": 5,
"name": "NBC News",
"url": "https://www.nbcnews.com/world/middle-east/live-blog/live-updates-iran-war-israel-us-hezbollah-lebanon-khamenei-trump-rcna261259"
},
{
"nr": 6,
"name": "taz",
"url": "https://taz.de/Israel-und-USA-im-Krieg-mit-Iran/!6159024/"
},
{
"nr": 7,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-stimmt-auf-weitere-eskalationsstufe-im-iran-krieg-ein-10586281.html"
},
{
"nr": 8,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 9,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 10,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 11,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 12,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112140/hezbollah-strikes-israel"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/israel-bombs-beirut-after-hezbollah-launches-rocket-attack"
},
{
"nr": 14,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 15,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/iran-vergeltungsschlaege-treffen-dubai-bahrain-und-andere-golfstaaten-874770209561"
},
{
"nr": 16,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 17,
"name": "Defence Network",
"url": "https://defence-network.com/warum-golfstaaten-iran-nicht-herausfordern/"
},
{
"nr": 18,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/hold-analysis-khameneis-killing-leaves-irans-axis-in-disarray"
},
{
"nr": 19,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/iran-succession-supreme-leader-khamenei/"
},
{
"nr": 20,
"name": "CNN",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 21,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 22,
"name": "CNN Business",
"url": "https://edition.cnn.com/2026/03/02/investing/oil-us-stock-market-iran"
},
{
"nr": 23,
"name": "NZZ",
"url": "https://www.nzz.ch/international/deutschland-bestreitet-beteiligung-an-militaerschlaegen-in-iran-ld.1927086"
},
{
"nr": 24,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 25,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
},
{
"nr": 26,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-eskalation-usa-folgen-deutschland-terror-gefahr-100.html"
},
{
"nr": 27,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
},
{
"nr": 28,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-amerikaner-lehnen-den-krieg-mehrheitlich-ab.html"
},
{
"nr": 29,
"name": "Washington Times",
"url": "https://www.washingtontimes.com/news/2026/mar/2/timeline-glance-2015-iran-nuclear-deal-2026-us-israel-military/"
}
],
"article_count": 343,
"fact_check_count": 679,
"created_at": "2026-03-03 00:59:58"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 33,
"summary": "## Militärische Lage\n\nAm dritten Tag des bewaffneten Konflikts zwischen den USA und Israel einerseits und dem Iran andererseits gehen die Angriffe unvermindert weiter [22]. Die USA und Israel führen gemeinsame Militärschläge gegen iranische Ziele durch [17], wobei US-Präsident Trump eine weitere Eskalationsstufe ankündigte und den Einsatz von Bodentruppen nicht ausschloss [11][24]. Trump erklärte, die Kampagne könne fünf Wochen dauern [8]. Die US-Opferzahl ist auf sechs getötete Soldaten gestiegen [5][6][8][11], darunter zwei zuletzt gemeldete Todesfälle [4].\n\nDer Tod von Ayatollah Khamenei, Irans Oberstem Führer, hat die iranische Führungsstruktur und die sogenannte \"Widerstandsachse\" in erhebliche Unordnung gestürzt [28][29]. Der Iran steht vor einer ungewissen Nachfolgeregelung [28]. Trotz der Verluste bleibt der Iran laut einer Militäranalyse schlagkräftig [7].\n\n## Regionale Eskalation\n\nDer Konflikt weitet sich regional aus. Die Hisbollah feuerte nach den US-israelischen Angriffen auf den Iran Raketen aus dem Libanon auf Israel [17]. Als Reaktion darauf kündigte der libanesische Premierminister Nawaf Salam ein Verbot aller militärischen Aktivitäten der Hisbollah an [18]. Iranische Vergeltungsschläge trafen auch Golfstaaten — es gab Berichte über Feuer am Flughafen Dubai und Rauch über Hotels in Bahrain [20]. Ein iranischer Militärkommandeur erklärte die strategisch wichtige Straße von Hormus für geschlossen [27]. Die Golfstaaten halten sich trotz der Angriffe auf ihr Territorium zurück und fordern den Iran nicht offen heraus [9].\n\n## Wirtschaftliche Auswirkungen\n\nDie wirtschaftlichen Folgen des Konflikts sind bereits spürbar. Die Ölpreise stiegen stark an und näherten sich der 80-Dollar-Marke, angetrieben durch Sorgen um die Schifffahrt in der Straße von Hormus [2][19]. US-Aktien erholten sich zunächst, während Gold stieg und Öl weiter nach oben schnellte [10]. Der Iran-Konflikt droht neuen Preisdruck auszulösen, während Trump die Inflation bereits für besiegt erklärt hatte [3].\n\n## Auswirkungen auf Deutschland\n\nDeutschland bestritt jede Beteiligung an den Militärschlägen gegen den Iran [13]. CDU-Politiker Wadephul betonte, Deutschland werde sich nicht am Iran-Krieg beteiligen [16]. Gleichwohl wird diskutiert, ob die Bundeswehr im Krieg gegen den Iran eingesetzt werden könnte [26]. Experten warnen vor möglichen drastischen Folgen für Deutschland, darunter erhöhte Terrorgefahr und wirtschaftliche Belastungen [14][23]. Ein Sicherheitsexperte warnte zudem, der Iran könne Israel und die USA härter treffen als bisher [25]. In den USA selbst lehnt die Mehrheit der Bevölkerung den Krieg ab [30]. Russlands Präsident Putin reagierte scharf auf die Angriffe und kritisierte Trump [1].",
"sources_json": [
{
"nr": 1,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
},
{
"nr": 2,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 3,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/as-trump-declares-inflation-tamed-iran-conflict-threatens-new-price-pressures.html"
},
{
"nr": 4,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 5,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 6,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-will-angriffe-auf-den-iran-verstarken--und-schliesst-bodentruppen-nicht-aus-10586281.html"
},
{
"nr": 7,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 8,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 9,
"name": "Defence Network",
"url": "https://defence-network.com/warum-golfstaaten-iran-nicht-herausfordern/"
},
{
"nr": 10,
"name": "CNN Business",
"url": "https://edition.cnn.com/2026/03/02/investing/oil-us-stock-market-iran"
},
{
"nr": 11,
"name": "NBC News",
"url": "https://www.nbcnews.com/world/middle-east/live-blog/live-updates-iran-war-israel-us-hezbollah-lebanon-khamenei-trump-rcna261259"
},
{
"nr": 12,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-israel-conflict-with-iran-widens"
},
{
"nr": 13,
"name": "NZZ",
"url": "https://www.nzz.ch/international/deutschland-bestreitet-beteiligung-an-militaerschlaegen-in-iran-ld.1927086"
},
{
"nr": 14,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-eskalation-usa-folgen-deutschland-terror-gefahr-100.html"
},
{
"nr": 15,
"name": "Washington Times",
"url": "https://www.washingtontimes.com/news/2026/mar/2/timeline-glance-2015-iran-nuclear-deal-2026-us-israel-military/"
},
{
"nr": 16,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 17,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 18,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 19,
"name": "CNN",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 20,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/iran-vergeltungsschlaege-treffen-dubai-bahrain-und-andere-golfstaaten-874770209561"
},
{
"nr": 21,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/militarische-eskalation-iran-krieg-wer-greift-wo-an-und-warum-15307869.html"
},
{
"nr": 22,
"name": "ORF",
"url": "https://orf.at/stories/3421870/"
},
{
"nr": 23,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
},
{
"nr": 24,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-stimmt-auf-weitere-eskalationsstufe-im-iran-krieg-ein-10586281.html"
},
{
"nr": 25,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 26,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
},
{
"nr": 27,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/us-iran-live-updates-trump-oil-gold.html"
},
{
"nr": 28,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/01/iran-succession-supreme-leader-khamenei/"
},
{
"nr": 29,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/features/2026/3/2/hold-analysis-khameneis-killing-leaves-irans-axis-in-disarray"
},
{
"nr": 30,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-amerikaner-lehnen-den-krieg-mehrheitlich-ab.html"
}
],
"article_count": 347,
"fact_check_count": 689,
"created_at": "2026-03-03 02:00:58"
}

Datei anzeigen

@@ -1,144 +0,0 @@
{
"id": 34,
"summary": "## Militaerische Lage\n\nDer Krieg gegen den Iran, der als gemeinsame Operation der USA und Israels begann, geht am dritten Tag unvermindert weiter [1][2]. US-Praesident Trump schliesst den Einsatz von Bodentruppen nicht aus und kuendigte an, die Angriffe auf den Iran zu verstaerken. Die \"grosse Welle\" stehe erst noch bevor [3][4]. Laut CBS News koenne die Kampagne bis zu fuenf Wochen dauern [5]. Die US-Armee vermeldet inzwischen sechs gefallene US-Soldaten seit Kriegsbeginn, darunter zwei weitere Todesfaelle am 2. Maerz [6][7][8].\n\nIran bleibt trotz militaerischer Unterlegenheit schlagkraeftig. Ein Experte warnt, dass Iran Israel und die USA haerter treffen koenne als bisher [9][10]. Die iranischen Vergeltungsschlaege trafen unter anderem Ziele in den Golfstaaten: Am Flughafen Dubai brach Feuer aus, ueber Hotels in Bahrain wurde Rauch gemeldet [11]. Die Golfstaaten selbst reagieren zurueckhaltend und fordern Iran nicht offen heraus [12].\n\n## Ausweitung auf den Libanon\n\nDer Konflikt weitet sich regional aus. Die Hisbollah feuerte nach der Toetung des iranischen Obersten Fuehrers Chamenei Raketen aus dem Libanon auf Israel und versprach eine Konfrontation mit den USA und Israel [13][14][15]. Der libanesische Premierminister Nawaf Salam reagierte mit einem Verbot aller militaerischen Aktivitaeten der Hisbollah [16]. Die Lage droht den gesamten Libanon in den Konflikt hineinzuziehen [8].\n\n## Wirtschaftliche Auswirkungen\n\nDer Krieg hat erhebliche oekonomische Folgen. Die Oelpreise stiegen auf fast 80 Dollar pro Barrel, getrieben von Sorgen um die Schifffahrt in der Strasse von Hormus [17][18]. US-Aktien erholten sich zwar leicht, doch Gold stieg deutlich und Boersenfutures fielen [19]. In Deutschland werden Sprit und Gas deutlich teurer [20]. Analysten warnen, der Konflikt koenne einen neuen Inflationsdruck ausloesen, waehrend Trump die Inflation fuer besiegt erklaert hatte [21]. Experten sehen die Gefahr eines \"Genickbruchs\" fuer die deutsche Wirtschaft [22].\n\n## Deutschland und internationale Reaktionen\n\nDeutschland bestreitet eine Beteiligung an den Militaerschlaegen gegen den Iran [23]. Verteidigungspolitiker Wadephul stellte klar, Deutschland werde sich nicht am Iran-Krieg beteiligen [24]. Ob die Bundeswehr eingesetzt werden koennte, wird diskutiert [25]. Die Sicherheitsbehoerden pruefen moegliche Auswirkungen der Eskalation auf die Sicherheitslage in Deutschland, darunter eine erhoehte Terrorgefahr [26]. Russlands Praesident Putin reagierte mit scharfer Kritik an Trump [27]. Die UN riefen alle Seiten zur Zurueckhaltung auf [2].",
"sources_json": [
{
"nr": 1,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-krieg-israel-usa-dimension-munition-hisbollah-irak-100.html"
},
{
"nr": 2,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/03/1167065"
},
{
"nr": 3,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-stimmt-auf-weitere-eskalationsstufe-im-iran-krieg-ein-10586281.html"
},
{
"nr": 4,
"name": "NBC News",
"url": "https://www.nbcnews.com/world/middle-east/live-blog/live-updates-iran-war-israel-us-hezbollah-lebanon-khamenei-trump-rcna261259"
},
{
"nr": 5,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 6,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 7,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-will-angriffe-auf-den-iran-verstarken--und-schliesst-bodentruppen-nicht-aus-10586281.html"
},
{
"nr": 8,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 9,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 10,
"name": "ZDF heute (Experte)",
"url": "https://www.zdfheute.de/politik/ausland/iran-israel-usa-krieg-nahost-nico-lange-100.html"
},
{
"nr": 11,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/iran-vergeltungsschlaege-treffen-dubai-bahrain-und-andere-golfstaaten-874770209561"
},
{
"nr": 12,
"name": "Defence Network",
"url": "https://defence-network.com/warum-golfstaaten-iran-nicht-herausfordern/"
},
{
"nr": 13,
"name": "Al Jazeera (Hisbollah)",
"url": "https://www.aljazeera.com/news/2026/3/2/hezbollah-promises-to-confront-us-israel-over-khamenei-killing"
},
{
"nr": 14,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 15,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-israel-conflict-with-iran-widens"
},
{
"nr": 16,
"name": "Al Jazeera (Libanon)",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 17,
"name": "CNBC (Oel)",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 18,
"name": "CNN Business",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 19,
"name": "CNN Business (Maerkte)",
"url": "https://edition.cnn.com/2026/03/02/investing/oil-us-stock-market-iran"
},
{
"nr": 20,
"name": "Finanznachrichten.de",
"url": "https://www.finanznachrichten.de/nachrichten-2026-03/67831504-roundup-2-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer-016.htm"
},
{
"nr": 21,
"name": "CNBC (Inflation)",
"url": "https://www.cnbc.com/2026/03/02/as-trump-declares-inflation-tamed-iran-conflict-threatens-new-price-pressures.html"
},
{
"nr": 22,
"name": "inFranken",
"url": "https://www.infranken.de/welt/iran-krieg-drastische-folgen-fuer-deutschland-genickbruch-moeglich-art-6325451"
},
{
"nr": 23,
"name": "NZZ",
"url": "https://www.nzz.ch/international/deutschland-bestreitet-beteiligung-an-militaerschlaegen-in-iran-ld.1927086"
},
{
"nr": 24,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 25,
"name": "Euronews",
"url": "https://de.euronews.com/2026/03/02/bundeswehr-krieg-iran"
},
{
"nr": 26,
"name": "ZDF heute (Sicherheit)",
"url": "https://www.zdfheute.de/politik/deutschland/iran-eskalation-usa-folgen-deutschland-terror-gefahr-100.html"
},
{
"nr": 27,
"name": "t-online (Putin)",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
}
],
"article_count": 354,
"fact_check_count": 699,
"created_at": "2026-03-03 03:01:58"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 35,
"summary": "## Militärische Eskalation: USA und Israel weiten Angriffe auf Iran aus\n\nDer bewaffnete Konflikt zwischen den USA und Israel einerseits und dem Iran andererseits hat sich am 2. und 3. März 2026 dramatisch verschärft. Die Todeszahl im Iran ist auf mindestens 555 gestiegen, während die USA und Israel ihre Luftangriffe ausweiten [1]. Laut CBS News erklärte Präsident Trump, die Kampagne könne bis zu fünf Wochen dauern, und schloss den Einsatz von Bodentruppen nicht aus [6][10]. Bislang wurden sechs US-Soldaten seit Kriegsbeginn getötet [4][5][10].\n\nDie UN riefen alle Konfliktparteien zur Zurückhaltung auf, während die Angriffe von USA, Israel und Iran weitergingen [9]. Eine Zeitleiste der Washington Times zeichnet den Weg vom Iran-Atomabkommen 2015 bis zu den aktuellen Militäroperationen 2026 nach [14].\n\n## Ausweitung auf den Libanon: Hisbollah greift ein\n\nDer Krieg droht sich auf den Libanon auszuweiten. Die Hisbollah feuerte Raketen aus dem Libanon auf Israel, nachdem US- und IDF-Angriffe auf den Iran durchgeführt worden waren [16]. Die Organisation versprach eine Konfrontation mit den USA und Israel als Reaktion auf die Tötung des iranischen Obersten Führers Chamenei [3]. Der libanesische Premierminister Nawaf Salam reagierte mit einem Verbot aller militärischen Aktivitäten der Hisbollah [2][17]. Laut taz steigt die Hisbollah damit aktiv in den Krieg ein [7].\n\n## Internationale Reaktionen und Deutschlands Position\n\nDeutschland bestreitet jede Beteiligung an den Militärschlägen im Iran [13]. Der designierte Bundeskanzler Wadephul erklärte, Deutschland werde sich nicht am Iran-Krieg beteiligen [15], warnte jedoch vor einem möglichen Angriff auf ein NATO-Land [8]. Das ZDF berichtete über mögliche Auswirkungen der Eskalation auf die Sicherheitslage in Deutschland, einschließlich einer erhöhten Terrorgefahr [12]. Russlands Präsident Putin reagierte mit scharfer Kritik an Trump [11].\n\nDie Golfstaaten halten sich trotz der Angriffe zurück und fordern den Iran nicht heraus [18].\n\n## Wirtschaftliche Auswirkungen\n\nDer Konflikt hat erhebliche wirtschaftliche Folgen. Die Ölpreise stiegen stark an und näherten sich der 80-Dollar-Marke, angetrieben durch Sorgen um die Schifffahrt in der Straße von Hormus [19][20]. US-Aktien erholten sich zwar, doch Gold und Öl schnellten weiter nach oben [21]. Der Iran greift gezielt Öl-Infrastruktur an, was die Weltwirtschaft bedroht [22]. In Deutschland wurden Sprit und Gas deutlich teurer [23]. Analysten warnen, dass der Konflikt neuen Preisdruck erzeugen könnte, während Trump die Inflation für besiegt erklärt hatte [24].\n\n## Militärische Analyse\n\nLaut ZDF bestimmen derzeit vor allem die Munitionsvorräte beider Seiten den Kriegsverlauf [25]. Eine Analyse von 20 Minuten kommt zu dem Schluss, dass der Iran trotz seiner militärischen Unterlegenheit schlagkräftig bleibt [26]. Die ARD sendete einen Brennpunkt zur Eskalation in Nahost [27].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/iran-death-toll-reaches-555-as-us-israel-escalate-attacks"
},
{
"nr": 2,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-libanon-verbietet-hisbollah-militaerische-aktivitaeten.html"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/hezbollah-promises-to-confront-us-israel-over-khamenei-killing"
},
{
"nr": 4,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 5,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 6,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 7,
"name": "taz",
"url": "https://taz.de/Iran-Krieg-weitet-sich-auf-Libanon-aus/!6159027/"
},
{
"nr": 8,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101151706/iran-krieg-wadephul-warnt-vor-angriff-auf-nato-land-.html"
},
{
"nr": 9,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/03/1167065"
},
{
"nr": 10,
"name": "NBC News",
"url": "https://www.nbcnews.com/world/middle-east/live-blog/live-updates-iran-war-israel-us-hezbollah-lebanon-khamenei-trump-rcna261259"
},
{
"nr": 11,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
},
{
"nr": 12,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-eskalation-usa-folgen-deutschland-terror-gefahr-100.html"
},
{
"nr": 13,
"name": "NZZ",
"url": "https://www.nzz.ch/international/deutschland-bestreitet-beteiligung-an-militaerschlaegen-in-iran-ld.1927086"
},
{
"nr": 14,
"name": "Washington Times",
"url": "https://www.washingtontimes.com/news/2026/mar/2/timeline-glance-2015-iran-nuclear-deal-2026-us-israel-military/"
},
{
"nr": 15,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/wadephul-deutschland-wird-sich-nicht-am-iran-krieg-beteiligen/100204657.html"
},
{
"nr": 16,
"name": "Axios",
"url": "https://www.axios.com/2026/03/02/iran-war-israel-hezbollah-lebanon"
},
{
"nr": 17,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/lebanese-pm-nawaf-salam-announces-ban-on-hezbollah-military-activities"
},
{
"nr": 18,
"name": "Defence Network",
"url": "https://defence-network.com/warum-golfstaaten-iran-nicht-herausfordern/"
},
{
"nr": 19,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 20,
"name": "CNN Business",
"url": "https://www.cnn.com/2026/03/01/business/oil-prices-us-attack-iran-vis"
},
{
"nr": 21,
"name": "CNN Business",
"url": "https://edition.cnn.com/2026/03/02/investing/oil-us-stock-market-iran"
},
{
"nr": 22,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260302-as-iran-targets-oil-infrastructure-middle-east-war-threatens-global-economy"
},
{
"nr": 23,
"name": "Finanznachrichten.de",
"url": "https://www.finanznachrichten.de/nachrichten-2026-03/67831504-roundup-2-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer-016.htm"
},
{
"nr": 24,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/as-trump-declares-inflation-tamed-iran-conflict-threatens-new-price-pressures.html"
},
{
"nr": 25,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-krieg-israel-usa-dimension-munition-hisbollah-irak-100.html"
},
{
"nr": 26,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 27,
"name": "ARD",
"url": "https://www.ad-hoc-news.de/unterhaltung/boulevard/brennpunkt-eskalation-in-nahost-heute-am-2-maerz-2026-20-15-uhr-im/68628332"
},
{
"nr": 28,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10521/"
},
{
"nr": 29,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-will-angriffe-auf-den-iran-verstarken--und-schliesst-bodentruppen-nicht-aus-10586281.html"
},
{
"nr": 30,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-israel-conflict-with-iran-widens"
}
],
"article_count": 363,
"fact_check_count": 709,
"created_at": "2026-03-03 04:02:58"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 36,
"summary": "## Militärische Eskalation: USA und Israel greifen Iran an\n\nSeit dem 28. Februar 2026 führen die USA und Israel eine gemeinsame Militäroperation gegen den Iran durch. Am zweiten Tag der Operation meldete CNN umfangreiche Luftangriffe auf iranische Ziele [2]. Die Todeszahl im Iran stieg laut Al Jazeera bis zum 2. März auf mindestens 555 [10], während das Handelsblatt von Hunderten Toten berichtete und meldete, dass Israel Truppen an die Grenze zum Libanon verlegt habe [9]. Laut CBS News erklärte Trump, die Kampagne könne bis zu fünf Wochen dauern [28], der Tagesspiegel berichtete zudem, dass Trump Bodentruppen nicht ausschließe [26].\n\nAuf US-amerikanischer Seite stieg die Zahl der getöteten US-Soldaten auf sechs [24][25]. NPR bestätigte diese Zahl und berichtete, der Krieg erfasse zunehmend die gesamte Region [25].\n\nBesonders gravierend: Laut Al Jazeera wurde die US-Botschaft in Riad getroffen, und die Straße von Hormus sei faktisch geschlossen [1]. Iranische Oberste Führung wurde ebenfalls Ziel der Angriffe — Al Jazeera meldete die Tötung von Ayatollah Chamenei, woraufhin die Hisbollah eine direkte Konfrontation mit den USA und Israel ankündigte [19].\n\n## Ausweitung auf Libanon und östliches Mittelmeer\n\nDer Konflikt weitete sich rasch auf den Libanon aus. Die Hisbollah trat nach dem Tod Chameneis aktiv in den Krieg ein [11][19]. Israel eröffnete daraufhin eine Front im Libanon [3] und flog Angriffe auf Hisbollah-Stellungen [9]. Die libanesische Regierung versuchte gegenzusteuern und verbot der Hisbollah militärische Aktivitäten — eine Maßnahme mit unklarer Durchsetzbarkeit [12].\n\nDer Konflikt erreichte auch Europa: Eine Drohne schlug auf dem britischen Militärstützpunkt auf Zypern ein [5][6]. Euronews sprach vom ersten direkten Einschlag des Nahostkonflikts auf europäischem Territorium [6]. Der CDU-Politiker Wadephul warnte vor einem möglichen Angriff auf ein NATO-Land [13].\n\n## Internationale Reaktionen\n\nDie EU veröffentlichte am 1. März eine Erklärung der Hohen Vertreterin zu den Entwicklungen im Nahen Osten [8]. Die UN riefen zur Zurückhaltung auf, während die Angriffe aller Seiten weitergingen [18]. Russlands Präsident Putin reagierte laut t-online mit scharfer Kritik an Trump [21]. Eine Analyse von Defence Network erklärte, warum die Golfstaaten trotz des Angriffs auf die US-Botschaft in Riad den Iran nicht direkt herausfordern [29].\n\n## Völkerrechtliche Debatte\n\nDas ZDF widmete sich der völkerrechtlichen Einordnung der Angriffe in der Golfregion [4]. Das britische House of Commons Library veröffentlichte ein Briefing zu den US-israelischen Angriffen auf den Iran im Zeitraum Februar/März 2026 [15].\n\n## Wirtschaftliche Auswirkungen\n\nDie wirtschaftlichen Folgen sind bereits spürbar. Der Ölpreis stieg laut CNBC stark an und näherte sich 80 Dollar pro Barrel, angetrieben durch Sorgen um die Schifffahrt in der Straße von Hormus [22]. France 24 berichtete, Irans Angriffe auf Öl-Infrastruktur bedrohten die Weltwirtschaft [14]. Das Handelsblatt meldete deutlich steigende Sprit- und Gaspreise in Deutschland [7]. CNBC wies darauf hin, dass der Konflikt Trumps Erfolge bei der Inflationsbekämpfung gefährde [23]. US-Aktien erholten sich unterdessen, Gold stieg und Öl schnellte weiter hoch [30]. Die Schweizer 20 Minuten analysierte, dass dem Iran trotz Unterlegenheit weiterhin Schlagkraft verbleibe [27].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera (Live)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 2,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/us-israel-iran-attack-03-01-26-intl"
},
{
"nr": 3,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-krieg-nahost-100.html"
},
{
"nr": 4,
"name": "ZDF heute (Völkerrecht)",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriff-voelkerrecht-100.html"
},
{
"nr": 5,
"name": "t-online (Drohne)",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101150164/iran-krieg-drohne-schlaegt-ploetzlich-auf-basis-im-mittelmeer-ein.html"
},
{
"nr": 6,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/02/britain-says-drone-hit-its-military-base-in-cyprus-the-first-impact-of-mideast-conflict-in"
},
{
"nr": 7,
"name": "Handelsblatt (Wirtschaft)",
"url": "https://www.handelsblatt.com/dpa/folgen-fuer-die-wirtschaft-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer/100204772.html"
},
{
"nr": 8,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/03/01/statement-by-the-high-representative-on-behalf-of-the-european-union-on-developments-in-the-middle-east/"
},
{
"nr": 9,
"name": "Handelsblatt (Lage)",
"url": "https://www.handelsblatt.com/politik/international/iran-die-lage-am-morgen-attacke-auf-zypern-israel-fliegt-angriffe-auf-die-hisbollah/100204620.html"
},
{
"nr": 10,
"name": "Al Jazeera (Todeszahl)",
"url": "https://www.aljazeera.com/news/2026/3/2/iran-death-toll-reaches-555-as-us-israel-escalate-attacks"
},
{
"nr": 11,
"name": "taz",
"url": "https://taz.de/Iran-Krieg-weitet-sich-auf-Libanon-aus/!6159027/"
},
{
"nr": 12,
"name": "t-online (Hisbollah-Verbot)",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-libanon-verbietet-hisbollah-militaerische-aktivitaeten.html"
},
{
"nr": 13,
"name": "t-online (Wadephul)",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101151706/iran-krieg-wadephul-warnt-vor-angriff-auf-nato-land-.html"
},
{
"nr": 14,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260302-as-iran-targets-oil-infrastructure-middle-east-war-threatens-global-economy"
},
{
"nr": 15,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10521/"
},
{
"nr": 16,
"name": "ARD Brennpunkt",
"url": "https://www.ad-hoc-news.de/unterhaltung/boulevard/brennpunkt-eskalation-in-nahost-heute-am-2-maerz-2026-20-15-uhr-im/68628332"
},
{
"nr": 17,
"name": "ZDF heute (Kriegsverlauf)",
"url": "https://www.zdfheute.de/politik/ausland/iran-krieg-israel-usa-dimension-munition-hisbollah-irak-100.html"
},
{
"nr": 18,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/03/1167065"
},
{
"nr": 19,
"name": "Al Jazeera (Hisbollah)",
"url": "https://www.aljazeera.com/news/2026/3/2/hezbollah-promises-to-confront-us-israel-over-khamenei-killing"
},
{
"nr": 20,
"name": "Finanznachrichten.de",
"url": "https://www.finanznachrichten.de/nachrichten-2026-03/67831504-roundup-2-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer-016.htm"
},
{
"nr": 21,
"name": "t-online (Putin)",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
},
{
"nr": 22,
"name": "CNBC (Ölpreis)",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 23,
"name": "CNBC (Inflation)",
"url": "https://www.cnbc.com/2026/03/02/as-trump-declares-inflation-tamed-iran-conflict-threatens-new-price-pressures.html"
},
{
"nr": 24,
"name": "t-online (US-Soldaten)",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 25,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 26,
"name": "Der Tagesspiegel",
"url": "https://www.tagesspiegel.de/internationales/liveblog/grosse-welle-steht-erst-noch-bevor-trump-will-angriffe-auf-den-iran-verstarken--und-schliesst-bodentruppen-nicht-aus-10586281.html"
},
{
"nr": 27,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 28,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 29,
"name": "Defence Network",
"url": "https://defence-network.com/warum-golfstaaten-iran-nicht-herausfordern/"
},
{
"nr": 30,
"name": "CNN Business",
"url": "https://edition.cnn.com/2026/03/02/investing/oil-us-stock-market-iran"
}
],
"article_count": 365,
"fact_check_count": 719,
"created_at": "2026-03-03 05:03:58"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 38,
"summary": "## Militärische Eskalation: US-israelische Angriffe auf den Iran\n\nAm 28. Februar 2026 begann eine gemeinsame Militäroperation der USA und Israels gegen den Iran. Am zweiten Tag der Operation, dem 1. März, setzten beide Länder ihre Angriffe fort [2]. Die Zahl der Todesopfer im Iran stieg bis zum 2. März auf mindestens 555 [10]. Berichten zufolge wurde dabei auch der iranische Oberste Führer Ayatollah Chamenei getötet, woraufhin die Hisbollah eine direkte Konfrontation mit den USA und Israel ankündigte [19]. Auf US-Seite fielen bis zum 2. März sechs Soldaten [25][26]. Präsident Trump erklärte, der Krieg werde vier bis fünf Wochen dauern, und schloss den Einsatz von Bodentruppen nicht aus [1][27].\n\n## Ausweitung des Konflikts auf die Region\n\nDer Krieg weitete sich rasch über den Iran hinaus aus. Israel eröffnete nach Hisbollah-Angriffen eine Front im Libanon und verlegte Truppen an die libanesische Grenze [3][9]. Die Hisbollah stieg aktiv in den Krieg ein [11], woraufhin der Libanon der Hisbollah militärische Aktivitäten untersagte [12]. Eine Drohne traf einen britischen Militärstützpunkt auf Zypern — der Nahostkonflikt erreichte damit erstmals europäisches Territorium [5][6]. CDU-Außenpolitiker Wadephul warnte vor einem möglichen Angriff auf ein NATO-Land [13]. In Saudi-Arabien wurde die US-Botschaft in Riad getroffen [1].\n\n## Wirtschaftliche Auswirkungen und Energieversorgung\n\nDie Straße von Hormus, eine der wichtigsten Schifffahrtsrouten für den globalen Ölhandel, wurde als geschlossen gemeldet [1]. Der Iran griff gezielt Öl-Infrastruktur an [14], was die Ölpreise auf fast 80 Dollar pro Barrel trieb [22]. In Deutschland verteuerten sich Sprit und Gas deutlich [7][20]. Analysten warnten, dass der Konflikt die von Trump für besiegt erklärte Inflation erneut anfachen könnte [23].\n\n## Internationale Reaktionen\n\nDie EU-Außenbeauftragte veröffentlichte eine Erklärung im Namen der Europäischen Union zu den Entwicklungen im Nahen Osten [8]. Die Vereinten Nationen riefen alle Konfliktparteien zur Zurückhaltung und Deeskalation auf [18]. Russlands Präsident Putin reagierte scharf auf Trumps Vorgehen [21]. Friedrich Merz gab ein Pressestatement zum Iran ab [28]. Ein Forschungsbriefing des britischen Unterhauses dokumentierte die US-israelischen Angriffe [15]. Der New Statesman konstatierte, der Iran-Krieg mache den Bruch zwischen Amerika und Europa offiziell [29]. Eine Militäranalyse kam zum Schluss, dass der Iran trotz Unterlegenheit weiterhin schlagkräftig bleibe [24]. Völkerrechtliche Bewertungen der Angriffe in der Golfregion wurden kontrovers diskutiert [4].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 2,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/us-israel-iran-attack-03-01-26-intl"
},
{
"nr": 3,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-krieg-nahost-100.html"
},
{
"nr": 4,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriff-voelkerrecht-100.html"
},
{
"nr": 5,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101150164/iran-krieg-drohne-schlaegt-ploetzlich-auf-basis-im-mittelmeer-ein.html"
},
{
"nr": 6,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/02/britain-says-drone-hit-its-military-base-in-cyprus-the-first-impact-of-mideast-conflict-in"
},
{
"nr": 7,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/folgen-fuer-die-wirtschaft-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer/100204772.html"
},
{
"nr": 8,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/03/01/statement-by-the-high-representative-on-behalf-of-the-european-union-on-developments-in-the-middle-east/"
},
{
"nr": 9,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-die-lage-am-morgen-attacke-auf-zypern-israel-fliegt-angriffe-auf-die-hisbollah/100204620.html"
},
{
"nr": 10,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/iran-death-toll-reaches-555-as-us-israel-escalate-attacks"
},
{
"nr": 11,
"name": "taz",
"url": "https://taz.de/Iran-Krieg-weitet-sich-auf-Libanon-aus/!6159027/"
},
{
"nr": 12,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-libanon-verbietet-hisbollah-militaerische-aktivitaeten.html"
},
{
"nr": 13,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101151706/iran-krieg-wadephul-warnt-vor-angriff-auf-nato-land-.html"
},
{
"nr": 14,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260302-as-iran-targets-oil-infrastructure-middle-east-war-threatens-global-economy"
},
{
"nr": 15,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10521/"
},
{
"nr": 16,
"name": "ARD",
"url": "https://www.ad-hoc-news.de/unterhaltung/boulevard/brennpunkt-eskalation-in-nahost-heute-am-2-maerz-2026-20-15-uhr-im/68628332"
},
{
"nr": 17,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-krieg-israel-usa-dimension-munition-hisbollah-irak-100.html"
},
{
"nr": 18,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/03/1167065"
},
{
"nr": 19,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/hezbollah-promises-to-confront-us-israel-over-khamenei-killing"
},
{
"nr": 20,
"name": "Finanznachrichten.de",
"url": "https://www.finanznachrichten.de/nachrichten-2026-03/67831504-roundup-2-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer-016.htm"
},
{
"nr": 21,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
},
{
"nr": 22,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 23,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/as-trump-declares-inflation-tamed-iran-conflict-threatens-new-price-pressures.html"
},
{
"nr": 24,
"name": "20 Minuten",
"url": "https://www.20min.ch/story/militaeranalyse-dauerbeschuss-nicht-nur-dem-iran-geht-die-munition-aus-103517140"
},
{
"nr": 25,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-us-armee-vermeldet-tot-zweier-weiterer-us-soldaten.html"
},
{
"nr": 26,
"name": "NPR",
"url": "https://www.npr.org/2026/03/02/g-s1-112151/iran-war-widens-threatens-to-engulf-lebanon"
},
{
"nr": 27,
"name": "CBS News",
"url": "https://www.cbsnews.com/live-updates/iran-us-war-day-3-american-deaths-israel-gulf-allies-hit-missile-strikes/"
},
{
"nr": 28,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 29,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
}
],
"article_count": 371,
"fact_check_count": 729,
"created_at": "2026-03-03 18:38:13"
}

Datei anzeigen

@@ -1,134 +0,0 @@
{
"id": 39,
"summary": "## Militaerische Lage\n\nSeit Ende Februar 2026 fuehren die USA und Israel eine gemeinsame Militaeroperation gegen den Iran durch. Am 3. Maerz befinden sich die Angriffe bereits im vierten Tag [1]. Israel bombardiert Teheran und Beirut, waehrend US-Praesident Trump erklaert, der Krieg werde vier Wochen dauern [2]. Die Zahl der Todesopfer im Iran ist auf mindestens 555 gestiegen [3]. Der iranische Oberste Fuehrer Ayatollah Chamenei wurde Berichten zufolge bei den Angriffen getoetet [4]. Israels Kriegsziel wird zunehmend als Regimewechsel im Iran beschrieben [5].\n\nDer Konflikt hat sich auf den Libanon ausgeweitet: Die Hisbollah ist in den Krieg eingetreten und hat eine direkte Konfrontation mit den USA und Israel angekuendigt [6][7][8]. Israel hat Truppen an die libanesische Grenze verlegt, waehrend die libanesische Regierung der Hisbollah militaerische Aktivitaeten verboten hat [9][10]. Eine Drohne schlug auf einem britischen Militaerstuetzpunkt auf Zypern ein — der erste direkte Einschlag des Nahostkonflikts in Europa [11][12]. Johann Wadephul warnte vor einem moeglichen Angriff auf ein NATO-Land [13].\n\n## Internationale Reaktionen\n\nDie EU-Aussenbeauftragte hat im Namen der Europaeischen Union eine Erklaerung zu den Entwicklungen im Nahen Osten abgegeben [14]. Die Vereinten Nationen rufen alle Konfliktparteien zur Zurueckhaltung und Deeskalation auf [15]. Russlands Praesident Putin reagierte mit scharfer Kritik an Trump [16]. Friedrich Merz aeusserte sich in einem Pressestatement zur Lage [17]. Laut einer Analyse des New Statesman macht der Iran-Krieg den Bruch zwischen Amerika und Europa offensichtlich [18].\n\n## Wirtschaftliche Auswirkungen\n\nDie Strasse von Hormus, eine der wichtigsten Schifffahrtsrouten fuer den globalen Oelhandel, wird als geschlossen gemeldet [2][19]. Der Iran greift gezielt Oel-Infrastruktur an, was die Weltwirtschaft bedroht [20]. Die Oelpreise sind stark angestiegen und naehern sich 80 Dollar pro Barrel [21]. Qatars Gasproduktion und -lieferungen wurden gestoppt, was Deutschlands Abhaengigkeit von Energieimporten offenbart [22]. In Deutschland sind Sprit und Gas deutlich teurer geworden [23][24]. Die Angriffe bedrohen auch das US-BIP-Wachstum und die Inflationsaussichten [25]. Asien ist von der Blockade der Strasse von Hormus besonders hart betroffen [19].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/what-we-know-on-day-four-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "Al Jazeera (Live)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/iran-death-toll-reaches-555-as-us-israel-escalate-attacks"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/hezbollah-promises-to-confront-us-israel-over-khamenei-killing"
},
{
"nr": 5,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/as-bombing-continues-israels-war-aim-in-iran-becomes-clear-regime-change"
},
{
"nr": 6,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 7,
"name": "taz",
"url": "https://taz.de/Iran-Krieg-weitet-sich-auf-Libanon-aus/!6159027/"
},
{
"nr": 8,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-krieg-nahost-100.html"
},
{
"nr": 9,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-die-lage-am-morgen-attacke-auf-zypern-israel-fliegt-angriffe-auf-die-hisbollah/100204620.html"
},
{
"nr": 10,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-libanon-verbietet-hisbollah-militaerische-aktivitaeten.html"
},
{
"nr": 11,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101150164/iran-krieg-drohne-schlaegt-ploetzlich-auf-basis-im-mittelmeer-ein.html"
},
{
"nr": 12,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/02/britain-says-drone-hit-its-military-base-in-cyprus-the-first-impact-of-mideast-conflict-in"
},
{
"nr": 13,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101151706/iran-krieg-wadephul-warnt-vor-angriff-auf-nato-land-.html"
},
{
"nr": 14,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/03/01/statement-by-the-high-representative-on-behalf-of-the-european-union-on-developments-in-the-middle-east/"
},
{
"nr": 15,
"name": "UN News",
"url": "https://news.un.org/en/story/2026/03/1167065"
},
{
"nr": 16,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101149200/angriff-auf-iran-von-usa-und-israel-putin-wuetet-gegen-trump.html"
},
{
"nr": 17,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 18,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
},
{
"nr": 19,
"name": "SRF",
"url": "https://www.srf.ch/news/international/im-zeitraffer-die-strasse-von-hormus-steht-still-asien-trifft-es-hart"
},
{
"nr": 20,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260302-as-iran-targets-oil-infrastructure-middle-east-war-threatens-global-economy"
},
{
"nr": 21,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/02/iran-us-oil-strait-hormuz-war-middle-east-energy-brent-crude-wti-conflict.html"
},
{
"nr": 22,
"name": "FAZ",
"url": "https://www.faz.net/aktuell/wirtschaft/mehr-wirtschaft/iran-krise-qatars-gas-stopp-zeigt-deutschlands-abhaengigkeit-110847155.html"
},
{
"nr": 23,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/folgen-fuer-die-wirtschaft-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer/100204772.html"
},
{
"nr": 24,
"name": "Finanznachrichten.de",
"url": "https://www.finanznachrichten.de/nachrichten-2026-03/67831504-roundup-2-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer-016.htm"
},
{
"nr": 25,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/03/iran-attacks-threaten-us-gdp-growth-and-inflation-prospects"
}
],
"article_count": 378,
"fact_check_count": 739,
"created_at": "2026-03-03 18:51:14"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 4,
"summary": "## Militärschläge gegen den Iran\n\nAm 28. Februar 2026 haben die USA und Israel eine koordinierte Großoffensive unter dem Operationsnamen \"Epic Fury\" gegen den Iran gestartet [29][30]. Die Angriffe richteten sich gegen iranische Militär- und Nukleareinrichtungen. Bereits am 1. März 2026 folgten erneute Angriffe [1]. Präsident Trump forderte die iranische Bevölkerung auf, \"die Kontrolle über eure Regierung zu übernehmen\" [11]. Die IAEA veröffentlichte ein Update zu den Entwicklungen im Iran [4], während die Atomverhandlungen laut ORF offenbar gescheitert sind [10].\n\n## Iranische Vergeltung und regionale Eskalation\n\nDer Iran reagierte mit Vergeltungsschlägen auf israelische und US-Ziele in der gesamten Region [29][30]. Iranische Raketen- und Drohnenangriffe auf die US-Marinebasis in Bahrain dauerten über acht Stunden an, wobei Wohngebäude im Stadtteil Hoora getroffen wurden. US-Militäropfer wurden nicht gemeldet, jedoch gab es zivile Schäden in Bahrain [28]. In Dubai wurden Explosionen gemeldet, darunter ein Brand an einem Luxushotel auf der Insel \"The Palm\" [24]. Als weitere Vergeltungsmaßnahme sperrte der Iran die Straße von Hormus für den Schiffsverkehr [12].\n\n## Internationale Reaktionen\n\nDie internationalen Reaktionen fielen überwiegend zurückhaltend aus [17]. Der UN-Sicherheitsrat berief eine Dringlichkeitssitzung ein [21]. Großbritannien, Frankreich und Deutschland drängten auf eine Rückkehr zu diplomatischen Verhandlungen [16]. Die europäischen Staaten zeigten sich besorgt über die Ausweitung der Militäroperation auf die weitere Region [15]. Bundeskanzler Merz verurteilte das iranische Regime, hielt sich jedoch mit Kritik an Trump zurück und suchte vor einem geplanten USA-Besuch nach einer diplomatischen Linie [19]. Der Verfassungsblog bewertete den erneuten Angriff als \"offenkundig völkerrechtswidrig\" [3], während Just Security die Frage aufwarf, ob die Angriffe einen Wendepunkt für die UN-Charta darstellen [18].\n\n## Wirtschaftliche Auswirkungen\n\nDie Sperrung der Straße von Hormus, durch die rund ein Fünftel des weltweiten Öltransports fließt [14], sorgte für erhebliche Bedenken hinsichtlich der globalen Energieversorgung [8][13]. Analysten der WirtschaftsWoche schätzten die Reaktion am Ölmarkt dennoch als möglicherweise begrenzt ein [2]. Die Auswirkungen auf Welthandel und Lieferketten wurden als erheblich eingestuft [26]. Der Council on Foreign Relations ordnete die Lage in den breiteren Kontext der jahrzehntelangen Konfrontation zwischen den USA und dem Iran ein [27], während Critical Threats (AEI) bereits am 27. Februar einen Lagebericht veröffentlichte [25]. Das Handelsblatt analysierte, wie der Iran die USA in einen langen Krieg verwickeln könnte [7].\n\nIn Iran selbst schwankte die Bevölkerung zwischen Hoffnung auf einen Regimewechsel und Angst vor den Folgen der Angriffe [23].",
"sources_json": [
{
"nr": 1,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/krieg-in-nahost-israel-und-usa-greifen-erneut-iran-an/100204267.html"
},
{
"nr": 2,
"name": "WirtschaftsWoche",
"url": "https://www.wiwo.de/finanzen/boerse/iran-konflikt-die-reaktion-am-oelmarkt-duerfte-begrenzt-bleiben/100204351.html"
},
{
"nr": 3,
"name": "Verfassungsblog",
"url": "https://verfassungsblog.de/warum-der-erneute-angriff-der-usa-und-israels-auf-den-iran-offenkundig-volkerrechtswidrig-ist/"
},
{
"nr": 4,
"name": "IAEA",
"url": "https://www.iaea.org/newscenter/pressreleases/update-on-developments-in-iran"
},
{
"nr": 5,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101148972/usa-und-israel-greifen-iran-an-ein-ueberblick-aus-mehreren-laendern.html"
},
{
"nr": 6,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriffe-reaktionen-100.html"
},
{
"nr": 7,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/nahost-wie-der-iran-die-usa-in-einen-langen-krieg-verwickeln-koennte-01/100202895.html"
},
{
"nr": 8,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/22/iran-us-tensions-what-would-blocking-strait-of-hormuz-mean-for-oil-lng"
},
{
"nr": 9,
"name": "SRF",
"url": "https://www.srf.ch/news/international/usa/nahost-angriff-auf-den-iran-das-wichtigste-in-der-uebersicht"
},
{
"nr": 10,
"name": "ORF",
"url": "https://on.orf.at/video/14313541/16045418/atomverhandlungen-offenbar-gescheitert"
},
{
"nr": 11,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/us-and-israel-launch-a-major-attack-on-iran-and-trump-urges-iranians-to-take-over-your-government"
},
{
"nr": 12,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-iran-verbietet-schiffen-durchfahrt-der-strasse-von-hormus.html"
},
{
"nr": 13,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/iran-us-attack-oil-market-economy.html"
},
{
"nr": 14,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-was-die-strasse-von-hormus-so-wichtig-macht/100204320.html"
},
{
"nr": 15,
"name": "Euronews",
"url": "https://www.euronews.com/my-europe/2026/02/28/europe-reacts-to-us-and-israeli-attack-on-iran-as-military-operation-spills-into-wider-reg"
},
{
"nr": 16,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760393-uk-france-germany-iran-strikes-negotiations/"
},
{
"nr": 17,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/world-leaders-react-cautiously-to-u-s-and-israeli-strikes-on-iran"
},
{
"nr": 18,
"name": "Just Security",
"url": "https://www.justsecurity.org/132773/us-iran-war-international-reactions/"
},
{
"nr": 19,
"name": "Zeit",
"url": "https://www.zeit.de/politik/deutschland/2026-02/bundesregierung-iran-israel-usa-angriff-reaktion"
},
{
"nr": 20,
"name": "PBS News (Live)",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-and-israel-attack-iran"
},
{
"nr": 21,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760591-un-security-council-emergency-meeting-iran-strikes/"
},
{
"nr": 22,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/02/28/what-does-the-us-israel-attack-on-iran-mean-for-oil-prices"
},
{
"nr": 23,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-krieg-das-regime-muss-weg-iraner-zwischen-hoffnung-und-angst/100204276.html"
},
{
"nr": 24,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-angriff-von-israel-und-usa-auf-den-iran-augenzeugen-berichten-von-explosion-auf-dubai-insel-the-palm-10586281.html"
},
{
"nr": 25,
"name": "Critical Threats (AEI)",
"url": "https://www.criticalthreats.org/analysis/iran-update-february-27-2026"
},
{
"nr": 26,
"name": "Retail News",
"url": "https://retail-news.de/iran-konflikt-welthandel-lieferketten/"
},
{
"nr": 27,
"name": "Council on Foreign Relations",
"url": "https://www.cfr.org/global-conflict-tracker/conflict/confrontation-between-united-states-and-iran"
},
{
"nr": 28,
"name": "Stars and Stripes",
"url": "https://www.stripes.com/theaters/middle_east/2026-02-28/strikes-on-bahrain-iran-israel-20902624.html"
},
{
"nr": 29,
"name": "Jüdische Allgemeine",
"url": "https://www.juedische-allgemeine.de/israel/sicherheitsbehoerden-verstaerken-schutz-von-juedischen-und-israelischen-einrichtungen/"
},
{
"nr": 30,
"name": "USNI News",
"url": "https://news.usni.org/2026/02/28/u-s-israel-launch-operation-epic-fury-against-iran-tehran-retaliates-across-region"
}
],
"article_count": 199,
"fact_check_count": 445,
"created_at": "2026-03-01 03:23:50"
}

Datei anzeigen

@@ -1,159 +0,0 @@
{
"id": 40,
"summary": "## Militaerische Lage\n\nDer US-israelische Krieg gegen den Iran geht am 3. Maerz 2026 in seinen vierten Tag. Die gemeinsame Militaeroperation, die am 28. Februar begann, umfasst fortgesetzte Luftangriffe auf iranische Ziele, darunter Bombardierungen der Hauptstadt Teheran [9]. Die Zahl der Todesopfer im Iran ist laut Al Jazeera auf mindestens 555 gestiegen [25]. Israel bombardiert parallel dazu Beirut und hat eine Bodenoffensive im Libanon eingeleitet, nachdem die Hisbollah mit Drohnenangriffen auf Israel in den Krieg eingetreten ist [3][11]. US-Praesident Trump erklaerte, der Krieg werde vier Wochen dauern [16].\n\nDer Konflikt hat bereits ueber die unmittelbare Kriegsregion hinaus Auswirkungen: Eine Drohne traf einen britischen Militaerstuetzpunkt auf Zypern — der erste direkte Einschlag des Nahostkonflikts auf europaeischem Territorium [20][21]. Die US-Botschaft in der saudischen Hauptstadt Riad wurde ebenfalls von Drohnen getroffen [6][16]. Der CDU-Vorsitzende Wadephul warnte vor einem moeglichen Angriff auf ein NATO-Land [28].\n\n## Wirtschaftliche Auswirkungen\n\nDer Iran hat die Strasse von Hormus geschlossen, eine der wichtigsten Schifffahrtsrouten fuer den globalen Oelhandel [1][12]. Der Brent-Oelpreis stieg infolgedessen auf ueber 83 Dollar pro Barrel [2]. Besonders asiatische Laender, die stark von Oelimporten durch die Meerenge abhaengig sind, sind betroffen [5][12]. Die Blockade stoppt auch Katars Gasproduktion und -lieferungen, was Deutschlands Abhaengigkeit von Energieimporten offenbart [8]. In Deutschland werden Sprit und Gas bereits deutlich teurer [22]. Oxford Economics warnt vor weitreichenden wirtschaftlichen Auswirkungen der Spannungen zwischen den USA, Israel und dem Iran [4], waehrend Euronews ueber Bedrohungen fuer das US-BIP-Wachstum und die Inflationsaussichten berichtet [13].\n\n## Politische Reaktionen und Einordnung\n\nDie Europaeische Union veroeffentlichte am 1. Maerz eine offizielle Erklaerung der Hohen Vertreterin zu den Entwicklungen im Nahen Osten [23]. Friedrich Merz gab ein Pressestatement zum Iran ab [14]. In den USA aendert die Trump-Regierung laut CNBC ihr Narrativ zum Krieg, waehrend die Demokraten die Regierung scharf kritisieren [7]. Der New Statesman kommentiert, der Iran-Krieg mache den Bruch zwischen Amerika und Europa offiziell [15]. Auch voelkerrechtliche Fragen zu den Angriffen in der Golfregion werden diskutiert [19]. Das britische Unterhaus veroeffentlichte ein Forschungsbriefing zu den US-israelischen Angriffen [24]. Al Jazeera berichtet, Israels strategisches Kriegsziel im Iran sei ein Regimewechsel [10].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/economy/2026/3/3/shutdown-of-hormuz-strait-raises-fears-of-soaring-oil-prices"
},
{
"nr": 2,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/crude-oil-prices-today-iran-war.html"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/israel-strikes-lebanons-beirut-again-hezbollah-launches-drones-at-israel"
},
{
"nr": 4,
"name": "Oxford Economics",
"url": "https://www.oxfordeconomics.com/iran-conflict-us-israel-iran-war-2026/"
},
{
"nr": 5,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/strait-of-hormuz-closure-which-countries-will-be-hit-the-most.html"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/03/03/nx-s1-5732968/iran-us-trump-war"
},
{
"nr": 7,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/trump-iran-shifting-narrative-us-war.html"
},
{
"nr": 8,
"name": "FAZ",
"url": "https://www.faz.net/aktuell/wirtschaft/mehr-wirtschaft/iran-krise-qatars-gas-stopp-zeigt-deutschlands-abhaengigkeit-110847155.html"
},
{
"nr": 9,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/what-we-know-on-day-four-of-us-israeli-attacks-on-iran"
},
{
"nr": 10,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/as-bombing-continues-israels-war-aim-in-iran-becomes-clear-regime-change"
},
{
"nr": 11,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 12,
"name": "SRF",
"url": "https://www.srf.ch/news/international/im-zeitraffer-die-strasse-von-hormus-steht-still-asien-trifft-es-hart"
},
{
"nr": 13,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/03/iran-attacks-threaten-us-gdp-growth-and-inflation-prospects"
},
{
"nr": 14,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 15,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
},
{
"nr": 16,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 17,
"name": "CNN",
"url": "https://www.cnn.com/world/live-news/us-israel-iran-attack-03-01-26-intl"
},
{
"nr": 18,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-krieg-nahost-100.html"
},
{
"nr": 19,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriff-voelkerrecht-100.html"
},
{
"nr": 20,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101150164/iran-krieg-drohne-schlaegt-ploetzlich-auf-basis-im-mittelmeer-ein.html"
},
{
"nr": 21,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/02/britain-says-drone-hit-its-military-base-in-cyprus-the-first-impact-of-mideast-conflict-in"
},
{
"nr": 22,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/folgen-fuer-die-wirtschaft-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer/100204772.html"
},
{
"nr": 23,
"name": "EU-Rat (Consilium)",
"url": "https://www.consilium.europa.eu/en/press/press-releases/2026/03/01/statement-by-the-high-representative-on-behalf-of-the-european-union-on-developments-in-the-middle-east/"
},
{
"nr": 24,
"name": "House of Commons Library",
"url": "https://commonslibrary.parliament.uk/research-briefings/cbp-10521/"
},
{
"nr": 25,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/2/iran-death-toll-reaches-555-as-us-israel-escalate-attacks"
},
{
"nr": 26,
"name": "taz",
"url": "https://taz.de/Iran-Krieg-weitet-sich-auf-Libanon-aus/!6159027/"
},
{
"nr": 27,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101150312/iran-krieg-aktuell-libanon-verbietet-hisbollah-militaerische-aktivitaeten.html"
},
{
"nr": 28,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101151706/iran-krieg-wadephul-warnt-vor-angriff-auf-nato-land-.html"
},
{
"nr": 29,
"name": "France 24",
"url": "https://www.france24.com/en/middle-east/20260302-as-iran-targets-oil-infrastructure-middle-east-war-threatens-global-economy"
},
{
"nr": 30,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-die-lage-am-morgen-attacke-auf-zypern-israel-fliegt-angriffe-auf-die-hisbollah/100204620.html"
}
],
"article_count": 386,
"fact_check_count": 749,
"created_at": "2026-03-03 19:07:09"
}

Datei anzeigen

@@ -1,149 +0,0 @@
{
"id": 42,
"summary": "## Militärische Lage\n\nDer US-israelische Krieg gegen den Iran geht am 3. März 2026 in seinen vierten Tag [1][2]. Die gemeinsame Militäroperation, die am 28. Februar begann, richtet sich gegen iranische Ziele mit dem offenkundigen Ziel eines Regimewechsels [3]. Israel bombardiert weiterhin Teheran und Beirut [1], während Berichte über einen US-israelischen Plan zur gezielten Tötung des iranischen Obersten Führers Chamenei kursieren [4]. US-Präsident Trump erklärte, der Krieg werde vier Wochen dauern [1].\n\nDer Konflikt hat sich auf den Libanon ausgeweitet: Israel hat nach Hisbollah-Angriffen eine Bodenoffensive im Libanon eröffnet, die Hisbollah ist damit offiziell in den Krieg eingetreten [5][6][7]. Eine Drohne traf einen britischen Militärstützpunkt auf Zypern — der erste direkte Einschlag des Nahostkonflikts auf europäischem Boden [8][9]. Die US-Botschaft in der saudischen Hauptstadt Riad wurde ebenfalls von Drohnen getroffen [1][10]. Analysten warnen vor möglichen Engpässen beim US-Waffenarsenal bei anhaltenden Angriffen [11].\n\n## Wirtschaftliche Auswirkungen\n\nDie Straße von Hormus, eine der wichtigsten Schifffahrtsrouten für den globalen Ölhandel, wird als geschlossen gemeldet [1][12]. Der Brent-Ölpreis ist auf über 83 Dollar gestiegen [13]. China fordert die Sicherheit der Schifffahrtsroute [14]. Besonders betroffen sind asiatische Länder, die stark von Öl- und Gaslieferungen durch die Meerenge abhängen [15][16].\n\nDie Auswirkungen treffen auch Deutschland unmittelbar: Sprit- und Gaspreise steigen deutlich [17][18][19]. Die Iran-Krise hat Katars Gasproduktion und -lieferungen gestoppt, was Deutschlands anhaltende Energieabhängigkeit offenbart [20]. Ökonomen warnen vor einem neuen Energiepreisschock für die deutsche Wirtschaft [21]. Auch die US-Wirtschaft ist betroffen — die Angriffe bedrohen das BIP-Wachstum und verschärfen die Inflationsaussichten [22]. Oxford Economics hat eine Analyse der wirtschaftlichen Auswirkungen des Konflikts veröffentlicht [23].\n\n## Politische Reaktionen\n\nFriedrich Merz (CDU) gab bereits am 1. März ein Pressestatement zum Iran ab [24]. Die Trump-Regierung hat ihr Narrativ zum Krieg verändert, was Kritik der Demokraten auslöste [25]. Völkerrechtliche Fragen zu den Angriffen in der Golfregion werden diskutiert [26]. Kommentatoren sehen in dem Konflikt einen Bruch zwischen den USA und Europa [27]. Analysten fordern, Europa müsse sich auf die Zeit nach einem möglichen Sturz des iranischen Regimes vorbereiten [28].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera (Live)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 2,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/what-we-know-on-day-four-of-us-israeli-attacks-on-iran"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/as-bombing-continues-israels-war-aim-in-iran-becomes-clear-regime-change"
},
{
"nr": 4,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/inside-the-us-israel-plan-to-assassinate-irans-khamenei"
},
{
"nr": 5,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-krieg-nahost-100.html"
},
{
"nr": 6,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/israel-strikes-lebanons-beirut-again-hezbollah-launches-drones-at-israel"
},
{
"nr": 7,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 8,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/02/britain-says-drone-hit-its-military-base-in-cyprus-the-first-impact-of-mideast-conflict-in"
},
{
"nr": 9,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/usa/id_101150164/iran-krieg-drohne-schlaegt-ploetzlich-auf-basis-im-mittelmeer-ein.html"
},
{
"nr": 10,
"name": "NPR",
"url": "https://www.npr.org/2026/03/03/nx-s1-5732968/iran-us-trump-war"
},
{
"nr": 11,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/lanz-iran-krieg-nahost-usa-waffenarsenal-100.html"
},
{
"nr": 12,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/economy/2026/3/3/shutdown-of-hormuz-strait-raises-fears-of-soaring-oil-prices"
},
{
"nr": 13,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/crude-oil-prices-today-iran-war.html"
},
{
"nr": 14,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/ticker-israel-gaza-nahost-news-156-872658086267"
},
{
"nr": 15,
"name": "SRF",
"url": "https://www.srf.ch/news/international/im-zeitraffer-die-strasse-von-hormus-steht-still-asien-trifft-es-hart"
},
{
"nr": 16,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/strait-of-hormuz-closure-which-countries-will-be-hit-the-most.html"
},
{
"nr": 17,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/folgen-fuer-die-wirtschaft-iran-krieg-trifft-deutschland-sprit-und-gas-deutlich-teurer/100204772.html"
},
{
"nr": 18,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-krieg-wirtschaft-oelpreise-spritpreise-benzin-diesel-100.html"
},
{
"nr": 19,
"name": "Euronews DE",
"url": "https://de.euronews.com/2026/03/03/gas-sprit-lebensmittel-iran-krieg-deutschland-preis-schock"
},
{
"nr": 20,
"name": "FAZ",
"url": "https://www.faz.net/aktuell/wirtschaft/mehr-wirtschaft/iran-krise-qatars-gas-stopp-zeigt-deutschlands-abhaengigkeit-110847155.html"
},
{
"nr": 21,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/krieg-im-iran-erlebt-deutschlands-wirtschaft-jetzt-den-nachsten-energiepreis-schock-15310813.html"
},
{
"nr": 22,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/03/iran-attacks-threaten-us-gdp-growth-and-inflation-prospects"
},
{
"nr": 23,
"name": "Oxford Economics",
"url": "https://www.oxfordeconomics.com/iran-conflict-us-israel-iran-war-2026/"
},
{
"nr": 24,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 25,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/trump-iran-shifting-narrative-us-war.html"
},
{
"nr": 26,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/iran-usa-israel-angriff-voelkerrecht-100.html"
},
{
"nr": 27,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
},
{
"nr": 28,
"name": "Euronews DE",
"url": "https://de.euronews.com/2026/03/03/iran-europa-regime-trump"
}
],
"article_count": 391,
"fact_check_count": 759,
"created_at": "2026-03-03 20:59:12"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 5,
"summary": "## Militärschläge gegen den Iran\n\nAm 28. Februar 2026 haben die USA und Israel einen großangelegten Militärangriff auf den Iran gestartet [1][2]. Präsident Trump forderte die iranische Bevölkerung auf, \"die Kontrolle über eure Regierung zu übernehmen\" [1]. Mehrere Quellen berichten übereinstimmend von umfangreichen Angriffen auf iranische Ziele [3][4]. Am 1. März setzten Israel und die USA die Angriffe fort [5].\n\n## Tod von Ajatollah Chamenei\n\nDer Oberste Führer des Iran, Ajatollah Ali Chamenei, wurde bei den Angriffen getötet. Das Weiße Haus bestätigte seinen Tod [6], ebenso iranische Staatsmedien [7] und das iranische Staatsfernsehen [8]. Bloomberg berichtet, Chamenei sei direkt durch die US-israelischen Angriffe ums Leben gekommen [9]. Analysten warnen vor einer möglichen Machtvakuum-Krise im Iran [10].\n\n## Vergeltung: Sperrung der Straße von Hormus\n\nAls Vergeltungsmaßnahme hat der Iran die Durchfahrt durch die Straße von Hormus für Schiffe verboten [11]. Diese Wasserstraße ist von zentraler strategischer Bedeutung für den globalen Ölhandel [12]. Bereits vor den Angriffen hatte Al Jazeera die möglichen Folgen einer solchen Blockade analysiert [13]. Zudem kam es zu massiven Einschränkungen im internationalen Flugverkehr; das Drehkreuz Dubai wurde gesperrt [14].\n\n## Internationale Reaktionen und Diplomatie\n\nWeltführer reagierten zurückhaltend auf die Angriffe [15]. Großbritannien, Frankreich und Deutschland drängten auf eine Rückkehr zu diplomatischen Verhandlungen [16]. Der UN-Sicherheitsrat berief eine Dringlichkeitssitzung ein [17]. Europa zeigte sich besorgt über die Ausweitung der Militäroperation auf die weitere Region [18]. Bundeskanzler Merz verurteilte das iranische Regime, hielt sich mit Kritik an Trump jedoch zurück — vor einem geplanten USA-Besuch sucht er nach einer diplomatischen Linie [19]. Die Atomverhandlungen mit dem Iran gelten als gescheitert [20]. Die IAEA veröffentlichte ein Update zu den Entwicklungen [21].\n\n## Völkerrechtliche Debatte\n\nDer Verfassungsblog stufte den erneuten Angriff als \"offenkundig völkerrechtswidrig\" ein [22]. Just Security analysierte, ob die Militärschläge einen Wendepunkt für die UN-Charta darstellen könnten [23].\n\n## Auswirkungen auf den Ölmarkt\n\nDie Einschätzungen zu den wirtschaftlichen Folgen gehen auseinander. Während Berichte vor einem möglichen Spritpreisschock an deutschen Zapfsäulen warnten [24], berichtete ZDF, der Ölpreis sei trotz der Krise nicht wesentlich gestiegen [25]. Die WirtschaftsWoche prognostizierte eine begrenzte Marktreaktion [26]. CNBC und Euronews analysierten die möglichen Auswirkungen auf den globalen Ölmarkt und die Weltwirtschaft [27][28]. Bereits Ende Februar hatte das Handelsblatt untersucht, wie der Iran die USA in einen langen Krieg verwickeln könnte [29].",
"sources_json": [
{
"nr": 1,
"name": "PBS NewsHour",
"url": "https://www.pbs.org/newshour/world/us-and-israel-launch-a-major-attack-on-iran-and-trump-urges-iranians-to-take-over-your-government"
},
{
"nr": 2,
"name": "SRF",
"url": "https://www.srf.ch/news/international/usa/nahost-angriff-auf-den-iran-das-wichtigste-in-der-uebersicht"
},
{
"nr": 3,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/krisen/id_101148972/usa-und-israel-greifen-iran-an-ein-ueberblick-aus-mehreren-laendern.html"
},
{
"nr": 4,
"name": "PBS News (Live-Updates)",
"url": "https://www.pbs.org/newshour/world/live-updates-u-s-and-israel-attack-iran"
},
{
"nr": 5,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/dpa/krieg-in-nahost-israel-und-usa-greifen-erneut-iran-an/100204267.html"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/02/28/nx-s1-5436832/white-house-confirms-death-of-irans-supreme-leader-ayatollah-ali-khamenei"
},
{
"nr": 7,
"name": "Axios",
"url": "https://www.axios.com/2026/02/28/iran-khamenei-killed-israel"
},
{
"nr": 8,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-03-01/iran-state-tv-confirms-khamenei-s-death"
},
{
"nr": 9,
"name": "Bloomberg",
"url": "https://www.bloomberg.com/news/articles/2026-02-28/ali-khamenei-iran-s-supreme-leader-killed-in-us-israel-strikes"
},
{
"nr": 10,
"name": "19FortyFive",
"url": "https://www.19fortyfive.com/2026/02/khamenei-is-dead-the-2026-iran-war-could-become-a-giant-power-vacuum-crisis/"
},
{
"nr": 11,
"name": "t-online",
"url": "https://www.t-online.de/nachrichten/ausland/id_101131950/iran-krieg-iran-verbietet-schiffen-durchfahrt-der-strasse-von-hormus.html"
},
{
"nr": 12,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/iran-was-die-strasse-von-hormus-so-wichtig-macht/100204320.html"
},
{
"nr": 13,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/2/22/iran-us-tensions-what-would-blocking-strait-of-hormuz-mean-for-oil-lng"
},
{
"nr": 14,
"name": "Tagesspiegel",
"url": "https://tagesspiegel.de/internationales/liveblog/nach-us-israelischem-angriff-auf-den-iran-massive-einschrankungen-im-internationalen-flugverkehr--drehkreuz-dubai-gesperrt-10586281.html"
},
{
"nr": 15,
"name": "PBS News",
"url": "https://www.pbs.org/newshour/world/world-leaders-react-cautiously-to-u-s-and-israeli-strikes-on-iran"
},
{
"nr": 16,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760393-uk-france-germany-iran-strikes-negotiations/"
},
{
"nr": 17,
"name": "The Hill",
"url": "https://thehill.com/policy/international/5760591-un-security-council-emergency-meeting-iran-strikes/"
},
{
"nr": 18,
"name": "Euronews",
"url": "https://www.euronews.com/my-europe/2026/02/28/europe-reacts-to-us-and-israeli-attack-on-iran-as-military-operation-spills-into-wider-reg"
},
{
"nr": 19,
"name": "Zeit",
"url": "https://www.zeit.de/politik/deutschland/2026-02/bundesregierung-iran-israel-usa-angriff-reaktion"
},
{
"nr": 20,
"name": "ORF",
"url": "https://on.orf.at/video/14313541/16045418/atomverhandlungen-offenbar-gescheitert"
},
{
"nr": 21,
"name": "IAEA",
"url": "https://www.iaea.org/newscenter/pressreleases/update-on-developments-in-iran"
},
{
"nr": 22,
"name": "Verfassungsblog",
"url": "https://verfassungsblog.de/warum-der-erneute-angriff-der-usa-und-israels-auf-den-iran-offenkundig-volkerrechtswidrig-ist/"
},
{
"nr": 23,
"name": "Just Security",
"url": "https://www.justsecurity.org/132773/us-iran-war-international-reactions/"
},
{
"nr": 24,
"name": "echo24",
"url": "https://www.echo24.de/leben/auto/iran-krise-treibt-oelpreis-hoch-droht-jetzt-neuer-sprit-schock-zapfsaeule-deutschland-tanken-94191442.html"
},
{
"nr": 25,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/wirtschaft/oelpreis-benzin-iran-israel-krieg-100.html"
},
{
"nr": 26,
"name": "WirtschaftsWoche",
"url": "https://www.wiwo.de/finanzen/boerse/iran-konflikt-die-reaktion-am-oelmarkt-duerfte-begrenzt-bleiben/100204351.html"
},
{
"nr": 27,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/02/28/iran-us-attack-oil-market-economy.html"
},
{
"nr": 28,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/02/28/what-does-the-us-israel-attack-on-iran-mean-for-oil-prices"
},
{
"nr": 29,
"name": "Handelsblatt",
"url": "https://www.handelsblatt.com/politik/international/nahost-wie-der-iran-die-usa-in-einen-langen-krieg-verwickeln-koennte-01/100202895.html"
}
],
"article_count": 205,
"fact_check_count": 455,
"created_at": "2026-03-01 03:41:23"
}

Datei anzeigen

@@ -1,154 +0,0 @@
{
"id": 50,
"summary": "## Militaerische Lage\n\nDer US-israelische Krieg gegen den Iran geht am 3. Maerz 2026 in seinen vierten Tag [1]. Die gemeinsame Militaeroperation, die unter dem Namen \"Operation Epic Fury\" laeuft, begann am 28. Februar 2026 [2][3]. Israel bombardiert weiterhin Teheran und Beirut, waehrend die USA umfangreiche Luftangriffe auf iranische Ziele fliegen [1]. Laut Al Jazeera wird das primaere Kriegsziel Israels im Iran zunehmend deutlich: ein Regimewechsel [4]. Berichte ueber einen US-israelischen Plan zur gezielten Toetung des iranischen Oberfuehrers Chamenei wurden veroeffentlicht [5].\n\nDer Konflikt hat sich auf den Libanon ausgeweitet, wo Israel eine Bodenoffensive gestartet hat und die Hisbollah mit Drohnenangriffen auf Israel reagiert [6][7]. Die US-Botschaft in der saudischen Hauptstadt Riad wurde von Drohnen getroffen, woraufhin Trump Vergeltung ankuendigte [8][9]. Trump erklaerte, der Krieg koenne vier bis fuenf Wochen dauern, raeumte aber ein, dass er auch laenger andauern koenne [10]. Zudem gab er an, Israel moeglicherweise zum Erstschlag gegen den Iran gedraengt zu haben [10]. Es werden moegliche Engpaesse beim US-Waffenarsenal diskutiert [11].\n\n## Wirtschaftliche Auswirkungen\n\nDer Iran hat die Strasse von Hormus geschlossen, eine der wichtigsten Schifffahrtsrouten fuer den globalen Oelhandel [12][1]. Der Oelpreis steigt den zweiten Tag in Folge, Brent notiert ueber 83 Dollar [13]. China fordert die Sicherheit der Passage [14]. Die Schliessung trifft insbesondere asiatische Laender hart [15][16].\n\nIn Deutschland sorgt der Konflikt fuer einen Preis-Schock bei Gas, Sprit und Lebensmitteln [17]. Die Oel- und Spritpreise steigen deutlich [18], und die Wirtschaft fuerchtet den naechsten Energiepreis-Schock [19]. Qatars Gasproduktion und -lieferungen sind gestoppt, was Deutschlands Abhaengigkeit offenbart [20]. Oxford Economics warnt vor erheblichen wirtschaftlichen Auswirkungen der Krise [21], und auch die US-Wirtschaft — BIP-Wachstum und Inflationsaussichten — ist bedroht [22].\n\n## Politische Reaktionen und Diplomatie\n\nIran warnt europaeische Staaten vor einem Kriegseintritt [23]. Friedrich Merz reiste zu Trump, wobei der Iran-Konflikt und Zoelle im Fokus standen [24][25]. Die Trump-Regierung aendert laut Berichten das Narrativ zum Krieg, waehrend die Demokraten die Administration scharf angreifen [26]. Kommentatoren sehen im Iran-Krieg einen Bruch zwischen Amerika und Europa [27]. Euronews fordert, Europa muesse sich auf die Zeit nach einem moeglichen Sturz des iranischen Regimes vorbereiten [28]. Der Vatikan warnt vor der Unberechenbarkeit der Konfliktparteien [29].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera (Liveblog)",
"url": "https://www.aljazeera.com/news/liveblog/2026/3/3/iran-live-news-israel-bombs-tehran-beirut-trump-says-war-to-last-4-weeks"
},
{
"nr": 2,
"name": "CNN (Live-News 01.03.)",
"url": "https://www.cnn.com/world/live-news/us-israel-iran-attack-03-01-26-intl"
},
{
"nr": 3,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 4,
"name": "Al Jazeera (Kriegsziel)",
"url": "https://www.aljazeera.com/news/2026/3/3/as-bombing-continues-israels-war-aim-in-iran-becomes-clear-regime-change"
},
{
"nr": 5,
"name": "Al Jazeera (Chamenei-Plan)",
"url": "https://www.aljazeera.com/news/2026/3/3/inside-the-us-israel-plan-to-assassinate-irans-khamenei"
},
{
"nr": 6,
"name": "Al Jazeera (Libanon)",
"url": "https://www.aljazeera.com/news/2026/3/3/israel-strikes-lebanons-beirut-again-hezbollah-launches-drones-at-israel"
},
{
"nr": 7,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 8,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/angriffe-auf-golfstaaten-us-botschaft-in-saudi-arabien-getroffen--trump-kundigt-vergeltung-an-10586281.html"
},
{
"nr": 9,
"name": "NPR",
"url": "https://www.npr.org/2026/03/03/nx-s1-5732968/iran-us-trump-war"
},
{
"nr": 10,
"name": "Euronews (Trump)",
"url": "https://www.euronews.com/2026/03/03/trump-says-iran-war-could-last-four-to-five-weeks-but-could-go-far-longer"
},
{
"nr": 11,
"name": "ZDF heute (Waffenarsenal)",
"url": "https://www.zdfheute.de/politik/ausland/lanz-iran-krieg-nahost-usa-waffenarsenal-100.html"
},
{
"nr": 12,
"name": "Al Jazeera (Hormus)",
"url": "https://www.aljazeera.com/economy/2026/3/3/shutdown-of-hormuz-strait-raises-fears-of-soaring-oil-prices"
},
{
"nr": 13,
"name": "CNBC (Oelpreis)",
"url": "https://www.cnbc.com/2026/03/03/crude-oil-prices-today-iran-war.html"
},
{
"nr": 14,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/ticker-israel-gaza-nahost-news-156-872658086267"
},
{
"nr": 15,
"name": "SRF",
"url": "https://www.srf.ch/news/international/im-zeitraffer-die-strasse-von-hormus-steht-still-asien-trifft-es-hart"
},
{
"nr": 16,
"name": "CNBC (Hormus Laender)",
"url": "https://www.cnbc.com/2026/03/03/strait-of-hormuz-closure-which-countries-will-be-hit-the-most.html"
},
{
"nr": 17,
"name": "Euronews DE (Preise)",
"url": "https://de.euronews.com/2026/03/03/gas-sprit-lebensmittel-iran-krieg-deutschland-preis-schock"
},
{
"nr": 18,
"name": "ZDF heute (Spritpreise)",
"url": "https://www.zdfheute.de/politik/deutschland/iran-krieg-wirtschaft-oelpreise-spritpreise-benzin-diesel-100.html"
},
{
"nr": 19,
"name": "Tagesspiegel (Wirtschaft)",
"url": "https://www.tagesspiegel.de/politik/krieg-im-iran-erlebt-deutschlands-wirtschaft-jetzt-den-nachsten-energiepreis-schock-15310813.html"
},
{
"nr": 20,
"name": "FAZ",
"url": "https://www.faz.net/aktuell/wirtschaft/mehr-wirtschaft/iran-krise-qatars-gas-stopp-zeigt-deutschlands-abhaengigkeit-110847155.html"
},
{
"nr": 21,
"name": "Oxford Economics",
"url": "https://www.oxfordeconomics.com/iran-conflict-us-israel-iran-war-2026/"
},
{
"nr": 22,
"name": "Euronews (US-BIP)",
"url": "https://www.euronews.com/business/2026/03/03/iran-attacks-threaten-us-gdp-growth-and-inflation-prospects"
},
{
"nr": 23,
"name": "Tagesspiegel (Iran warnt)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/angriffe-auf-golfstaaten-us-botschaft-in-saudi-arabien-getroffen--trump-kundigt-vergeltung-an-10586281.html"
},
{
"nr": 24,
"name": "Presse.Online",
"url": "https://presse.online/2026/03/03/merz-bei-trump-iran-und-zoelle-im-fokus/"
},
{
"nr": 25,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 26,
"name": "CNBC (Trump Narrativ)",
"url": "https://www.cnbc.com/2026/03/03/trump-iran-shifting-narrative-us-war.html"
},
{
"nr": 27,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
},
{
"nr": 28,
"name": "Euronews DE (Europa)",
"url": "https://de.euronews.com/2026/03/03/iran-europa-regime-trump"
},
{
"nr": 29,
"name": "Vatican News",
"url": "https://www.vaticannews.va/de/vatikan/news/2026-03/iran-konflikt-krieg-zerstoerung-parteien-unberechenbarkeit.html"
}
],
"article_count": 393,
"fact_check_count": 759,
"created_at": "2026-03-03 22:03:52"
}

Datei anzeigen

@@ -1,149 +0,0 @@
{
"id": 57,
"summary": "## Militärische Lage\n\nDer bewaffnete Konflikt zwischen den USA, Israel und dem Iran ist am 3. März 2026 in seinen vierten Tag eingetreten [1]. Die US-israelischen Angriffe auf iranische Ziele dauern an, wobei Israel offenbar einen Regimewechsel im Iran als Kriegsziel verfolgt [2]. Al Jazeera berichtet über einen US-israelischen Plan zur gezielten Tötung des iranischen Obersten Führers Chamenei [3]. US-Präsident Trump erklärte, der Krieg könne vier bis fünf Wochen dauern, möglicherweise aber auch deutlich länger [4].\n\nDer Konflikt weitet sich regional aus: Die US-Botschaft in Saudi-Arabien wurde von Drohnen getroffen, woraufhin Trump Vergeltung ankündigte [5][6]. Im Libanon hat Israel eine Bodenoffensive gestartet, die Hisbollah ist in den Konflikt eingetreten und greift Israel mit Drohnen an [7][8]. Die Bedrohung durch den Konflikt hat sich innerhalb von 72 Stunden im gesamten Nahen Osten ausgebreitet [9].\n\n## Wirtschaftliche Auswirkungen\n\nDer Iran hat die Straße von Hormus blockiert, eine der wichtigsten Seehandelsrouten für den globalen Ölhandel [10]. Der Brent-Ölpreis ist auf über 83 Dollar gestiegen [11]. Besonders asiatische Länder sind von der Blockade betroffen [12], aber auch die Weltwirtschaft insgesamt steht unter Druck — die Iran-Angriffe bedrohen laut Analysten das US-BIP-Wachstum und verschärfen die Inflationsaussichten [13]. Oxford Economics hat die wirtschaftlichen Auswirkungen des Konflikts analysiert [14].\n\nIn Deutschland schlagen die Folgen bereits durch: Öl- und Spritpreise steigen deutlich [15], und Gas, Sprit sowie Lebensmittel werden spürbar teurer [16]. Die FAZ berichtet, dass Qatars Gasproduktion und -lieferungen durch den Konflikt gestoppt wurden, was Deutschlands anhaltende Energieabhängigkeit offenbart [17]. Der Tagesspiegel warnt vor einem erneuten Energiepreisschock für die deutsche Wirtschaft [18].\n\n## Politische Reaktionen und Diplomatie\n\nDer designierte Bundeskanzler Friedrich Merz gab bereits am 1. März ein Pressestatement zum Iran ab [19] und traf sich am 3. März mit Trump, wobei Iran und Zölle im Fokus standen [20]. Der Iran warnte europäische Staaten vor einem Kriegseintritt [21]. Die Trump-Regierung änderte unterdessen ihr Narrativ zum US-Krieg im Iran, was Kritik der Demokraten auslöste [22].\n\nChina forderte die Sicherheit der Straße von Hormus [23]. Euronews kommentiert, Europa müsse sich auf die Zeit nach einem möglichen Sturz des iranischen Regimes vorbereiten [24]. Der New Statesman sieht im Iran-Krieg den endgültigen Bruch zwischen Amerika und Europa [25]. Experten bei ZDF Lanz diskutierten mögliche Engpässe im US-Waffenarsenal [26].\n\n## Völkerrechtliche Einordnung\n\nLegal Tribune Online analysierte die völkerrechtliche Dimension und argumentiert, dass ein gewaltsamer Regimewechsel im Iran unzulässig sei [27]. Papst Franziskus äußerte sich über Vatican News besorgt über die Unberechenbarkeit der Konfliktparteien [28].",
"sources_json": [
{
"nr": 1,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/what-we-know-on-day-four-of-us-israeli-attacks-on-iran"
},
{
"nr": 2,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/as-bombing-continues-israels-war-aim-in-iran-becomes-clear-regime-change"
},
{
"nr": 3,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/inside-the-us-israel-plan-to-assassinate-irans-khamenei"
},
{
"nr": 4,
"name": "Euronews",
"url": "https://www.euronews.com/2026/03/03/trump-says-iran-war-could-last-four-to-five-weeks-but-could-go-far-longer"
},
{
"nr": 5,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/angriffe-auf-golfstaaten-us-botschaft-in-saudi-arabien-getroffen--trump-kundigt-vergeltung-an-10586281.html"
},
{
"nr": 6,
"name": "NPR",
"url": "https://www.npr.org/2026/03/03/nx-s1-5732968/iran-us-trump-war"
},
{
"nr": 7,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/news/2026/3/3/israel-strikes-lebanons-beirut-again-hezbollah-launches-drones-at-israel"
},
{
"nr": 8,
"name": "Foreign Policy",
"url": "https://foreignpolicy.com/2026/03/02/us-israel-iran-war-military-strikes-operation-epic-fury-trump-hezbollah-khamenei/"
},
{
"nr": 9,
"name": "Washington Post",
"url": "https://www.washingtonpost.com/world/2026/03/02/mideast-iran-israel-war-civilians/"
},
{
"nr": 10,
"name": "Al Jazeera",
"url": "https://www.aljazeera.com/economy/2026/3/3/shutdown-of-hormuz-strait-raises-fears-of-soaring-oil-prices"
},
{
"nr": 11,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/crude-oil-prices-today-iran-war.html"
},
{
"nr": 12,
"name": "SRF",
"url": "https://www.srf.ch/news/international/im-zeitraffer-die-strasse-von-hormus-steht-still-asien-trifft-es-hart"
},
{
"nr": 13,
"name": "Euronews",
"url": "https://www.euronews.com/business/2026/03/03/iran-attacks-threaten-us-gdp-growth-and-inflation-prospects"
},
{
"nr": 14,
"name": "Oxford Economics",
"url": "https://www.oxfordeconomics.com/iran-conflict-us-israel-iran-war-2026/"
},
{
"nr": 15,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/deutschland/iran-krieg-wirtschaft-oelpreise-spritpreise-benzin-diesel-100.html"
},
{
"nr": 16,
"name": "Euronews DE",
"url": "https://de.euronews.com/2026/03/03/gas-sprit-lebensmittel-iran-krieg-deutschland-preis-schock"
},
{
"nr": 17,
"name": "FAZ",
"url": "https://www.faz.net/aktuell/wirtschaft/mehr-wirtschaft/iran-krise-qatars-gas-stopp-zeigt-deutschlands-abhaengigkeit-110847155.html"
},
{
"nr": 18,
"name": "Tagesspiegel",
"url": "https://www.tagesspiegel.de/politik/krieg-im-iran-erlebt-deutschlands-wirtschaft-jetzt-den-nachsten-energiepreis-schock-15310813.html"
},
{
"nr": 19,
"name": "CDU",
"url": "https://www.cdu.de/aktuelles/aussenpolitik/pressestatement-friedrich-merz-zum-iran/"
},
{
"nr": 20,
"name": "Presse.Online",
"url": "https://presse.online/2026/03/03/merz-bei-trump-iran-und-zoelle-im-fokus/"
},
{
"nr": 21,
"name": "Tagesspiegel (Liveblog)",
"url": "https://www.tagesspiegel.de/internationales/liveblog/angriffe-auf-golfstaaten-us-botschaft-in-saudi-arabien-getroffen--trump-kundigt-vergeltung-an-10586281.html"
},
{
"nr": 22,
"name": "CNBC",
"url": "https://www.cnbc.com/2026/03/03/trump-iran-shifting-narrative-us-war.html"
},
{
"nr": 23,
"name": "Tages-Anzeiger",
"url": "https://www.tagesanzeiger.ch/ticker-israel-gaza-nahost-news-156-872658086267"
},
{
"nr": 24,
"name": "Euronews DE",
"url": "https://de.euronews.com/2026/03/03/iran-europa-regime-trump"
},
{
"nr": 25,
"name": "New Statesman",
"url": "https://www.newstatesman.com/world/americas/north-america/us/2026/03/iran-has-made-it-official-america-is-breaking-with-europe"
},
{
"nr": 26,
"name": "ZDF heute",
"url": "https://www.zdfheute.de/politik/ausland/lanz-iran-krieg-nahost-usa-waffenarsenal-100.html"
},
{
"nr": 27,
"name": "Legal Tribune Online",
"url": "https://www.lto.de/recht/hintergruende/h/usa-israel-angriffe-iran-voelkerrecht-gewaltverbot"
},
{
"nr": 28,
"name": "Vatican News",
"url": "https://www.vaticannews.va/de/vatikan/news/2026-03/iran-konflikt-krieg-zerstoerung-parteien-unberechenbarkeit.html"
}
],
"article_count": 398,
"fact_check_count": 769,
"created_at": "2026-03-03 23:03:57"
}

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen