Im Kontakt-Abschnitt steht nur noch "Testzugang anfragen" und oeffnet
das Popup. Darin liegt jetzt das Testzugang-Formular ohne die Frage nach
dem Thema, also Name, Behoerde, Funktion, Telefon, dienstliche E-Mail und
Nutzerzahl. Die Freemail-Sperre und die Erkennung von Behoerdendomains
greifen dort genauso wie auf der Seite.
Wer zuerst eine Frage hat, findet unter dem Knopf einen direkten
Mail-Hinweis. Das alte submitContact in app.js entfaellt, beide Formulare
laufen ueber js/trial-form.js. Die gemeinsamen Formular-Styles liegen
jetzt in css/style.css statt doppelt in den Seiten.
Neue Seite /testzugang/ und Spiegel /en/trial-access/ mit Anfrageformular
fuer einen einwoechigen Testzugang. Pflicht ist eine dienstliche
E-Mail-Adresse, Freemail- und Wegwerf-Anbieter werden abgewiesen,
Behoerden- und Organisationsdomains werden erkannt und in der
Anfrage-Mail gekennzeichnet.
Spamschutz ohne Drittanbieter, also Honeypot-Feld und Zeitfalle statt
Captcha, damit kein externer Dienst eingebunden werden muss. Der Versand
laeuft ueber den bestehenden Endpunkt /api/contact, die Zusatzfelder
stehen strukturiert im Nachrichtentext.
Einstiege auf der Startseite DE+EN, also Knopf in der Navigation, zwei
Knoepfe im Kontakt-Abschnitt, Verlinkung der FAQ-Antwort zum Zugang und
ein Footer-Link. Der Hero-Knopf der sechs Loesungsseiten zeigt jetzt
ebenfalls auf die Testzugang-Seite. Sitemap und llms.txt ergaenzt.
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>
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>
- 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>
- /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>
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>
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>
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.
- 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>
- 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>
- Lagebild-Dashboard mit Snapshot-Daten hinzugefuegt
- Impressum und Datenschutz (DE/EN) aktualisiert
- Uebersetzungen in translations.js erweitert
- Video-Dateien als LFS-Objekte aktualisiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove trust-indicators JavaScript animations from animations-enhanced.js
- Clean up translation keys for removed indicator elements
- Remove selector references from config.js
- Fix missing video reference (hero-tech-pattern.mp4)
- Remove massive unused CSS sections: timeline, digital-beat, neural network viz
- Reduce animations.css from 2669 to 272 lines (90% size reduction)
This removes code that was referencing non-existent HTML elements
and large unused visual effects from previous design iterations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix impressum.html with correct HRB 110105 and Amtsgericht Düsseldorf
- Add English versions of legal pages (impressum-en.html, datenschutz-en.html)
- Correct company representatives to Hendrik Gebhardt & Monami Homma
- Remove incorrect Marlon Paulse references and Wiesenstraße address
- Remove trust-indicators section from website (HTML, CSS, JS)
- Add mobile.css and related mobile navigation files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>