_ID_MIGRATION
Uebergang von numerischen IDs (
T-001..T-040) zu kategorie-bezogenen IDs (TA-001,PM-021, …). Stand 2026-08-16, Stichtag 2026-08-16.
35 von 40 IDs waren doppelt vergeben, weil G1 und G2 unabhaengig nummeriert hatten. Nach der Migration fuehrt jeder Datensatz eine eindeutige ID, deren Kategorie-Praefix die Herkunft sichtbar laesst.
1. Schema
Format: <Kategorie-Kuerzel>-<3-stellig>.
| Kuerzel | Kategorie |
|---|---|
AC | account |
AI | app-install |
AT | advanced-technical |
CO | content |
DE | device |
NE | network |
PM | parental-misconfiguration |
SD | second-device |
SE | social-engineering |
TA | time |
Die 3-stellige Ordinalzahl wird pro Kategorie und pro Ingestion-Lauf hochgezaehlt. tricks_ingest.py liest die existierenden Zaehler aus den Frontmatter-Dateien und nimmt den hoechsten Wert + 1 als naechste Ordinalzahl. Damit ist kollisionsfreie Vergabe auch dann garantiert, wenn ein dritter Track (z.B. G3 Apps) dazukommt und die gleiche Kategorie bedient.
2. Mapping
alt (id) | alt (slug) | neu (id) | neu (slug) | Spur |
|---|---|---|---|---|
T-001 | t-001-content-privacy-restrictions-not-enabled | PM-001 | pm-001-content-privacy-restrictions-not-enabled | ? |
T-001 | t-001-timezone-date-time-shift-bypass | TA-001 | ta-001-timezone-date-time-shift-bypass | ? |
T-002 | t-002-app-website-activity-not-enabled | PM-002 | pm-002-app-website-activity-not-enabled | ? |
T-002 | t-002-one-more-minute-grace-period-exploitation | TA-002 | ta-002-one-more-minute-grace-period-exploitation | ? |
T-003 | t-003-screen-time-settings-not-locked | PM-003 | pm-003-screen-time-settings-not-locked | ? |
T-003 | t-003-unlimited-time-system-apps-exploitation | TA-003 | ta-003-unlimited-time-system-apps-exploitation | ? |
T-004 | t-004-exception-request-pressure | SE-001 | se-001-exception-request-pressure | ? |
T-004 | t-004-siri-voice-assistant-notification-access-bypass | TA-004 | ta-004-siri-voice-assistant-notification-access-bypass | ? |
T-005 | t-005-over-broad-web-access-choice | PM-004 | pm-004-over-broad-web-access-choice | ? |
T-005 | t-005-widget-based-app-access-during-downtime | TA-005 | ta-005-widget-based-app-access-during-downtime | ? |
T-006 | t-006-app-age-restriction-omitted | PM-005 | pm-005-app-age-restriction-omitted | ? |
T-006 | t-006-web-version-browser-substitute-for-limited-apps | TA-006 | ta-006-web-version-browser-substitute-for-limited-apps | ? |
T-007 | t-007-purchase-download-restriction-omitted | PM-006 | pm-006-purchase-download-restriction-omitted | ? |
T-007 | t-007-secondary-app-instance-parallel-space | TA-007 | ta-007-secondary-app-instance-parallel-space | ? |
T-008 | t-008-notification-preview-response-bypass | TA-008 | ta-008-notification-preview-response-bypass | ? |
T-008 | t-008-privacy-change-restriction-omitted | PM-007 | pm-007-privacy-change-restriction-omitted | ? |
T-009 | t-009-family-link-used-outside-supported-device-scope | PM-008 | pm-008-family-link-used-outside-supported-device-scope | ? |
T-009 | t-009-time-limited-web-content-via-shared-links | TA-009 | ta-009-time-limited-web-content-via-shared-links | ? |
T-010 | t-010-family-link-regional-availability-assumed | PM-009 | pm-009-family-link-regional-availability-assumed | ? |
T-010 | t-010-shoulder-surfing-passcode-guessing | AC-001 | ac-001-shoulder-surfing-passcode-guessing | ? |
T-011 | t-011-apple-id-passcode-reset-bypass | AC-002 | ac-002-apple-id-passcode-reset-bypass | ? |
T-011 | t-011-family-link-assumed-to-be-a-content-filter | PM-010 | pm-010-family-link-assumed-to-be-a-content-filter | ? |
T-012 | t-012-chrome-website-restrictions-not-configured | PM-011 | pm-011-chrome-website-restrictions-not-configured | ? |
T-012 | t-012-unilateral-supervision-opt-out-at-age-13 | AC-003 | ac-003-unilateral-supervision-opt-out-at-age-13 | ? |
T-013 | t-013-device-inventory-omits-a-chrome-capable-device | SD-001 | sd-001-device-inventory-omits-a-chrome-capable-device | ? |
T-013 | t-013-device-level-google-account-removal | AC-004 | ac-004-device-level-google-account-removal | ? |
T-014 | t-014-secondary-google-apple-account-login | AC-005 | ac-005-secondary-google-apple-account-login | ? |
T-014 | t-014-youtube-kids-or-supervised-youtube-not-provisioned | PM-012 | pm-012-youtube-kids-or-supervised-youtube-not-provisioned | ? |
T-015 | t-015-guest-profile-multi-user-switch | AC-006 | ac-006-guest-profile-multi-user-switch | ? |
T-015 | t-015-youtube-supervision-ends-after-self-management-decision | CO-001 | co-001-youtube-supervision-ends-after-self-management-decision | ? |
T-016 | t-016-birthdate-manipulation-in-account-settings | AC-007 | ac-007-birthdate-manipulation-in-account-settings | ? |
T-016 | t-016-youtube-restricted-mode-not-reviewed | PM-013 | pm-013-youtube-restricted-mode-not-reviewed | ? |
T-017 | t-017-leaving-changing-family-group | AC-008 | ac-008-leaving-changing-family-group | ? |
T-017 | t-017-tiktok-family-pairing-not-linked | PM-014 | pm-014-tiktok-family-pairing-not-linked | ? |
T-018 | t-018-parent-apple-id-account-sign-in-override | AC-009 | ac-009-parent-apple-id-account-sign-in-override | ? |
T-018 | t-018-tiktok-screen-time-setting-not-reviewed | PM-015 | pm-015-tiktok-screen-time-setting-not-reviewed | ? |
T-019 | t-019-secondary-legacy-unmanaged-devices | DE-001 | de-001-secondary-legacy-unmanaged-devices | ? |
T-019 | t-019-tiktok-privacy-or-direct-message-setting-not-reviewed | PM-016 | pm-016-tiktok-privacy-or-direct-message-setting-not-reviewed | ? |
T-020 | t-020-roblox-parent-account-not-linked | PM-017 | pm-017-roblox-parent-account-not-linked | ? |
T-020 | t-020-sibling-tablet-shared-family-device-hopping | DE-002 | de-002-sibling-tablet-shared-family-device-hopping | ? |
T-021 | t-021-friend-or-school-device-borrowing | DE-003 | de-003-friend-or-school-device-borrowing | ? |
T-021 | t-021-roblox-content-maturity-not-configured | PM-018 | pm-018-roblox-content-maturity-not-configured | ? |
T-022 | t-022-gaming-console-smart-tv-web-browsing | DE-004 | de-004-gaming-console-smart-tv-web-browsing | ? |
T-022 | t-022-roblox-blocked-game-search-visibility-mistaken-for-access | CO-002 | co-002-roblox-blocked-game-search-visibility-mistaken-for-access | ? |
T-023 | t-023-factory-reset-recovery-mode-bypass | DE-005 | de-005-factory-reset-recovery-mode-bypass | ? |
T-023 | t-023-roblox-block-expected-to-interrupt-a-current-session | CO-003 | co-003-roblox-block-expected-to-interrupt-a-current-session | ? |
T-024 | t-024-ios-dfu-mode-restore-via-mac-pc | DE-006 | de-006-ios-dfu-mode-restore-via-mac-pc | ? |
T-024 | t-024-roblox-monthly-spending-limit-not-enabled | PM-019 | pm-019-roblox-monthly-spending-limit-not-enabled | ? |
T-025 | t-025-android-adb-developer-options-exploitation | DE-007 | de-007-android-adb-developer-options-exploitation | ? |
T-025 | t-025-roblox-gift-card-redemption-outside-monthly-limit | CO-004 | co-004-roblox-gift-card-redemption-outside-monthly-limit | ? |
T-026 | t-026-android-rooting-ios-jailbreaking | DE-008 | de-008-android-rooting-ios-jailbreaking | ? |
T-026 | t-026-roblox-xbox-purchase-coverage-assumed | CO-005 | co-005-roblox-xbox-purchase-coverage-assumed | ? |
T-027 | t-027-airplane-mode-offline-usage-glitch | DE-009 | de-009-airplane-mode-offline-usage-glitch | ? |
T-027 | t-027-google-purchase-approval-assumed-to-cover-all-billing | PM-020 | pm-020-google-purchase-approval-assumed-to-cover-all-billing | ? |
T-028 | t-028-second-device-left-outside-the-control-inventory | SD-002 | sd-002-second-device-left-outside-the-control-inventory | ? |
T-028 | t-028-web-app-progressive-web-app | AI-001 | ai-001-web-app-progressive-web-app | ? |
T-029 | t-029-apk-sideloading-via-third-party-sources | AI-002 | ai-002-apk-sideloading-via-third-party-sources | ? |
T-029 | t-029-other-caregiver-device-not-included-in-the-plan | SD-003 | sd-003-other-caregiver-device-not-included-in-the-plan | ? |
T-030 | t-030-alternative-app-marketplaces | AI-003 | ai-003-alternative-app-marketplaces | ? |
T-030 | t-030-controls-not-reviewed-after-updates-or-age-changes | PM-021 | pm-021-controls-not-reviewed-after-updates-or-age-changes | ? |
T-031 | t-031-ios-testflight-beta-testing-installs | AI-004 | ai-004-ios-testflight-beta-testing-installs | ? |
T-031 | t-031-router-only-rule-assumed-to-cover-mobile-data | NE-001 | ne-001-router-only-rule-assumed-to-cover-mobile-data | ? |
T-032 | t-032-disguised-vault-calculator-apps | AI-005 | ai-005-disguised-vault-calculator-apps | ? |
T-032 | t-032-router-only-rule-assumed-to-cover-foreign-wi-fi-or-a-hotspot | NE-002 | ne-002-router-only-rule-assumed-to-cover-foreign-wi-fi-or-a-hotspot | ? |
T-033 | t-033-app-deletion-and-re-installation-loop | AI-006 | ai-006-app-deletion-and-re-installation-loop | ? |
T-033 | t-033-vpn-custom-dns-or-dns-over-https-against-a-network-only-filter | AT-001 | at-001-vpn-custom-dns-or-dns-over-https-against-a-network-only-filter | ? |
T-034 | t-034-ask-to-buy-purchase-approval-request-spamming | AI-007 | ai-007-ask-to-buy-purchase-approval-request-spamming | ? |
T-034 | t-034-mac-randomisation-or-router-identifier-mismatch | AT-002 | at-002-mac-randomisation-or-router-identifier-mismatch | ? |
T-035 | t-035-direct-web-distribution-app-installs | AI-008 | ai-008-direct-web-distribution-app-installs | ? |
T-035 | t-035-router-reset-or-home-network-credential-exposure | AT-003 | at-003-router-reset-or-home-network-credential-exposure | ? |
T-036 | t-036-permission-request-framed-as-an-emergency-or-school-need | SE-002 | se-002-permission-request-framed-as-an-emergency-or-school-need | ? |
T-037 | t-037-relative-or-co-parent-approval-inconsistency | SE-003 | se-003-relative-or-co-parent-approval-inconsistency | ? |
T-038 | t-038-parent-device-or-approval-channel-exposure | SE-004 | se-004-parent-device-or-approval-channel-exposure | ? |
T-039 | t-039-notification-preview-exposure | SE-005 | se-005-notification-preview-exposure | ? |
T-040 | t-040-alternative-or-embedded-browser-access-claim | CO-006 | co-006-alternative-or-embedded-browser-access-claim | ? |
3. Inhaltspruefung G1 × G2
Vor der Migration wurden alle 75 Datensaetze inhaltlich auf Ueberschneidungen zwischen G1 (Bypass-Layer, technisch) und G2 (Konfigurationsluecken, soziale Verfahren) gepruft.
Ergebnis: kein G1-Datensatz beschreibt denselben Umgehungsweg wie ein G2-Datensatz mit derselben Roh-ID.
G1 und G2 adressieren systematisch verschiedene Schichten: G1 = technische Bypasses (iOS/Android-Interna, Jailbreak, ADB, Hardware-Reset). G2 = verhaltens- und konfigurationsbedingte Luecken (Beschraenkungen nicht aktiviert, Aufsicht beendet, Cross-Carer-Inkonsistenzen). Die numerische Kollision war synchroner Zufall, thematisch gibt es keine Ueberschneidung.
Beispiel-Paare, die nicht zusammengefuehrt wurden:
| alt-Paar | G1 (Bypass) | G2 (Konfigurationsluecke) |
|---|---|---|
| T-001 | Zeitzone / Datum manuell verstellen | Content & Privacy Restrictions deaktiviert |
| T-002 | ”One More Minute” Grace Period | App & Website Activity deaktiviert |
| T-007 | Dual-Messenger / Klon-Apps | Kauf- und Download-Beschraenkung deaktiviert |
| T-014 | Sekundaeres Google/Apple-Konto | YouTube Kids fehlt |
| T-034 | Ask-to-Buy-Spamming | MAC-Randomisierung vs. Router-Filter |
Folgerung: keine Zusammenfuehrungen; die ID-Vergabe ist die einzige Migration.
4. Auswirkungen auf andere Dateien
Wiki/tricks/t-NNN-*.md— umbenannt zu<NEUE-ID>-<stem>.md; die Felderid,slug,defeatsund Quellenverweise wurden mitgefuehrt.quartz/pcw-content/de/tricks/*.mdund.../en/tricks/*.md— Slug-Verweise auf das Wikitricks/<neuer-slug>-Format aktualisiert.scripts_build/tricks_ingest.py— vergibt beim Re-Ingest die naechste freie Nummer pro Kategorie (kollisionsfrei).Wiki/tricks/_templates/*— unveraendert (PLACEHOLDER-Datensaetze).
5. Nachvollziehbarkeit
Die Migration laeuft ueber scripts_build/tricks_migrate_ids.py deterministisch ab und ersetzt sich bei wiederholtem Lauf selbst.