26 Commits

Autor SHA1 Nachricht Datum
claude-dev
0492b11cf4 Testzugang: Freemail nicht mehr blockieren, nur Hinweis anzeigen
Alle plausiblen E-Mail-Adressen werden jetzt akzeptiert. Bei einer
Freemail-Adresse erscheint weiterhin der Hinweis, dass fuer einen
Testzugang ausschliesslich dienstliche Adressen von Behoerden oder
Unternehmen beruecksichtigt werden, aber die Anfrage wird nicht mehr
abgewiesen. Hinweis wird als tf-note-warn (Hinweis) statt tf-note-error
(Fehler) dargestellt, kein aria-invalid mehr. Texte de/en und
Modal-Subline entsprechend als Hinweis formuliert.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 10:51:51 +02:00
claude-dev
457f64ef0d Testzugang-Modal: Feld-Layout, Zulassungstext und State-Reset
- Formularfelder im Modal sauber ausgerichtet: Inputs einer Reihe per
  align-items:end buendig, fragiler min-height-Label-Hack entfernt,
  optional-Hinweise brechen nicht mehr unschoen um.
- Zulassungstext praezisiert: ausschliesslich dienstliche Adressen von
  Behoerden oder Unternehmen (de + en, Modal-Subline + Meldung).
- Datenschutz-Fix: Formular wird beim Oeffnen des Modals zurueckgesetzt
  (Felder, Erfolgsmeldung, Fehler), damit kein Nutzer die Eingaben eines
  vorherigen sieht.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 10:48:39 +02:00
AegisSight
d5851d8d99 Behoerde und Funktion optional, Pflichtfelder greifen jetzt wirklich
Behoerde oder Organisation und Funktion oder Dienststelle sind optional,
in beiden Sprachen mit Hinweis am Feld. Pflicht bleiben Name, dienstliche
E-Mail und die Einwilligung.

Dabei aufgefallen, das Formular traegt novalidate, damit die
Browsermeldungen die eigene Pruefung nicht ueberlagern. Die Pflichtfelder
wurden dadurch bisher gar nicht erzwungen, ein leerer Name waere
durchgegangen. Die Pruefung liegt jetzt im Skript, mit Meldung und Fokus
auf dem betroffenen Feld. Der Name steht ausserdem mit in der
Anfrage-Mail, da die Organisation leer bleiben kann.
2026-07-22 23:01:23 +02:00
AegisSight
55b3b6b247 Unterseite Testzugang entfernt, alles laeuft ueber das Popup
Die Seiten /testzugang/ und /en/trial-access/ sind geloescht. Alle
Einstiege oeffnen jetzt das Anfrage-Popup, also der Knopf oben rechts,
der Knopf im Kontakt-Abschnitt, die FAQ-Antwort zum Zugang und der
Footer-Link. Die Hinweiszeile auf die Unterseite ist aus dem Popup raus.

Der obere Knopf der sechs Loesungsseiten zeigt auf den Kontakt-Abschnitt
der jeweiligen Startseite. Sitemap, llms.txt und die FAQ-Daten fuer
Suchmaschinen enthalten keine Verweise mehr auf die geloeschten Adressen.
Tote Zweige in trial-form.js entfernt, da Thema, Startwunsch und
Nutzerzahl als Felder entfallen sind.
2026-07-22 22:28:26 +02:00
AegisSight
1465104d8c Feld fuer die geplante Nutzerzahl entfernt, im Popup und auf beiden Testzugang-Seiten 2026-07-22 22:17:39 +02:00
AegisSight
434ec96e4e Kontakt-Popup wird zum Testzugang-Formular, nur noch ein Knopf
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.
2026-07-22 22:11:32 +02:00
AegisSight
893a3feb3d Testzugang: eigene Anfrageseite DE+EN und Einstiege auf der Startseite
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.
2026-07-22 21:42:55 +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
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
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
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
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
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
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
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
936d3971c9 Website-Update: Lagebild-Sektion, Impressum/Datenschutz-Updates, Video-Assets via LFS
- 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>
2026-03-07 02:40:13 +01:00
Claude Code
e7e884d2ed Design-Optimierung: Konsistentes Token-System, professionellere Animationen, Navy+Gold Farbschema
- CSS Custom Properties konsolidiert: Neues Token-System mit Navy/Gold Logo-Farben,
  Spacing-Grid (8px), Border-Radius und Z-Index Skala
- Unprofessionelle Animationen entfernt: Glitch, Neon, Morph, Orbit, Ripple
- PulseGlow und Shimmer dezenter gemacht (Gold-Akzente)
- Typografie: Inter als Hauptschrift, Bebas Neue nur für Hero-Titel
- Section-Konsistenz: Hero/Products auf Navy (#0A1832), Footer auf Navy-Dark
- Gold-Akzente in Products (Hover-Border, Feature-Bullets, Learn-More Button)
- Footer-Links mit Gold-Hover
- Card-Hover-Effekte subtiler (translateY -4px statt -10px + scale)
- Cookie-Consent auf globale Tokens umgestellt
- Mobile: Navy-BG, Gold-Hover statt Cyan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 21:55:54 +00:00
Claude Code
a61fab12e6 Backup: Stand vor Design-Optimierung (2026-02-16) 2026-02-16 21:20:16 +00:00
Claude Code
afe25fc728 Add DSGVO-compliant cookie consent banner and fix navbar consistency
- Implement custom cookie consent banner with opt-in gating pattern
- Add comprehensive privacy documentation (DSGVO/GDPR compliant)
- Integrate consent management into production (index.html)
- Add multilingual support for cookie settings (DE/EN)
- Fix navbar font-size inconsistency across legal pages
- Include mobile.css in datenschutz.html and impressum.html
- Add complete implementation documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 19:45:31 +00:00
Claude Code
781216cd26 Clean up dead code and unused assets
- 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>
2025-09-05 21:13:04 +00:00
Claude Code
21a0ba0757 Update imprint data and remove trust indicators
- 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>
2025-09-05 21:07:24 +00:00
Claude Project Manager
0f67521eb3 Add CSS, JS and asset files (without videos) 2025-08-17 14:16:58 +02:00