_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>.

KuerzelKategorie
ACaccount
AIapp-install
ATadvanced-technical
COcontent
DEdevice
NEnetwork
PMparental-misconfiguration
SDsecond-device
SEsocial-engineering
TAtime

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-001t-001-content-privacy-restrictions-not-enabledPM-001pm-001-content-privacy-restrictions-not-enabled?
T-001t-001-timezone-date-time-shift-bypassTA-001ta-001-timezone-date-time-shift-bypass?
T-002t-002-app-website-activity-not-enabledPM-002pm-002-app-website-activity-not-enabled?
T-002t-002-one-more-minute-grace-period-exploitationTA-002ta-002-one-more-minute-grace-period-exploitation?
T-003t-003-screen-time-settings-not-lockedPM-003pm-003-screen-time-settings-not-locked?
T-003t-003-unlimited-time-system-apps-exploitationTA-003ta-003-unlimited-time-system-apps-exploitation?
T-004t-004-exception-request-pressureSE-001se-001-exception-request-pressure?
T-004t-004-siri-voice-assistant-notification-access-bypassTA-004ta-004-siri-voice-assistant-notification-access-bypass?
T-005t-005-over-broad-web-access-choicePM-004pm-004-over-broad-web-access-choice?
T-005t-005-widget-based-app-access-during-downtimeTA-005ta-005-widget-based-app-access-during-downtime?
T-006t-006-app-age-restriction-omittedPM-005pm-005-app-age-restriction-omitted?
T-006t-006-web-version-browser-substitute-for-limited-appsTA-006ta-006-web-version-browser-substitute-for-limited-apps?
T-007t-007-purchase-download-restriction-omittedPM-006pm-006-purchase-download-restriction-omitted?
T-007t-007-secondary-app-instance-parallel-spaceTA-007ta-007-secondary-app-instance-parallel-space?
T-008t-008-notification-preview-response-bypassTA-008ta-008-notification-preview-response-bypass?
T-008t-008-privacy-change-restriction-omittedPM-007pm-007-privacy-change-restriction-omitted?
T-009t-009-family-link-used-outside-supported-device-scopePM-008pm-008-family-link-used-outside-supported-device-scope?
T-009t-009-time-limited-web-content-via-shared-linksTA-009ta-009-time-limited-web-content-via-shared-links?
T-010t-010-family-link-regional-availability-assumedPM-009pm-009-family-link-regional-availability-assumed?
T-010t-010-shoulder-surfing-passcode-guessingAC-001ac-001-shoulder-surfing-passcode-guessing?
T-011t-011-apple-id-passcode-reset-bypassAC-002ac-002-apple-id-passcode-reset-bypass?
T-011t-011-family-link-assumed-to-be-a-content-filterPM-010pm-010-family-link-assumed-to-be-a-content-filter?
T-012t-012-chrome-website-restrictions-not-configuredPM-011pm-011-chrome-website-restrictions-not-configured?
T-012t-012-unilateral-supervision-opt-out-at-age-13AC-003ac-003-unilateral-supervision-opt-out-at-age-13?
T-013t-013-device-inventory-omits-a-chrome-capable-deviceSD-001sd-001-device-inventory-omits-a-chrome-capable-device?
T-013t-013-device-level-google-account-removalAC-004ac-004-device-level-google-account-removal?
T-014t-014-secondary-google-apple-account-loginAC-005ac-005-secondary-google-apple-account-login?
T-014t-014-youtube-kids-or-supervised-youtube-not-provisionedPM-012pm-012-youtube-kids-or-supervised-youtube-not-provisioned?
T-015t-015-guest-profile-multi-user-switchAC-006ac-006-guest-profile-multi-user-switch?
T-015t-015-youtube-supervision-ends-after-self-management-decisionCO-001co-001-youtube-supervision-ends-after-self-management-decision?
T-016t-016-birthdate-manipulation-in-account-settingsAC-007ac-007-birthdate-manipulation-in-account-settings?
T-016t-016-youtube-restricted-mode-not-reviewedPM-013pm-013-youtube-restricted-mode-not-reviewed?
T-017t-017-leaving-changing-family-groupAC-008ac-008-leaving-changing-family-group?
T-017t-017-tiktok-family-pairing-not-linkedPM-014pm-014-tiktok-family-pairing-not-linked?
T-018t-018-parent-apple-id-account-sign-in-overrideAC-009ac-009-parent-apple-id-account-sign-in-override?
T-018t-018-tiktok-screen-time-setting-not-reviewedPM-015pm-015-tiktok-screen-time-setting-not-reviewed?
T-019t-019-secondary-legacy-unmanaged-devicesDE-001de-001-secondary-legacy-unmanaged-devices?
T-019t-019-tiktok-privacy-or-direct-message-setting-not-reviewedPM-016pm-016-tiktok-privacy-or-direct-message-setting-not-reviewed?
T-020t-020-roblox-parent-account-not-linkedPM-017pm-017-roblox-parent-account-not-linked?
T-020t-020-sibling-tablet-shared-family-device-hoppingDE-002de-002-sibling-tablet-shared-family-device-hopping?
T-021t-021-friend-or-school-device-borrowingDE-003de-003-friend-or-school-device-borrowing?
T-021t-021-roblox-content-maturity-not-configuredPM-018pm-018-roblox-content-maturity-not-configured?
T-022t-022-gaming-console-smart-tv-web-browsingDE-004de-004-gaming-console-smart-tv-web-browsing?
T-022t-022-roblox-blocked-game-search-visibility-mistaken-for-accessCO-002co-002-roblox-blocked-game-search-visibility-mistaken-for-access?
T-023t-023-factory-reset-recovery-mode-bypassDE-005de-005-factory-reset-recovery-mode-bypass?
T-023t-023-roblox-block-expected-to-interrupt-a-current-sessionCO-003co-003-roblox-block-expected-to-interrupt-a-current-session?
T-024t-024-ios-dfu-mode-restore-via-mac-pcDE-006de-006-ios-dfu-mode-restore-via-mac-pc?
T-024t-024-roblox-monthly-spending-limit-not-enabledPM-019pm-019-roblox-monthly-spending-limit-not-enabled?
T-025t-025-android-adb-developer-options-exploitationDE-007de-007-android-adb-developer-options-exploitation?
T-025t-025-roblox-gift-card-redemption-outside-monthly-limitCO-004co-004-roblox-gift-card-redemption-outside-monthly-limit?
T-026t-026-android-rooting-ios-jailbreakingDE-008de-008-android-rooting-ios-jailbreaking?
T-026t-026-roblox-xbox-purchase-coverage-assumedCO-005co-005-roblox-xbox-purchase-coverage-assumed?
T-027t-027-airplane-mode-offline-usage-glitchDE-009de-009-airplane-mode-offline-usage-glitch?
T-027t-027-google-purchase-approval-assumed-to-cover-all-billingPM-020pm-020-google-purchase-approval-assumed-to-cover-all-billing?
T-028t-028-second-device-left-outside-the-control-inventorySD-002sd-002-second-device-left-outside-the-control-inventory?
T-028t-028-web-app-progressive-web-appAI-001ai-001-web-app-progressive-web-app?
T-029t-029-apk-sideloading-via-third-party-sourcesAI-002ai-002-apk-sideloading-via-third-party-sources?
T-029t-029-other-caregiver-device-not-included-in-the-planSD-003sd-003-other-caregiver-device-not-included-in-the-plan?
T-030t-030-alternative-app-marketplacesAI-003ai-003-alternative-app-marketplaces?
T-030t-030-controls-not-reviewed-after-updates-or-age-changesPM-021pm-021-controls-not-reviewed-after-updates-or-age-changes?
T-031t-031-ios-testflight-beta-testing-installsAI-004ai-004-ios-testflight-beta-testing-installs?
T-031t-031-router-only-rule-assumed-to-cover-mobile-dataNE-001ne-001-router-only-rule-assumed-to-cover-mobile-data?
T-032t-032-disguised-vault-calculator-appsAI-005ai-005-disguised-vault-calculator-apps?
T-032t-032-router-only-rule-assumed-to-cover-foreign-wi-fi-or-a-hotspotNE-002ne-002-router-only-rule-assumed-to-cover-foreign-wi-fi-or-a-hotspot?
T-033t-033-app-deletion-and-re-installation-loopAI-006ai-006-app-deletion-and-re-installation-loop?
T-033t-033-vpn-custom-dns-or-dns-over-https-against-a-network-only-filterAT-001at-001-vpn-custom-dns-or-dns-over-https-against-a-network-only-filter?
T-034t-034-ask-to-buy-purchase-approval-request-spammingAI-007ai-007-ask-to-buy-purchase-approval-request-spamming?
T-034t-034-mac-randomisation-or-router-identifier-mismatchAT-002at-002-mac-randomisation-or-router-identifier-mismatch?
T-035t-035-direct-web-distribution-app-installsAI-008ai-008-direct-web-distribution-app-installs?
T-035t-035-router-reset-or-home-network-credential-exposureAT-003at-003-router-reset-or-home-network-credential-exposure?
T-036t-036-permission-request-framed-as-an-emergency-or-school-needSE-002se-002-permission-request-framed-as-an-emergency-or-school-need?
T-037t-037-relative-or-co-parent-approval-inconsistencySE-003se-003-relative-or-co-parent-approval-inconsistency?
T-038t-038-parent-device-or-approval-channel-exposureSE-004se-004-parent-device-or-approval-channel-exposure?
T-039t-039-notification-preview-exposureSE-005se-005-notification-preview-exposure?
T-040t-040-alternative-or-embedded-browser-access-claimCO-006co-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-PaarG1 (Bypass)G2 (Konfigurationsluecke)
T-001Zeitzone / Datum manuell verstellenContent & Privacy Restrictions deaktiviert
T-002”One More Minute” Grace PeriodApp & Website Activity deaktiviert
T-007Dual-Messenger / Klon-AppsKauf- und Download-Beschraenkung deaktiviert
T-014Sekundaeres Google/Apple-KontoYouTube Kids fehlt
T-034Ask-to-Buy-SpammingMAC-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 Felder id, slug, defeats und Quellenverweise wurden mitgefuehrt.
  • quartz/pcw-content/de/tricks/*.md und .../en/tricks/*.md — Slug-Verweise auf das Wiki tricks/<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.