presseportale/database/migrations
Kevin Adametz 05535aac37 auth: fehlgeschlagene Anmeldungen mit Einstieg (livewire/fortify/two-factor); unbekannte Adressen als Tageszähler statt Verlaufseintrag, Kachel im Systemstatus, Löschfrist 90 Tage
Auf Live kamen seit dem 05.10. rund 250 Versuche am Tag aus über 50 Quellen,
alle mit unbekannter Adresse — verteiltes Durchprobieren fremder
Zugangsdaten, das im Verlauf die relevanten Einträge verdeckte. Neue Tabelle
failed_login_tallies (Tag × Einstieg × IP-Hash), model:prune täglich 04:05.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 15:30:29 +00:00
..
0001_01_01_000000_create_users_table.php first commit 2025-10-20 17:53:02 +02:00
0001_01_01_000001_create_cache_table.php first commit 2025-10-20 17:53:02 +02:00
0001_01_01_000002_create_jobs_table.php first commit 2025-10-20 17:53:02 +02:00
2025_07_21_124334_add_two_factor_columns_to_users_table.php first commit 2025-10-20 17:53:02 +02:00
2025_07_21_124345_create_personal_access_tokens_table.php first commit 2025-10-20 17:53:02 +02:00
2026_04_23_163135_expand_users_table_for_migration_2026.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_163251_create_permission_tables.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_163305_create_magic_links_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_163305_create_profiles_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_164018_create_companies_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_164018_create_company_user_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_164018_create_contacts_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_170557_create_categories_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_170557_create_category_translations_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_171000_create_press_releases_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_171001_create_press_release_images_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_171002_create_press_release_contact_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_172142_create_newsletter_subscriptions_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_174502_create_billing_addresses_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_174502_create_invoice_billing_addresses_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_174844_create_payment_options_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_174846_create_payment_option_translations_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175304_create_user_payment_options_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175305_create_user_payment_option_company_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175306_create_user_payments_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175631_create_invoices_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175632_create_legacy_invoices_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_23_175633_create_legacy_import_map_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_24_120000_create_user_filter_presets_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_24_183000_create_contact_user_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_27_115212_expand_phone_fax_columns.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_28_142555_create_admin_presets_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_29_132601_create_api_usage_logs_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_29_132809_add_admin_performance_indexes.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_04_29_140616_add_admin_search_fulltext_indexes.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_05_04_112430_create_footer_codes_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_05_04_115118_create_press_release_status_logs_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_05_04_122603_add_legacy_pdf_payload_to_legacy_invoices_table.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
2026_05_20_143424_add_boilerplate_to_companies.php create PM v0.5 2026-05-20 19:14:39 +02:00
2026_05_20_143424_add_phase7_fields_to_press_releases.php create PM v0.5 2026-05-20 19:14:39 +02:00
2026_05_20_143424_create_press_release_attachments_table.php create PM v0.5 2026-05-20 19:14:39 +02:00
2026_05_21_180700_add_customer_press_kit_index_performance_indexes.php 22-05-2026 Optimierung der User und Admin Panels 2026-05-22 11:18:59 +02:00
2026_05_29_130110_add_placeholder_variant_to_press_releases.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_05_29_130849_add_license_fields_to_press_release_images.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_05_29_134459_add_press_release_quota_to_users.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_06_10_154249_add_rights_detail_fields_to_press_release_images_table.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_06_11_131506_add_classification_to_press_releases.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_06_11_131506_create_ki_audits_table.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_06_11_150538_add_content_score_to_press_releases.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
2026_06_12_100632_create_customer_columns.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100633_create_subscriptions_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100634_create_subscription_items_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100635_add_meter_id_to_subscription_items_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100636_add_meter_event_name_to_subscription_items_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100724_create_invoice_number_sequences_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100724_create_plans_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_100724_create_single_purchases_table.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
2026_06_12_105216_add_vat_fields_for_billing.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00
2026_06_12_115633_drop_press_release_quota_stub_from_users.php Phase 9E (Abschluss): Checkout-Flows und Plan-Kontingent statt Quota-Stub 2026-06-12 12:10:32 +00:00
2026_06_12_142356_extend_billing_addresses_with_person_and_company.php User-Panel-Restarbeiten: PM-Guard, Profil-Rework, USt-ID-Prüfung, Buchungspflicht-Adresse 2026-06-12 14:36:18 +00:00
2026_06_12_160000_add_is_ai_generated_to_press_release_images.php KI-generierte Bilder: eigener Lizenztyp, Anbieter-Bestätigung, Kennzeichnung 2026-06-12 16:04:12 +00:00
2026_06_15_101337_backfill_email_verified_at_for_existing_users.php WS-6: E-Mail-Verifizierung, Auth-Flow-Fixes & Legacy-Rollen-Sicherheitsfix 2026-06-16 08:16:41 +00:00
2026_06_16_080913_downgrade_legacy_editor_users_to_customer.php WS-6: E-Mail-Verifizierung, Auth-Flow-Fixes & Legacy-Rollen-Sicherheitsfix 2026-06-16 08:16:41 +00:00
2026_06_16_103238_add_oauth_provider_columns_to_users.php WS-6: Google-Login via Laravel Socialite 2026-06-16 10:39:19 +00:00
2026_06_16_134458_create_legal_requests_table.php WS-3: Recht & Compliance – Rechts-Kern (DSGVO/Persönlichkeitsrecht/Melden + Queue) 2026-06-16 14:20:05 +00:00
2026_06_17_141218_create_credit_wallets_table.php Credit-Wallet + Ledger + Tier-Preisableitung (Fundament) 2026-06-17 14:16:43 +00:00
2026_06_17_141219_create_credit_transactions_table.php Credit-Wallet + Ledger + Tier-Preisableitung (Fundament) 2026-06-17 14:16:43 +00:00
2026_06_17_141703_create_review_checks_table.php Pruefzaehler + Pruefkontingent (Decision-Update Phase-2 vorgezogen) 2026-06-17 14:19:37 +00:00
2026_06_17_142008_create_boosts_table.php Boost-Geschaeftslogik (Decision-Update 2.2) 2026-06-17 14:22:12 +00:00
2026_06_17_145303_create_credit_topups_table.php Wallet-Topup ueber Stripe (Credit-Pakete mit Bonus-Staffel) 2026-06-17 14:56:23 +00:00
2026_06_18_183248_add_benefits_to_plans_table.php Paket-Vorteile: dynamische, im Admin pflegbare Vorteilsliste je Tarif 2026-06-18 16:36:09 +00:00
2026_07_03_115818_create_withdrawal_requests_table.php Recht: Online-Widerruf ohne Login (gesetzlicher Widerrufsbutton) - Backend 2026-07-03 10:03:37 +00:00
2026_07_03_132503_create_termination_requests_table.php Recht: Kuendigungsbutton nach Par. 312k BGB - Backend + Admin-Queue 2026-07-03 11:32:43 +00:00
2026_07_03_133618_add_withdrawal_waiver_to_press_releases.php Recht: Erloeschensklausel-Checkbox im Publikationsflow (Par. 356 BGB) 2026-07-03 11:41:31 +00:00
2026_07_03_180922_create_booking_confirmations_table.php T1neu: Unternehmer-Pflicht-Checkbox im Checkout, protokolliert mit AGB-Version 2026-07-03 16:17:59 +00:00
2026_07_06_111754_create_legal_documents_table.php E3: Rechtstext-Versionierung in der DB (legal_documents) 2026-07-06 09:21:52 +00:00
2026_07_06_111755_add_legal_document_id_to_booking_confirmations_table.php E3: Rechtstext-Versionierung in der DB (legal_documents) 2026-07-06 09:21:52 +00:00
2026_07_06_112202_create_rejection_categories_table.php Ablehnungskategorien live aus der DB (rejection_categories) 2026-07-06 09:25:16 +00:00
2026_07_06_113811_add_depublished_at_to_press_releases_table.php T12: Depublikations-Checkout mit Tombstone (config-gated) 2026-07-06 09:46:25 +00:00
2026_07_06_162634_create_contact_messages_table.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
2026_07_07_121625_add_web_search_fulltext_index_to_press_releases.php Suche: Volltext-Index + Fix fuer doppelte Alpine-Instanz 2026-07-07 13:03:14 +00:00
2026_07_07_124816_add_pending_email_to_users_table.php QA-Befunde A4: 2FA-Bestätigungsschritt + sicherer E-Mail-Wechsel 2026-07-07 10:53:24 +00:00
2026_07_07_153200_add_scheduled_change_to_subscriptions_table.php Downgrades ohne Gutschrift: Tarifwechsel nach unten erst zum Periodenende 2026-07-07 13:38:57 +00:00
2026_07_07_155322_add_web_archive_indexes_to_press_releases_table.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
2026_07_07_165034_add_depublication_to_single_purchases_type_enum.php single_purchases: type-ENUM um depublication erweitern 2026-07-07 14:51:56 +00:00
2026_07_08_111908_add_agency_name_to_users_table.php Profilfeld users.agency_name für Übermittler-Attribution 2026-07-08 09:20:32 +00:00
2026_07_08_172023_add_ai_declaration_to_press_releases.php KI-Kennzeichnung (Art. 50 KI-VO): Pflicht-Deklaration für Text & Bilder 2026-07-09 13:54:43 +00:00
2026_07_08_172023_create_press_release_ai_declarations_table.php KI-Kennzeichnung (Art. 50 KI-VO): Pflicht-Deklaration für Text & Bilder 2026-07-09 13:54:43 +00:00
2026_07_08_172113_backfill_ai_declaration_on_press_release_images.php KI-Kennzeichnung (Art. 50 KI-VO): Pflicht-Deklaration für Text & Bilder 2026-07-09 13:54:43 +00:00
2026_07_10_114915_create_press_release_events_table.php PM-Tracking: Ereignis-Log fuer Aufrufe + Shares (press_release_events) 2026-07-10 09:56:42 +00:00
2026_07_10_154103_create_email_notification_opt_outs_table.php E-Mail-Praeferenzen: Opt-out je Mail-Typ + One-Click-Unsubscribe ohne Login 2026-07-10 17:15:05 +00:00
2026_07_10_155535_create_app_settings_table.php Legacy-API-Paritaet S1+S2: connektar-Flow verhaltensgleich + KI-Schalter 2026-07-10 14:09:40 +00:00
2026_07_13_140855_add_placement_to_boosts_table.php Boost-Slot-Grenzen (5/3) + Kategorie-Boost zum halben Satz 2026-07-13 12:28:03 +00:00
2026_07_14_125600_create_boost_slot_locks_table.php billing: Nebenläufigkeit & Idempotenz härten (H4, Stripe, Boost-Slots) 2026-07-14 13:47:21 +00:00
2026_07_14_125700_add_unique_stripe_invoice_id_to_invoices_table.php billing: Nebenläufigkeit & Idempotenz härten (H4, Stripe, Boost-Slots) 2026-07-14 13:47:21 +00:00
2026_07_14_125841_add_scheduled_publication_index_to_press_releases_table.php press-releases: Publish-Rechte, Quota-Races & Slug vereinheitlichen 2026-07-14 13:47:51 +00:00
2026_07_15_174809_create_activity_events_table.php admin: Aktivitäts-Verlauf unter Reports ▸ Verlauf 2026-07-15 16:00:58 +00:00
2026_07_20_120000_add_feed_order_index_to_press_releases_table.php web: Startseiten-Feed cachen + Index gegen Filesort der Feed-Query 2026-07-20 14:53:09 +00:00
2026_07_21_111646_create_newsletter_campaign_tables.php admin: internes Newsletter-Modul mit Filtern, Protokoll und Abmeldung 2026-07-21 09:26:57 +00:00
2026_07_22_151506_add_sync_lock_to_press_releases_table.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
2026_07_22_151507_add_meldeverfahren_fields_to_legal_requests_table.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
2026_07_22_151507_create_press_release_redaction_snapshots_table.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
2026_07_22_171134_add_report_purpose_to_magic_links_table.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
2026_07_23_113508_add_change_to_single_purchases_type_enum.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
2026_08_25_120000_seed_press_release_view_watermark.php technik: Aufrufe über ein Ereignis-Log zählen statt im Request 2026-09-01 11:05:28 +00:00
2026_08_25_140000_create_press_release_search_table.php technik: Volltext-Indizes von press_releases in eine eigene Suchtabelle auslagern 2026-09-01 11:04:43 +00:00
2026_08_25_150000_drop_fulltext_indexes_from_press_releases.php technik: Volltext-Indizes von press_releases in eine eigene Suchtabelle auslagern 2026-09-01 11:04:43 +00:00
2026_08_25_160000_add_gone_at_to_companies_and_press_releases_tables.php web: Entfernung mit 410 Gone als Alternative zur Löschung 2026-09-01 11:06:35 +00:00
2026_09_01_090000_add_gone_restore_state_to_companies_and_press_releases_tables.php web: Entfernung mit 410 Gone als Alternative zur Löschung 2026-09-01 11:06:35 +00:00
2026_09_01_091000_add_email_index_to_companies_table.php db: Index auf companies.email 2026-09-01 11:08:06 +00:00
2026_09_01_100000_create_conversion_events_table.php conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
2026_09_01_100100_add_source_to_magic_links_table.php conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
2026_09_11_100000_create_company_email_groups_table.php companies: Adress-Klassifizierung persistieren (Roadmap 1a.2, E1 = 3) 2026-09-11 09:11:09 +00:00
2026_09_15_100000_create_company_merges_tables.php companies: Zusammenführung im Bestand, rückabwickelbar (Roadmap 1a.3) 2026-09-15 08:43:46 +00:00
2026_09_15_120000_create_email_suppressions_tables.php mail: zentrale Bounce-Suppression mit Versand-Gate und Circuit Breaker (Roadmap 1b.6, Schritte 1–2) 2026-09-15 13:48:56 +00:00
2026_09_16_100000_create_email_domain_checks_table.php mail: Kontakterreichbarkeit - Formpruefung, Domainpruefung, Einlieferer-Bericht 2026-09-16 09:22:39 +00:00
2026_09_16_120000_add_dunning_columns_to_invoices_table.php billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
2026_09_16_140000_add_manual_review_gate_to_press_releases_table.php press-releases: begrenzter Pruefkreislauf mit Admin-Queue (Roadmap 1d.4, E3) 2026-09-16 14:30:26 +00:00
2026_09_18_090000_create_press_release_crawler_hits_table.php web: Crawler-Abruf-Protokoll und Panel „Auslieferung" ohne Google-Link (Anhang 1: 1c.0, 1c.1, 1c.6) 2026-09-17 14:21:35 +00:00
2026_09_18_090100_create_press_release_index_checks_table.php admin: Indexierungsstatus aus der Search Console, Kundenansicht vorbereitet und zu (Anhang 1: 1c.4, E8) 2026-09-17 14:21:51 +00:00
2026_09_18_100000_add_content_hash_and_canonical_to_press_releases_table.php web: Doppelveröffentlichung — Prüfsumme, kanonische Zuordnung (aus bis E9), Quellenauskunft, noindex im Portal (Anhang 2) 2026-09-17 16:09:16 +00:00
2026_09_18_100100_add_user_canonical_to_press_release_index_checks_table.php web: Doppelveröffentlichung — Prüfsumme, kanonische Zuordnung (aus bis E9), Quellenauskunft, noindex im Portal (Anhang 2) 2026-09-17 16:09:16 +00:00
2026_09_18_110000_add_unique_user_to_newsletter_campaign_recipients_table.php security/api/betrieb: Fortify-2FA-Nebenwege gesperrt, Policy nur für aktive Super-Admins, Nachprüfungen aus dem Umsetzungsaudit (Block 7, U08–U10, U13, 7.1, 7.2, 7.5) 2026-09-18 12:03:04 +00:00
2026_09_18_150000_add_granted_via_to_company_user_table.php auth: automatische Firmenrechte mit Herkunft und Entzug, Nachweis vor Sicherheitsaktionen (Audit Block 1, Deploy C) 2026-09-18 10:19:28 +00:00
2026_09_18_160000_add_email_index_to_contacts_table.php web/api/ki: Soft Deletes wieder wirksam, Caches bei Firmenwechsel, KI-Ergebnis an Inhalt gebunden (Audit Block 3+4, Deploy D) 2026-09-18 10:40:48 +00:00
2026_09_18_170000_add_content_hash_to_ki_audits_table.php web/api/ki: Soft Deletes wieder wirksam, Caches bei Firmenwechsel, KI-Ergebnis an Inhalt gebunden (Audit Block 3+4, Deploy D) 2026-09-18 10:40:48 +00:00
2026_09_18_170100_add_quota_period_to_users_table.php web/api/ki: Soft Deletes wieder wirksam, Caches bei Firmenwechsel, KI-Ergebnis an Inhalt gebunden (Audit Block 3+4, Deploy D) 2026-09-18 10:40:48 +00:00
2026_09_18_180000_add_billing_hold_to_user_payment_options_table.php billing/dev: Vertragsende in der MAN-Abrechnung, Rechnungslauf ohne Tageskappe, Qualitätsgates (Audit Block 5+6, Deploy E) 2026-09-18 10:41:04 +00:00
2026_09_18_180100_add_grandfathering_expiry_markers_to_user_payment_options_table.php billing: Vertragsablauf bedingt beenden, Kundenmail nachholbar (Block 7, U11/U12) 2026-09-18 12:03:04 +00:00
2026_09_18_190000_backfill_press_release_quota_period.php ki/quota: Hash-Bindung atomar bis in den Publish-Lock, roter Re-Check lehnt ab, Kontingent-Altbestand (Block 7, U02–U04) 2026-09-18 12:22:22 +00:00
2026_09_21_100000_create_feed_fetches_table.php web: Abruf-Protokoll der RSS-Feeds — Reader-Dienst, gemeldete Abonnenten, Admin-Bericht, Panel (Roadmap 3.1) 2026-09-21 09:00:09 +00:00
2026_09_22_100000_add_rights_v2_fields_to_press_release_images_table.php images: Datenmodell, Textarchiv, Herkunftsprüfung und gemeinsamer Uploader für Formular v2 (Bildkennzeichnung Block A) 2026-09-22 09:22:05 +00:00
2026_09_22_100100_create_legal_texts_table.php images: Datenmodell, Textarchiv, Herkunftsprüfung und gemeinsamer Uploader für Formular v2 (Bildkennzeichnung Block A) 2026-09-22 09:22:05 +00:00
2026_09_22_100200_create_image_rights_confirmations_table.php images: Datenmodell, Textarchiv, Herkunftsprüfung und gemeinsamer Uploader für Formular v2 (Bildkennzeichnung Block A) 2026-09-22 09:22:05 +00:00
2026_09_22_110000_add_published_ever_at_to_press_releases_table.php images: Lebenszyklus — Veröffentlichungsgate, published_ever_at, Snapshot der veröffentlichten Fassung, Sofortlöschung, Legacy-Bereinigung, Beweiszugriff, Korrekturweg (Bildkennzeichnung Block E) 2026-09-22 09:53:49 +00:00
2026_09_22_110100_add_withheld_at_to_press_release_images_table.php images: Lebenszyklus — Veröffentlichungsgate, published_ever_at, Snapshot der veröffentlichten Fassung, Sofortlöschung, Legacy-Bereinigung, Beweiszugriff, Korrekturweg (Bildkennzeichnung Block E) 2026-09-22 09:53:49 +00:00
2026_09_22_110200_create_image_declaration_corrections_table.php images: Lebenszyklus — Veröffentlichungsgate, published_ever_at, Snapshot der veröffentlichten Fassung, Sofortlöschung, Legacy-Bereinigung, Beweiszugriff, Korrekturweg (Bildkennzeichnung Block E) 2026-09-22 09:53:49 +00:00
2026_09_22_120000_create_archive_entries_table.php archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F) 2026-09-22 10:04:21 +00:00
2026_09_22_130000_create_legal_document_acceptances_table.php legal/web: Zustimmungsgate je Dokumentversion (aus bis AGB 0.7), OG-Variante mit eingebranntem Bildnachweis, Nachweis in Teasern (Bildkennzeichnung Blöcke G und H) 2026-09-22 10:12:17 +00:00
2026_09_22_140000_add_precheck_fields_to_press_release_images_table.php images: KI-Vorab-Check für Titelbilder — Vision-Sichtung mit definiertem Ausgang je Befund, Admin-Queue, Protokoll und Archiv-Snapshot (Bildkennzeichnung Block K) 2026-09-22 13:27:31 +00:00
2026_09_22_140100_add_precheck_snapshot_to_image_rights_confirmations_table.php images: KI-Vorab-Check für Titelbilder — Vision-Sichtung mit definiertem Ausgang je Befund, Admin-Queue, Protokoll und Archiv-Snapshot (Bildkennzeichnung Block K) 2026-09-22 13:27:31 +00:00
2026_09_25_153354_add_legal_request_id_to_archive_entries_table.php audit: Nacharbeit Umsetzungsaudit 25.09.2026 — Bildfreigabe, Beweisarchiv, KI-Atomarität, Berichte (Block 8, N01–N05, N07, N08, N10–N21, 5.1, 5.2) 2026-09-25 14:26:49 +00:00
2026_09_25_153355_add_archive_pending_at_to_press_releases_table.php audit: Nacharbeit Umsetzungsaudit 25.09.2026 — Bildfreigabe, Beweisarchiv, KI-Atomarität, Berichte (Block 8, N01–N05, N07, N08, N10–N21, 5.1, 5.2) 2026-09-25 14:26:49 +00:00
2026_09_29_170000_add_content_changed_at_to_press_releases_table.php web/seo: Änderungsdatum unabhängig von Aufrufen, EN-URLs in Sitemap und Legacy-API, signierte Bounce-Referenz, Merge/Canonical konsistent (Umsetzungsaudit 29.09.: R-02 bis R-11, N17, N18, OPT-1, OPT-2; 02.10.: O01) 2026-10-02 13:09:00 +00:00
2026_09_29_170100_add_merged_value_to_company_merge_moves_table.php web/seo: Änderungsdatum unabhängig von Aufrufen, EN-URLs in Sitemap und Legacy-API, signierte Bounce-Referenz, Merge/Canonical konsistent (Umsetzungsaudit 29.09.: R-02 bis R-11, N17, N18, OPT-1, OPT-2; 02.10.: O01) 2026-10-02 13:09:00 +00:00
2026_09_29_180000_add_precheck_withheld_at_to_press_release_images_table.php images: nur freigegebene Bilder in Feed und PDF, versionierte Veröffentlichungssnapshots, Bestätigung an das gezeigte Bild gebunden, getrennte Rückhaltegründe (Umsetzungsaudit 29.09.: B-01 bis B-14, N09, OPT-3 bis OPT-5; 02.10.: O03) 2026-10-02 13:09:01 +00:00
2026_09_29_180100_backfill_precheck_withheld_at_on_press_release_images.php images: nur freigegebene Bilder in Feed und PDF, versionierte Veröffentlichungssnapshots, Bestätigung an das gezeigte Bild gebunden, getrennte Rückhaltegründe (Umsetzungsaudit 29.09.: B-01 bis B-14, N09, OPT-3 bis OPT-5; 02.10.: O03) 2026-10-02 13:09:01 +00:00
2026_09_29_180200_add_image_confirmation_purpose_to_magic_links_table.php auth/security: API-Firmenzuordnung nur für Mitglieder oder Allowlist, Google-Vorabübernahme geschlossen, gemeinsamer Login-Abschluss (Umsetzungsaudit 29.09.: R-01, K-04, K-07, K-08, B-10) 2026-10-02 13:09:00 +00:00
2026_09_29_190000_create_archive_pending_jobs_table.php archive: Auftragstabelle statt Marker, exklusiver Abschluss, Quarantäne, Restore über Payload-Identität und signierte Exporte, Schlüsselrotation (Umsetzungsaudit 29.09.: A-01 bis A-15, OPT-6, 5.1 d; 02.10.: O04, O05, O07, O08) 2026-10-02 13:09:01 +00:00
2026_09_29_190100_add_key_id_and_payload_path_index_to_archive_entries_table.php archive: Auftragstabelle statt Marker, exklusiver Abschluss, Quarantäne, Restore über Payload-Identität und signierte Exporte, Schlüsselrotation (Umsetzungsaudit 29.09.: A-01 bis A-15, OPT-6, 5.1 d; 02.10.: O04, O05, O07, O08) 2026-10-02 13:09:01 +00:00
2026_09_29_190200_add_admin_identity_to_archive_access_log_table.php archive: Auftragstabelle statt Marker, exklusiver Abschluss, Quarantäne, Restore über Payload-Identität und signierte Exporte, Schlüsselrotation (Umsetzungsaudit 29.09.: A-01 bis A-15, OPT-6, 5.1 d; 02.10.: O04, O05, O07, O08) 2026-10-02 13:09:01 +00:00
2026_10_06_164009_add_invoice_delivery_to_billing_addresses_table.php billing: Rechnungsversand — PDF im Anhang der Zahlungsmail, optionale Rechnungs-E-Mail, Stripe-Rechnungs-PDF direkt aus dem Kundenbereich 2026-10-06 14:47:49 +00:00
2026_10_06_172532_create_failed_login_tallies_table.php auth: fehlgeschlagene Anmeldungen mit Einstieg (livewire/fortify/two-factor); unbekannte Adressen als Tageszähler statt Verlaufseintrag, Kachel im Systemstatus, Löschfrist 90 Tage 2026-10-06 15:30:29 +00:00