{"nodes": [{"id": "concepts_brand_token_matching_brand_token_matching", "label": "Brand-Token-Matching (shared system)", "file_type": "rationale", "source_file": "docs/concepts/brand-token-matching.md", "source_location": null, "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_numbers_trick", "label": "Nummern-/Suffix-Trick (Gambling Domain Evasion)", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_brand_token", "label": "Brand-Token (curated brand core)", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a73", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_matching_algorithm", "label": "Entnummerierung + Segment-Exaktvergleich Algorithm", "file_type": "rationale", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a74", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_layer1_dns_sinkhole", "label": "Layer 1 DNS-Sinkhole / PacketTunnel", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71, \u00a77", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_layer2_managedsettings", "label": "Layer 2 Apple ManagedSettings WebDomain", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_mail_scan_mo", "label": "Mail-Scan (Mo)", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_hagezi_feed", "label": "HaGeZi Feed Blocklist (329k hashes)", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71, \u00a75", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_brand_tokens_table", "label": "brand_tokens DB Table", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a75", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_brandtokenlist", "label": "BrandTokenList class (Swift, pendant to HashList)", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_brand_tokens_endpoint", "label": "GET /api/url-filter/brand-tokens Endpoint", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_blocklist_bin_sync", "label": "blocklist.bin Sync Mechanism", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_dnsfilter_classify", "label": "DnsFilter.classify Integration Point", "file_type": "concept", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}, {"id": "concepts_brand_token_matching_clear_text_privacy_decision", "label": "Klartext Brand-Token Privacy Decision", "file_type": "rationale", "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76, \u00a79", "source_url": null, "captured_at": "2026-05-22", "author": null, "contributor": null}], "edges": [{"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_numbers_trick", "relation": "conceptually_related_to", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "weight": 1.0}, {"source": "concepts_brand_token_matching_matching_algorithm", "target": "concepts_brand_token_matching_numbers_trick", "relation": "rationale_for", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a74", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_brand_token", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a73", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_matching_algorithm", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a74", "weight": 1.0}, {"source": "concepts_brand_token_matching_matching_algorithm", "target": "concepts_brand_token_matching_brand_token", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a74", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_layer1_dns_sinkhole", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_mail_scan_mo", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_layer2_managedsettings", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token_matching", "target": "concepts_brand_token_matching_hagezi_feed", "relation": "conceptually_related_to", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_token", "target": "concepts_brand_token_matching_brand_tokens_table", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a75", "weight": 1.0}, {"source": "concepts_brand_token_matching_brandtokenlist", "target": "concepts_brand_token_matching_matching_algorithm", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_dnsfilter_classify", "target": "concepts_brand_token_matching_brandtokenlist", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_dnsfilter_classify", "target": "concepts_brand_token_matching_layer1_dns_sinkhole", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.95, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_brand_tokens_endpoint", "target": "concepts_brand_token_matching_blocklist_bin_sync", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76", "weight": 1.0}, {"source": "concepts_brand_token_matching_brandtokenlist", "target": "concepts_brand_token_matching_brand_tokens_endpoint", "relation": "references", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76, \u00a77", "weight": 1.0}, {"source": "concepts_brand_token_matching_clear_text_privacy_decision", "target": "concepts_brand_token_matching_brand_token", "relation": "rationale_for", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a76, \u00a79", "weight": 1.0}, {"source": "concepts_brand_token_matching_hagezi_feed", "target": "concepts_brand_token_matching_layer1_dns_sinkhole", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "docs/concepts/brand-token-matching.md", "source_location": "\u00a71", "weight": 1.0}], "hyperedges": [{"id": "brand_token_shared_matching_system", "label": "Shared Brand-Token Matching System (algorithm spans Layer 1 + Mail)", "nodes": ["concepts_brand_token_matching_matching_algorithm", "concepts_brand_token_matching_layer1_dns_sinkhole", "concepts_brand_token_matching_mail_scan_mo"], "relation": "form", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "docs/concepts/brand-token-matching.md"}]}