{
 "meta": {
  "built": "2026-09-27",
  "purpose": "Live evidence record per claim for the claim drawer (review R2-14). The claim text in data/claims.json is authoritative and unchanged.",
  "fields": {
   "support": "One entry per material clause: verbatim passage (<=25 words) with its source, locator and the clause it supports. passage_from names the record the passage was copied from.",
   "retired": "First-pass ledger findings whose claim, passage or locator is superseded for this claim; keep as history, not as live evidence.",
   "outcome": "supported / qualified / unresolved, or 'author analysis' and 'model property' for analytical claims.",
   "new_sources": "CS-S## = pages opened by this pass to capture passages; same_origin_as names the existing source for the same page or document, so counts can de-duplicate."
  },
  "caveat": "CS-S19 (Meta lift guide) was read through a model-mediated fetch because the raw page returned HTTP 400; its randomization sentence should be confirmed against the rendered page before print.",
  "support_note": "Support entries are extracts from sources: most are copied passages, and some condense table rows or join passages with ellipses; the drawer labels those as extracts. An entry is not a certificate that its page was re-read in full in the final pass."
 },
 "claims": {
  "CL-001": {
   "support": [
    {
     "source_id": "CS-S15",
     "passage": "You can simply add a few lines of text, a bid, some assets, and App campaigns automatically optimize your ads for you.",
     "locator": "Google Ads Help, About App campaigns (answer 6247380), introduction",
     "clause": "Buyer levers are the ad text, assets and bid; delivery is optimized by the platform (what the ad promises; whom it reaches)",
     "passage_from": "claim-support pass: opened CS-S15 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S02",
     "passage": "finding the users most likely to download or otherwise engage with their product(s)",
     "locator": "legal.applovin.com, 'How does Axon AI work?'",
     "clause": "Through whom it reaches: the platform's model picks the users most likely to install or engage",
     "passage_from": "claim-support pass: opened CS-S02 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S15",
     "passage": "Re-engage customers who have installed your app with App campaigns for engagement",
     "locator": "Google Ads Help, About App campaigns, Next steps",
     "clause": "Reactivation is bought directly: re-engagement campaigns target people who already installed the app",
     "passage_from": "claim-support pass: opened CS-S15 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S01",
     "passage": "Global remarketing spend reached $31.3 billion in 2025, increasing 37% YoY as more budgets shifted toward reengaging existing users",
     "locator": "AppsFlyer report, section 04 (Remarketing spend)",
     "clause": "Remarketing budgets are bought to re-engage existing users",
     "passage_from": "claim-support pass: opened CS-S01 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "CS-S15",
    "KL-S12",
    "CS-S02",
    "MAIN-S01",
    "CS-S01"
   ],
   "limitations": "Targeting choices influence retention indirectly through audience quality.",
   "scope": "all platforms, all OS",
   "confidence": "medium",
   "confidence_reason": "Follows from documented platform controls (bids, audiences, placements, creative); no platform documents control of in-app experience.",
   "outcome": "author analysis",
   "outcome_note": "Analytical synthesis, not an empirical finding, so a fact-check outcome does not apply; the earlier automated 'unresolved' reflected the absence of a ledger finding, not a pending check (review section 5). The passages document the premises (platform-controlled delivery, buyer-set bids and creative, direct re-engagement buying). The deep-link clause has no source passage in the project files and rests on the author's framing. EF-S02 and C-S02 were dropped from the source list because neither supports a clause of the current text.",
   "retired": []
  },
  "CL-002": {
   "support": [
    {
     "source_id": "D-S04",
     "passage": "found a ROI of over 4,100% without time and geographic controls... found a ROI of -63%",
     "locator": "Blake, Nosko & Tadelis, Table 1 (Econometrica version) / ROI section",
     "clause": "A higher reported return can coexist with a loss: regression ROI far above the experimental estimate",
     "passage_from": "ledger:D-F04.passage"
    },
    {
     "source_id": "CS-S11",
     "passage": "returns from paid search are a fraction of conventional non-experimental estimates",
     "locator": "NBER w20171, abstract",
     "clause": "Credit goes to users who would have come anyway: non-experimental returns overstate causal returns",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S11",
     "passage": "more frequent users whose purchasing behavior is not influenced by ads account for most of the advertising expenses",
     "locator": "NBER w20171, abstract",
     "clause": "Credit goes to users who would have come anyway (frequent users unaffected by ads absorb most spend)",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "GH-S08",
     "passage": "AI apps sustain a 41% Year 1 realized LTV premium compared to non-AI apps ($30.16 median vs. $21.37 median)",
     "locator": "RevenueCat blog 'State of Subscription Apps in 10 minutes', AI-apps section",
     "clause": "An early-value metric can rise while retention is worse (category-level illustration: first-year value per payer)",
     "passage_from": "verify:FX3.verdicts[GH-F12].passage"
    },
    {
     "source_id": "GH-S07",
     "passage": "AI retains 2.5% weekly, 6.1% monthly, and 21.1% annually at 12 months, compared to 3.4%, 9.5%, and 30.7% for non-AI.",
     "locator": "RevenueCat State of Subscription Apps 2026, AI-apps retention benchmark",
     "clause": "Same illustration: worse 12-month retention for the category with higher first-year value",
     "passage_from": "verify:OA4.audit_items[61].passage"
    },
    {
     "source_id": "CS-S06",
     "passage": "During a subscriber’s first year of service, you receive 70% of the subscription price at each billing cycle, minus applicable taxes.",
     "locator": "Apple, Auto-renewable subscriptions, '85% net revenue after one year'",
     "clause": "Reports that use gross bookings overstate what the developer keeps (store commission)",
     "passage_from": "claim-support pass: opened CS-S06 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "D-S04",
    "OA3-S05",
    "CS-S11",
    "GH-S08",
    "GH-S07",
    "GH-S02",
    "CS-S06"
   ],
   "limitations": "Frequency of the pattern across apps is not measured. No source in the project shows cheaper installs churning faster; that mechanism is the author's reasoning.",
   "scope": "all",
   "confidence": "high",
   "confidence_reason": "The claim states a possibility, and two of its three mechanisms have documented instances: eBay's regression returns far above the experimental estimate, and store commissions that separate gross price from developer proceeds. RevenueCat's panel shows a category with higher first-year value per payer but worse 12-month retention (the earlier wording, 'faster decay among higher-early-value users', misdescribed that metric).",
   "outcome": "qualified",
   "outcome_note": "Two of the three mechanisms have verbatim support (credit for demand that already existed; gross versus net of store commission). 'Cheaper installs churn faster' has no source passage in the project files; it appears only in the author's metric dictionary. The RevenueCat comparison is between app categories (per payer), not between cheap and expensive installs, so it illustrates divergence between an early metric and retention rather than the CPI mechanism itself.",
   "retired": []
  },
  "CL-003": {
   "support": [
    {
     "source_id": "MAIN-S01",
     "passage": "Global app marketing spend reached $109 billion in 2025, with both user acquisition ($78B) and remarketing ($31B) posting strong growth",
     "locator": "AppsFlyer report, section 02 (Introduction)",
     "clause": "Total $109B; $78B user acquisition",
     "passage_from": "verify:FX4.verdicts[MAIN-F01].passage"
    },
    {
     "source_id": "CS-S01",
     "passage": "Global app marketing spend on user acquisition reached $78 billion in 2025, up 13% YoY, driven entirely by iOS",
     "locator": "AppsFlyer report, section 03 (UA spend)",
     "clause": "User acquisition $78B, up 13%",
     "passage_from": "claim-support pass: opened CS-S01 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "MAIN-S01",
     "passage": "Global remarketing spend reached $31.3 billion in 2025, increasing 37% YoY",
     "locator": "AppsFlyer report, section 04 (Remarketing spend)",
     "clause": "Remarketing $31.3B, up 37%",
     "passage_from": "verify:FX1.verdicts[MAIN-F01].passage"
    },
    {
     "source_id": "CS-S01",
     "passage": "remarketing’s share of overall app marketing spend (UA plus remarketing) rose from 25% in 2024 to 29% in 2025",
     "locator": "AppsFlyer report, section 04",
     "clause": "Remarketing's share rose from 25% to 29%",
     "passage_from": "claim-support pass: opened CS-S01 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "MAIN-S01",
    "CS-S01"
   ],
   "limitations": "Client panel, not a census. The report was first published 10 December 2025 and states neither its measurement period nor how panel spend is scaled to a global total, so '2025' is AppsFlyer's label, not a completed calendar year.",
   "scope": "global, 2025, both OS",
   "confidence": "medium",
   "confidence_reason": "Figures re-read verbatim (FX1, FX4, claim-support pass); large stated panel (32B paid installs, 45K apps); scaling method undisclosed.",
   "outcome": "qualified",
   "outcome_note": "Every figure is verbatim in the report. Qualified for what the figures are, not for their transcription: a vendor panel estimate in a report first published 10 December 2025 that states neither its measurement period nor how panel spend is scaled to a world total (FX4).",
   "retired": []
  },
  "CL-004": {
   "support": [
    {
     "source_id": "AB-S12",
     "passage": "Revenue from in-app purchases and paid apps and games reached $167 billion in 2025 across iOS and Google Play",
     "locator": "Sensor Tower, State of Mobile 2026 blog",
     "clause": "Sensor Tower: $167B (in-app purchases plus paid apps, iOS and Google Play)",
     "passage_from": "verify:OA4.audit_items[S2-SensorTower].passage"
    },
    {
     "source_id": "AB-S12",
     "passage": "Global IAP revenue in particular surged 10.6% year over year (YoY) to reach $167 billion",
     "locator": "Sensor Tower, State of Mobile 2026 blog",
     "clause": "Sensor Tower growth: 10.6%",
     "passage_from": "verify:FX1.verdicts[AB-F22].passage"
    },
    {
     "source_id": "AB-S13",
     "passage": "Consumer spending, meanwhile, climbed 21.6% to reach an estimated $155.8 billion",
     "locator": "TechCrunch, 14 Jan 2026, reporting Appfigures",
     "clause": "Appfigures: $155.8B, up 21.6% (via TechCrunch)",
     "passage_from": "verify:FX1.verdicts[AB-F21].passage"
    }
   ],
   "sources": [
    "AB-S12",
    "AB-S13"
   ],
   "limitations": "Methods not published. The Appfigures figure is read via TechCrunch because Appfigures' own pages returned HTTP 403 (OA4). Sensor Tower's figure covers in-app purchases plus paid apps and games on iOS and Google Play only.",
   "scope": "global, 2025",
   "confidence": "high",
   "confidence_reason": "Both figures are published by the vendors; the gap is arithmetic.",
   "outcome": "qualified",
   "outcome_note": "Both levels and both growth rates are verbatim; the gap is arithmetic (see derivation). Qualified because the Appfigures figure rests on secondary reporting (appfigures.com returned HTTP 403; OA4 ref-6 unresolved) and the two vendors' scopes differ.",
   "retired": [],
   "derivation": "167.0 - 155.8 = 11.2 ($B); 21.6% - 10.6% = 11.0 percentage points"
  },
  "CL-005": {
   "support": [
    {
     "source_id": "CS-S01",
     "passage": "Global app marketing spend on user acquisition reached $78 billion in 2025, up 13% YoY, driven entirely by iOS",
     "locator": "AppsFlyer report, section 03",
     "clause": "Acquisition grew 13% in AppsFlyer's panel",
     "passage_from": "claim-support pass: opened CS-S01 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "MAIN-S01",
     "passage": "Global remarketing spend reached $31.3 billion in 2025, increasing 37% YoY",
     "locator": "AppsFlyer report, section 04",
     "clause": "Remarketing grew 37%",
     "passage_from": "verify:FX1.verdicts[MAIN-F01].passage"
    },
    {
     "source_id": "G3-S01",
     "passage": "the ads lifted website visits by 17.2% and purchases by 10.5%",
     "locator": "Johnson, Lewis & Nubbemeyer, JMR 2017, abstract (Crossref)",
     "clause": "Randomized web retargeting finds real but modest lift (ghost-ads test built on Google's display system)",
     "passage_from": "ledger:G3-F01.passage"
    },
    {
     "source_id": "FX5-S01",
     "passage": "Sportsing ran the retargeting campaign on the Google Display Network of over 2 million websites, including Google AdSense publishers",
     "locator": "Ghost Ads NBER draft (2016), experiment description",
     "clause": "Scope of that test: a web retargeting campaign on the Google Display Network, not an app",
     "passage_from": "verify:FX5.verdicts[G3-F01].passage"
    },
    {
     "source_id": "G3-S02",
     "passage": "switching on experimental retargeting causes 14.6% more users to return to the website within four weeks",
     "locator": "Sahni, Narayanan & Kalyanam, JMR 2019, abstract (Crossref)",
     "clause": "Second randomized web retargeting study: modest lift in return visits",
     "passage_from": "verify:FX5.verdicts[G3-F02].passage"
    }
   ],
   "sources": [
    "MAIN-S01",
    "CS-S01",
    "G3-S01",
    "FX5-S01",
    "G3-S02"
   ],
   "limitations": "No independent app-remarketing experiment was found in the searches run (G3 open questions). The web studies are desktop-era retail tests.",
   "scope": "global (spend); web retail retargeting tests (lift)",
   "confidence": "medium",
   "confidence_reason": "Growth figures are a vendor panel estimate; the two randomized retargeting studies are peer-reviewed web experiments (one built at Google); the absence of an independent app-remarketing experiment is bounded by the searches run.",
   "outcome": "qualified",
   "outcome_note": "The growth figures are verbatim vendor-panel estimates; the two randomized studies are web retail tests (one platform-built). The final clause is a search-bounded absence: no passage can support it, and the search record is evidence/research/G3.json open_questions[4] (Crossref and Semantic Scholar, partly rate-limited). D-F01 and D-F04 are retired from this claim: they supported an earlier formulation about attributed returns and no longer support a clause of the current text; D-F01's first-pass label ('relative errors') is also superseded.",
   "retired": [
    "D-F01",
    "D-F04"
   ]
  },
  "CL-006": {
   "support": [
    {
     "source_id": "G2-S01",
     "passage": "the Company is an agent in these arrangements and presents revenue net of advertising inventory costs.",
     "locator": "AppLovin Q2 2026 10-Q, Note 3 (Revenue)",
     "clause": "AppLovin books revenue net of publisher payouts",
     "passage_from": "verify:FX4.verdicts[G2-F03].passage"
    },
    {
     "source_id": "G2-S09",
     "passage": "it acts as an agent in the purchase and sale of digital ad inventory and reports revenue on a net basis.",
     "locator": "Liftoff Q2 2026 10-Q, revenue-recognition note",
     "clause": "Liftoff books revenue net",
     "passage_from": "verify:FX4.verdicts[G2-F11].passage"
    },
    {
     "source_id": "FX1-S11",
     "passage": "the Group acts as the principal of these arrangements and therefore recognised revenue earned and costs incurred related to these transactions on a gross basis",
     "locator": "Mobvista 2025 Annual Report, revenue-recognition note",
     "clause": "Mobvista books gross (principal)",
     "passage_from": "verify:FX1.verdicts[AB-F09].passage"
    },
    {
     "source_id": "G2-S11",
     "passage": "The Company has determined that is an agent in transactions on its Marketplace platforms.",
     "locator": "Digital Turbine FY2026 10-K, accounting-policy note (XBRL R11)",
     "clause": "Digital Turbine books its Marketplace (exchange) revenue net",
     "passage_from": "verify:FX4.verdicts[G2-F13].passage"
    },
    {
     "source_id": "G2-S12",
     "passage": "is a principal for its Brand and Performance offerings",
     "locator": "Digital Turbine FY2026 10-K, revenue-recognition note (XBRL R31)",
     "clause": "Digital Turbine books part of its business (Brand and Performance) gross",
     "passage_from": "ledger:G2-F13.passage"
    },
    {
     "source_id": "G2-S10",
     "passage": "When we are the principal in a transaction, revenue is reported on a gross basis, which is the amount billed to DSPs, advertisers, and agencies.",
     "locator": "Digital Turbine FY2026 10-K, revenue recognition",
     "clause": "Digital Turbine: gross basis where it is principal",
     "passage_from": "verify:FX1.verdicts[AB-F08].passage"
    },
    {
     "source_id": "CS-S12",
     "passage": "certain revenue streams that were previously recognized on a net (agent) basis are now recognized on a gross (principal) basis.",
     "locator": "Verve 2025 Annual and Sustainability Report, 'Change in revenue recognition'",
     "clause": "Verve moved some revenue from net to gross",
     "passage_from": "claim-support pass: opened CS-S12 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S13",
     "passage": "*Changes in revenue recognition according to IFRS 15 affect reported revenue from Q3 2025 onwards",
     "locator": "Verve release of 26 Jan 2026, table footnote",
     "clause": "...in 2025 (from the third quarter)",
     "passage_from": "claim-support pass: opened CS-S13 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "G2-S01",
    "G2-S09",
    "FX1-S11",
    "G2-S10",
    "G2-S11",
    "G2-S12",
    "FX1-S12",
    "CS-S12",
    "AB-S09",
    "CS-S13"
   ],
   "limitations": "Recognition is applied per revenue stream and can change between periods (Verve from Q3 2025), so margins on net and gross revenue are not comparable without adjustment. (The earlier limitation about Unity's policy paragraph is stale: FX4 located it, and Unity is not named in this claim.)",
   "scope": "company filings, FY2025-Q2 2026",
   "confidence": "high",
   "confidence_reason": "Accounting-policy passages in filings and annual reports, re-read by FX1, FX4 and the claim-support pass.",
   "outcome": "supported",
   "outcome_note": "Each company's recognition basis is quoted from its own filing or annual report. AB-F12 is retired from this claim: its first-pass passage concerns a customer's difficulties, not recognition, and its margin label was contradicted (FX1).",
   "retired": [
    "AB-F12"
   ]
  },
  "CL-007": {
   "support": [
    {
     "source_id": "CS-S02",
     "passage": "our models use win or loss notifications from our in-app bidding and monetization solution known as AppLovin Max",
     "locator": "legal.applovin.com, 'What data does Axon AI use?'",
     "clause": "Axon uses win and loss notices from the MAX mediation auction",
     "passage_from": "claim-support pass: opened CS-S02 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S02",
     "passage": "Our models use device and network information and other information we have collected, or our partners share, about users’ engagement with applications",
     "locator": "legal.applovin.com, 'What data does Axon AI use?'",
     "clause": "Device and engagement data",
     "passage_from": "claim-support pass: opened CS-S02 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S02",
     "passage": "Our models also use advertisers’ own data about their users if they choose to share that data with us",
     "locator": "legal.applovin.com, 'What data does Axon AI use?'",
     "clause": "Advertiser-shared data",
     "passage_from": "claim-support pass: opened CS-S02 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "KL-S12",
    "CS-S02"
   ],
   "limitations": "The page does not quantify how much the auction data contributes.",
   "scope": "AppLovin, 2026",
   "confidence": "high",
   "confidence_reason": "Company legal disclosure page (read by FX2; re-opened 27 Sep 2026).",
   "outcome": "supported",
   "outcome_note": "Every input named in the claim is now quoted from AppLovin's page (re-opened 27 Sep 2026). The first-pass passage for KL-F11 quoted only the exclusions; it stays as history, not as live support for this claim.",
   "retired": []
  },
  "CL-008": {
   "support": [
    {
     "source_id": "C-S02",
     "passage": "Apple determines a postback data tier that it assigns to each app download.",
     "locator": "Apple, Receiving postbacks in multiple conversion windows",
     "clause": "Apple assigns each attributed download a postback data tier",
     "passage_from": "verify:OA5.audit_items[12].passage"
    },
    {
     "source_id": "C-S02",
     "passage": "The postback data tier takes into account the crowd size associated with the app or domain displaying the ad, the advertised app, the country",
     "locator": "Same page, postback data tier section",
     "clause": "Tier inputs: crowd size across the app or site showing the ad, the advertised app, the install country ...",
     "passage_from": "verify:OA5.audit_items[25].passage"
    },
    {
     "source_id": "CS-S03",
     "passage": "the country the advertised app was installed in, and the hierarchical source identifier that the ad network provides",
     "locator": "Same page (documentation JSON), postback data tier section",
     "clause": "... and the campaign code (hierarchical source identifier)",
     "passage_from": "claim-support pass: opened CS-S03 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S03",
     "passage": "For ads in Tier 2, the first postback contains: source-identifier, the hierarchical source identifier with two, three, or four digits",
     "locator": "Same page, first-postback contents by tier",
     "clause": "Higher tiers get more campaign-code digits",
     "passage_from": "claim-support pass: opened CS-S03 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "C-S02",
     "passage": "For ads in Tier 0, the first postback contains the source-identifier, the hierarchical source identifier, with two digits.",
     "locator": "Same page, Tier 0",
     "clause": "Lowest tier: two digits only",
     "passage_from": "verify:FX2.verdicts[C-F02].passage"
    },
    {
     "source_id": "C-S02",
     "passage": "conversion-value, a fine-grained conversion value available only in the first postback",
     "locator": "Same page, fields affected by tier",
     "clause": "A fine-grained conversion value only in the first postback",
     "passage_from": "verify:OA5.verdicts[CL-008].passage"
    },
    {
     "source_id": "CS-S03",
     "passage": "The following diagram depicts the relationship between the tiers and relative crowd sizes. It’s for illustrative purposes only.",
     "locator": "Same page, tier diagram caption",
     "clause": "Apple publishes no thresholds (the tier diagram is illustrative only)",
     "passage_from": "claim-support pass: opened CS-S03 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "RS-S151",
     "passage": "particularly valuable for smaller developers who may receive limited information back from AdAttributionKit due to its crowd anonymity thresholds",
     "locator": "Apple Ads Help, Measuring ad performance (0028)",
     "clause": "Installs in larger crowds get richer feedback (Apple says smaller developers may receive limited information)",
     "passage_from": "verify-notes:OA5.audit_items[25].notes (quoted verbatim by the verifier)"
    }
   ],
   "sources": [
    "C-S02",
    "CS-S03",
    "RS-S151"
   ],
   "limitations": "Apple does not publish tier thresholds, so volume raises the odds of richer feedback but does not guarantee a tier.",
   "scope": "iOS 16.1+ (SKAdNetwork 4)",
   "confidence": "high",
   "confidence_reason": "Tier mechanics are in Apple's documentation (re-read by FX2, OA5 and the claim-support pass); the scale implication follows directly and Apple Ads help states it for smaller developers.",
   "outcome": "supported",
   "outcome_note": "The current text is OA5's corrected wording; every tier input and field rule is verbatim in Apple's page, and the scale implication is stated by Apple Ads help for smaller developers.",
   "retired": []
  },
  "CL-009": {
   "support": [
    {
     "source_id": "C-S03",
     "passage": "SKAdNetwork 4 release notes: A version of SKAdNetwork available in iOS 16.1 and later.",
     "locator": "Apple, SKAdNetwork release notes (topic list: versions 4, 3, 2.2, 2.1, 2, 1)",
     "clause": "The release notes list no SKAdNetwork 5 (version 4 is the latest)",
     "passage_from": "verify:FX2.verdicts[C-F03].passage"
    },
    {
     "source_id": "C-S05",
     "passage": "SKAdNetwork bridges the conversion values between the two frameworks by mirroring the call into AdAttributionNetwork",
     "locator": "Apple, AdAttributionKit and SKAdNetwork interoperability",
     "clause": "SKAdNetwork is bridged with AdAttributionKit",
     "passage_from": "verify:FX2.verdicts[C-F04].passage"
    }
   ],
   "sources": [
    "C-S03",
    "C-S05"
   ],
   "limitations": "Absence of an announcement is not a guarantee.",
   "scope": "iOS, at 2026-09-27",
   "confidence": "high",
   "confidence_reason": "Official documentation re-checked at the cutoff (FX2, OA5): release notes list versions 1-4 only; class metadata shows no deprecation.",
   "outcome": "supported",
   "outcome_note": "Both documented clauses are verbatim. 'No Apple document opened sets a retirement date' is an absence bounded by the documents opened; FX2 and OA5 also found SKAdNetwork class metadata deprecated=false.",
   "retired": []
  },
  "CL-010": {
   "support": [
    {
     "source_id": "C-S14",
     "passage": "Attribution Reporting | Scheduled for phaseout",
     "locator": "Privacy Sandbox feature status page, Android section (the verifier notes all six Android items share this status)",
     "clause": "At the cutoff Google listed the Android ads APIs as 'scheduled for phaseout'",
     "passage_from": "verify:FX2.verdicts[C-F13].passage"
    },
    {
     "source_id": "C-S15",
     "passage": "we've decided to retire the following Privacy Sandbox technologies: Attribution Reporting API (Chrome and Android)",
     "locator": "Update on Plans for Privacy Sandbox Technologies (17 Oct 2025)",
     "clause": "The retirement was announced",
     "passage_from": "verify:OA5.audit_items[29].passage"
    },
    {
     "source_id": "C-S15",
     "passage": "We will follow Chrome and Android processes for phasing out these technologies and share updates on our developer site.",
     "locator": "Same announcement, closing statement",
     "clause": "No completed-removal date: removal follows later processes",
     "passage_from": "ledger:C-F13.passage"
    }
   ],
   "sources": [
    "C-S14",
    "C-S15"
   ],
   "limitations": "Status pages can lag.",
   "scope": "Android, at 2026-09-27",
   "confidence": "high",
   "confidence_reason": "Google's own status page (last updated 14 Aug 2026) and announcement, re-read by FX2 and OA5.",
   "outcome": "supported",
   "outcome_note": "Status and announcement are verbatim; 'no completed-removal date' is read from the status page (last updated 14 Aug 2026), which shows no Android item as removed (FX2, OA5).",
   "retired": []
  },
  "CL-011": {
   "support": [
    {
     "source_id": "D-S13",
     "passage": "AppsFlyer queries the relevant SRNs using the unique device ID of the new install, where ... ATT consent has been granted on iOS.",
     "locator": "AppsFlyer attribution model, 'Device ID matching for self-reporting networks'",
     "clause": "Self-attributing networks each claim installs from their own data",
     "passage_from": "verify:FX3.verdicts[D-F11].passage"
    },
    {
     "source_id": "D-S13",
     "passage": "Deterministic attribution methods...are given priority if they occur within the lookback window",
     "locator": "AppsFlyer attribution model, priority section",
     "clause": "The attribution company picks one winner by a priority rule",
     "passage_from": "ledger:D-F10.passage"
    },
    {
     "source_id": "D-S23",
     "passage": "provides enhanced conversion recognition and reporting within TikTok Ads Manager, without affecting your MMP's final attribution logic",
     "locator": "TikTok, About Self-Attributing Network integration with MMPs",
     "clause": "A platform's own count and the de-duplicated count differ by design",
     "passage_from": "ledger:D-F13.passage"
    },
    {
     "source_id": "C-S04",
     "passage": "doesn’t include user- or device-specific data",
     "locator": "Apple, AdAttributionKit overview (signed postback)",
     "clause": "Apple postbacks carry no user or device identifier, so they cannot be de-duplicated against platform claims",
     "passage_from": "verify-notes:OA5.audit_items[12].notes (quoted verbatim by the verifier)"
    }
   ],
   "sources": [
    "D-S13",
    "D-S23",
    "C-S04"
   ],
   "limitations": "The size of the overlap varies by app and is not public.",
   "scope": "all",
   "confidence": "high",
   "confidence_reason": "Each platform documents its own claiming path; the attribution company applies one priority rule; Apple's postbacks carry no user identifier.",
   "outcome": "supported",
   "outcome_note": "An inference from documented mechanisms: independent claiming by each platform, a single winner chosen by the attribution company, and identifier-free Apple postbacks. The size of the overlap is not public.",
   "retired": []
  },
  "CL-012": {
   "support": [
    {
     "source_id": "D-S02",
     "passage": "Our dataset consists of results from 563 experiments run on Facebook in the United States. Of these, 75 contained more than one treatment-control pair",
     "locator": "Gordon, Moakler & Zettelmeyer, arXiv v2, section 3.2",
     "clause": "563 US experiments on Facebook",
     "passage_from": "verify:OA3.audit_items[34].passage"
    },
    {
     "source_id": "CS-S10",
     "passage": "Of these, 75 contained more than one treatment-control pair, giving us a total of 663 treatment-control pairs.",
     "locator": "Same paper, section 3.2",
     "clause": "663 randomized test-and-control comparisons",
     "passage_from": "claim-support pass: opened CS-S10 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S10",
     "passage": "we analyze 663 ad experiments run between November 2019 and March 2020 on Facebook.",
     "locator": "Same paper, introduction",
     "clause": "Run November 2019 to March 2020",
     "passage_from": "claim-support pass: opened CS-S10 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "D-S02",
     "passage": "The median RCT lifts are 29%, 18%, and 5% for the upper, middle, and lower funnel outcomes, respectively.",
     "locator": "Same paper, abstract",
     "clause": "Median measured lifts 29%, 18% and 5% by funnel stage",
     "passage_from": "verify:OA3.audit_items[35].passage"
    },
    {
     "source_id": "D-S02",
     "passage": "Using DML (SPSM), the median lift by funnel is 83% (173%), 58% (176%), and 24% (64%), respectively",
     "locator": "Same paper, abstract",
     "clause": "Double machine learning 83%/58%/24%; propensity matching 173%/176%/64%",
     "passage_from": "verify:FX3.verdicts[D-F01].passage"
    }
   ],
   "sources": [
    "D-S02",
    "CS-S10"
   ],
   "limitations": "Facebook feed ads in the US, 2019-2020; not app installs.",
   "scope": "US, Facebook, Nov 2019 - Mar 2020",
   "confidence": "high",
   "confidence_reason": "Peer-reviewed; full text read by the verifier. One author is a Meta employee; two were part-time Facebook employees for data access.",
   "outcome": "supported",
   "outcome_note": "The current text uses the corrected wording (median estimated lifts, not error rates; 563 experiments yielding 663 test-and-control pairs), and every number is verbatim in the full text. The claims-file grade 'qualified' was set for D-F01's first-pass label ('median relative errors'), which is retired. Authors are platform-affiliated; see the confidence reason.",
   "retired": [
    "D-F01"
   ]
  },
  "CL-013": {
   "support": [
    {
     "source_id": "CS-S11",
     "passage": "we stopped all bidding for all non-brand keywords for 60 days",
     "locator": "NBER w20171, section 4 (non-brand keyword test)",
     "clause": "60-day test switching off non-brand search ads",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S11",
     "passage": "For the test, ads were suspended in roughly 30 percent of DMAs.",
     "locator": "NBER w20171, section 4",
     "clause": "In about 30% of US regions (DMAs)",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S11",
     "passage": "ROI ROI Lower Bound ROI Upper Bound 4173% 4139% 4205% 1632% 697% 2265%",
     "locator": "NBER w20171, Table 4, ROI and 95% bounds for column (1) OLS without controls and column (2) OLS with DMA and date fixed effects (PDF text extraction)",
     "clause": "Regression returns of 4,173% (no controls) and 1,632% (region and day controls)",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "OA3-S05",
     "passage": "even accounting for daily and geographic effects implies returns that are greater than 1500 percent, as shown in Column (2)",
     "locator": "NBER w20171, text on Table 4",
     "clause": "Region and day controls still leave the return above 1,500%",
     "passage_from": "verify:OA3.audit_items[36].passage"
    },
    {
     "source_id": "D-S04",
     "passage": "found a ROI of -63%, with a 95% confidence interval of [-124%, -3%]",
     "locator": "Econometrica version (author PDF), experimental estimate",
     "clause": "Experimental estimate of minus 63%",
     "passage_from": "verify:FX3.verdicts[D-F04].passage"
    },
    {
     "source_id": "CS-S11",
     "passage": "we show that brand-keyword ads have no measurable short-term benefits",
     "locator": "NBER w20171, abstract",
     "clause": "Brand-keyword ads showed no measurable short-term benefit",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "D-S04",
    "OA3-S05",
    "CS-S11"
   ],
   "limitations": "Desktop-era paid search for one large, well-known brand. The brand-keyword result comes from separate tests on Yahoo and MSN, with Google as the control.",
   "scope": "US, 2012",
   "confidence": "high",
   "confidence_reason": "Peer-reviewed randomized geo test (Econometrica 2015); Table 4 of NBER w20171 read in full (OA3); authors were eBay researchers.",
   "outcome": "supported",
   "outcome_note": "Every figure is in Table 4 of the working paper (Table 1 of the published version). The paper's introduction says 'over 1,400%' with controls, inconsistent with its own table; the claim uses the table figure.",
   "retired": []
  },
  "CL-014": {
   "support": [
    {
     "source_id": "V3-S06",
     "passage": "contact your Meta Representative for information about obtaining access",
     "locator": "Meta for Developers, Conversion Lift Measurement guide",
     "clause": "Meta: access through a Meta representative",
     "passage_from": "ledger:V3-F05.passage"
    },
    {
     "source_id": "CS-S19",
     "passage": "Facebook randomizes the audience for your ads and assigns Accounts Center accounts to either the test or control group.",
     "locator": "Meta Conversion Lift guide, 'Set Up Studies' (direct retrieval, 27 Sep 2026)",
     "clause": "Meta documents a randomized test-and-control design",
     "passage_from": "direct request to the official page, 27 Sep 2026",
     "kind": "quote"
    },
    {
     "source_id": "CS-S17",
     "passage": "Conversion Lift isn't available for all Google Ads accounts. To use Conversion Lift, contact your Google account representative.",
     "locator": "Google Ads Help, About Conversion Lift, opening",
     "clause": "Google: not available for all accounts; through an account representative",
     "passage_from": "claim-support pass: opened CS-S17 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S17",
     "passage": "People who see your ads (treatment group) People who don't see your ads (control group)",
     "locator": "Google Ads Help, About Conversion Lift, how it works",
     "clause": "Google documents treatment and control groups",
     "passage_from": "claim-support pass: opened CS-S17 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "V3-S09",
     "passage": "As an exclusive managed service, we work closely with eligible accounts to design and implement studies",
     "locator": "TikTok Ads Manager Help, About Conversion Lift Study",
     "clause": "TikTok: managed service for eligible accounts",
     "passage_from": "verify:FX1.verdicts[V3-F05].passage"
    },
    {
     "source_id": "CS-S18",
     "passage": "Conversion Lift Study divide your audience into two groups",
     "locator": "TikTok Ads Manager Help, About Conversion Lift Study, How Conversion Lift Works",
     "clause": "TikTok documents test and control groups",
     "passage_from": "claim-support pass: opened CS-S18 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "V3-S06",
    "CS-S19",
    "V3-S07",
    "CS-S17",
    "V3-S09",
    "CS-S18"
   ],
   "limitations": "Large advertisers may have routine access. Meta's self-serve Experiments tools in Ads Manager were not checked. Google's and TikTok's pages do not state how people are assigned to groups.",
   "scope": "2026",
   "confidence": "medium",
   "confidence_reason": "Official documentation; eligibility rules change.",
   "outcome": "qualified",
   "outcome_note": "Gating by account team or eligibility is verbatim for all three platforms. Meta's guide states random assignment (confirmed by direct retrieval on 27 Sep 2026). Google's and TikTok's pages describe test and control groups without stating how people are assigned, so the claim says 'test and control groups' and names Meta's randomization only. Self-service tools that may exist outside the pages reviewed were not examined.",
   "retired": []
  },
  "CL-015": {
   "support": [
    {
     "source_id": "MAIN-S03",
     "passage": "App campaigns: At least 10 conversions every day (or 300 conversions in 30 days).",
     "locator": "Google Ads Help, About Target ROAS bidding, requirements (App campaigns bullet)",
     "clause": "At least 10 conversions a day (or 300 in 30 days) for target-ROAS bidding",
     "passage_from": "verify:FX4.verdicts[MAIN-F05].passage"
    },
    {
     "source_id": "CS-S07",
     "passage": "The conversion events that you're bidding on (and sending values with) should come from the Firebase SDK.",
     "locator": "Same page, App campaigns note",
     "clause": "Conversions (and their values) sent via Firebase",
     "passage_from": "claim-support pass: opened CS-S07 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S07",
     "passage": "Conversions must have a value greater than 0 to be counted as eligible.",
     "locator": "Same page, note that follows the Demand Gen campaigns bullet",
     "clause": "'With value above zero': NOT established for App campaigns - the note sits under the Demand Gen bullet",
     "passage_from": "claim-support pass: opened CS-S07 on 2026-09-27 (raw page text)",
     "note": "Contrary evidence for one clause of the current text."
    },
    {
     "source_id": "EF-S03",
     "passage": "Making changes to your in-flight campaign before the first 100 conversions have registered may disrupt learning",
     "locator": "Google Ads Help, Best practices for App campaigns",
     "clause": "Google warns against edits before 100 conversions",
     "passage_from": "verify:FX3.verdicts[EF-F02].passage"
    }
   ],
   "sources": [
    "MAIN-S03",
    "CS-S07",
    "EF-S03"
   ],
   "limitations": "Thresholds change; other platforms publish fewer rules. Whether App-campaign conversions must carry a value above zero is not stated in the App campaigns bullet.",
   "scope": "Google App campaigns, 2026",
   "confidence": "high",
   "confidence_reason": "Google Ads Help pages.",
   "outcome": "qualified",
   "outcome_note": "Three clauses are verbatim. 'With value above zero' is not established as an App-campaign requirement: FX4 and the claim-support re-read place that note under the Demand Gen bullet (FX3 had read it as general), and chapter 5 omits it. Recommend dropping the phrase from the claim text. MAIN-F05's first-pass record, which stated the value rule for App campaigns, is retired.",
   "retired": [
    "MAIN-F05"
   ]
  },
  "CL-016": {
   "support": [
    {
     "source_id": "MAIN-S03",
     "passage": "App campaigns: At least 10 conversions every day (or 300 conversions in 30 days).",
     "locator": "Google Ads Help, About Target ROAS bidding",
     "clause": "Engines learn from common events: minimum event volume for value bidding",
     "passage_from": "verify:FX4.verdicts[MAIN-F05].passage"
    },
    {
     "source_id": "MAIN-S05",
     "passage": "This usually occurs after about 50 results in the week after the ad set’s last significant edit.",
     "locator": "Meta Business Help, About the learning phase",
     "clause": "Common, recent events: learning exits after about 50 results a week",
     "passage_from": "verify:FX4.verdicts[MAIN-F07].passage"
    },
    {
     "source_id": "GH-S10",
     "passage": "By Day 7, in-app advertising has generated 89% of its full Day 60 total",
     "locator": "AppsFlyer, State of App Monetization 2026",
     "clause": "Early events: ad revenue arrives within days",
     "passage_from": "verify:FX3.verdicts[GH-F14].passage"
    },
    {
     "source_id": "CS-S07",
     "passage": "The conversion events that you're bidding on (and sending values with) should come from the Firebase SDK.",
     "locator": "Google Ads Help, About Target ROAS bidding, App campaigns note",
     "clause": "Valued events: bid-on events carry values",
     "passage_from": "claim-support pass: opened CS-S07 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "MAIN-S01",
     "passage": "driven entirely by iOS, which surged 35% while Android remained flat (-1%). Non-gaming led the expansion, rising 18% YoY to $53 billion",
     "locator": "AppsFlyer report, section 03 (UA spend)",
     "clause": "In 2025 budgets grew fastest on iOS and in non-game apps",
     "passage_from": "verify:FX4.verdicts[MAIN-F02].passage"
    },
    {
     "source_id": "C-S02",
     "passage": "conversion-value, a fine-grained conversion value available only in the first postback",
     "locator": "Apple, Receiving postbacks in multiple conversion windows",
     "clause": "iOS signal is thinner: fine values only in the first postback",
     "passage_from": "verify:OA5.verdicts[CL-008].passage"
    },
    {
     "source_id": "OA4-S04",
     "passage": "As of Q2 2025, the industry-wide average opt-in (based on users shown the prompt) rate sits at 35%",
     "locator": "Adjust blog, ATT opt-in benchmarks (July 2025)",
     "clause": "iOS signal is thinner: about a third of users shown the prompt opt in",
     "passage_from": "verify:OA4.audit_items[22].passage"
    },
    {
     "source_id": "V3-S01",
     "passage": "VBO (Android only)",
     "locator": "TikTok Ads Manager Help, About Smart+ App Campaigns",
     "clause": "iOS signal is thinner: TikTok's Smart+ value bidding is Android-only",
     "passage_from": "verify:FX1.verdicts[V3-F13].passage"
    },
    {
     "source_id": "OA1-S13",
     "passage": "Value-based Optimization (VBO) for app is available for Android and iOS app campaigns using the app promotion objective.",
     "locator": "TikTok Ads Manager Help, About Value-based Optimization for app",
     "clause": "Counterevidence: TikTok's standard app campaigns offer value bidding on iOS",
     "passage_from": "verify:OA1.verdicts[V3-F13].passage",
     "note": "Bounds the Smart+ point above."
    },
    {
     "source_id": "GH-S07",
     "passage": "Retention declined slightly across the board from the 2023 cohort to the 2024 cohort. Benchmarks to know Yearly: 31% → 28% median (-3%).",
     "locator": "RevenueCat State of Subscription Apps 2026, retention benchmarks",
     "clause": "Non-game signal is later: annual-plan renewal is only observed after a year",
     "passage_from": "verify:OA4.verdicts[GH-F10].passage"
    }
   ],
   "sources": [
    "MAIN-S03",
    "CS-S07",
    "MAIN-S05",
    "GH-S10",
    "MAIN-S01",
    "C-S02",
    "OA4-S04",
    "V3-S01",
    "OA1-S13",
    "GH-S07"
   ],
   "limitations": "Budget size and margins also explain category mix; the Shopping surge (+70%, +123% on iOS) was tied to China-based e-commerce budgets. Growth in spend is not evidence about bidding performance. 'Signal is thinner in non-game apps' is inferred from late-arriving subscription value, not measured.",
   "scope": "all",
   "confidence": "medium",
   "confidence_reason": "Built from documented thresholds and panel timing data; not tested directly.",
   "outcome": "qualified",
   "outcome_note": "Qualified synthesis (review section 5). The thresholds and the 2025 growth pattern are verbatim; 'where signal is thinner' is supported for iOS (privacy tiers, opt-in rates, Smart+ value bidding) and inferred for non-game apps from late-arriving subscription value. Budget growth is not evidence that thinner signal helps or hinders bidding. MAIN-F05's first-pass record (value-above-zero rule for App campaigns) is retired.",
   "retired": [
    "MAIN-F05"
   ]
  },
  "CL-017": {
   "support": [
    {
     "source_id": "D-S18",
     "passage": "Robyn utilizes the Hill function to reflect the saturation of each media channel.",
     "locator": "Robyn, An Analyst's Guide to MMM",
     "clause": "Open-source mix models use saturating response curves (Robyn)",
     "passage_from": "verify:FX3.verdicts[EF-F26].passage"
    },
    {
     "source_id": "CS-S22",
     "passage": "The model builds in assumptions about complex, real-world effects like the lagged effect of advertising and saturation",
     "locator": "Google Meridian introduction, modeling stage",
     "clause": "Open-source mix models use saturating response curves (Meridian)",
     "passage_from": "claim-support pass: opened CS-S22 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "D-S18",
    "D-S17",
    "CS-S22"
   ],
   "limitations": "Real curves must be estimated.",
   "scope": "any channel",
   "confidence": "high",
   "confidence_reason": "Mathematical property of the curves used in open-source mix models; the numbers in the model are synthetic.",
   "outcome": "model property",
   "outcome_note": "A reproducible property of any concave (saturating) response curve: the average return (total return over total spend) exceeds the marginal return at the current spend, so the average can exceed cost while the last dollar returns less. The numbers in the paper's model are synthetic teaching values; the sources only establish that mix models use such curves. 'Unresolved' was the wrong label (review section 5).",
   "retired": []
  },
  "CL-018": {
   "support": [
    {
     "source_id": "CS-S11",
     "passage": "we show that brand-keyword ads have no measurable short-term benefits",
     "locator": "NBER w20171, abstract",
     "clause": "Brand-search attributed returns include demand that already existed",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S11",
     "passage": "more frequent users whose purchasing behavior is not influenced by ads account for most of the advertising expenses",
     "locator": "NBER w20171, abstract",
     "clause": "Paid search spend is absorbed by users who would buy anyway",
     "passage_from": "claim-support pass: opened CS-S11 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "D-S04",
     "passage": "found a ROI of over 4,100% without time and geographic controls... found a ROI of -63%",
     "locator": "Blake, Nosko & Tadelis, Table 1 / ROI section",
     "clause": "Attribution-style estimates far exceed the experimental return",
     "passage_from": "ledger:D-F04.passage"
    },
    {
     "source_id": "G3-S01",
     "passage": "the ads lifted website visits by 17.2% and purchases by 10.5%",
     "locator": "Johnson, Lewis & Nubbemeyer, JMR 2017, abstract",
     "clause": "Remarketing: randomized lift is modest, so most credited visits would have happened anyway",
     "passage_from": "ledger:G3-F01.passage"
    },
    {
     "source_id": "G3-S02",
     "passage": "switching on experimental retargeting causes 14.6% more users to return to the website within four weeks",
     "locator": "Sahni, Narayanan & Kalyanam, JMR 2019, abstract",
     "clause": "Remarketing: modest randomized lift",
     "passage_from": "verify:FX5.verdicts[G3-F02].passage"
    },
    {
     "source_id": "D-S03",
     "passage": "The median confidence interval on return on investment is over 100 percentage points wide.",
     "locator": "Lewis & Rao, QJE 2015, abstract",
     "clause": "Holdout tests need scale to be informative (bounds the recommendation)",
     "passage_from": "verify:FX3.verdicts[D-F03].passage"
    },
    {
     "source_id": "G3-S03",
     "passage": "for a set of brands that face competition on their brand search but choose not to advertise, competitors “steal” 18%–42% of clicks",
     "locator": "Simonov, Nosko & Rao, Marketing Science 2018",
     "clause": "Counterevidence: brand search can protect clicks when rivals bid on the brand term",
     "passage_from": "verify:FX5.verdicts[G3-F03].passage",
     "note": "Bounds the claim; the authors flag possible selection."
    }
   ],
   "sources": [
    "D-S04",
    "OA3-S05",
    "CS-S11",
    "G3-S01",
    "G3-S02",
    "D-S03",
    "G3-S03"
   ],
   "limitations": "Apps with high early churn may gain more from remarketing. Brand search can protect clicks when rivals bid on the brand term (Simonov et al.). Holdout tests need enough budget and power to be informative (Lewis & Rao).",
   "scope": "all",
   "confidence": "medium",
   "confidence_reason": "Randomized evidence from paid search and web retargeting (eBay, ghost ads, Sahni et al.); no independent app-remarketing test was found.",
   "outcome": "qualified",
   "outcome_note": "The first clause rests on web and search experiments, not app remarketing; the second is the author's recommendation, bounded by budget, statistical power and feasible test design (review section 5). D-F01's first-pass record is retired: its label was superseded, and the Facebook study tests statistical corrections rather than remarketing attribution.",
   "retired": [
    "D-F01"
   ]
  },
  "CL-019": {
   "support": [
    {
     "source_id": "MAIN-S04",
     "passage": "you'll see product page impressions, downloads, redownloads, and conversion rates to understand how effective each page is",
     "locator": "Apple, Custom product pages, measuring performance",
     "clause": "Apple documents per-page analytics for custom pages, with no random split or significance test",
     "passage_from": "verify:FX3.verdicts[EF-F28].passage"
    },
    {
     "source_id": "CS-S23",
     "passage": "These will be shown to a percentage of randomly selected people on the App Store in iOS and iPadOS 15 or later",
     "locator": "Apple, Product page optimization",
     "clause": "Contrast: for product page optimization Apple does state random assignment; the custom-page page does not",
     "passage_from": "claim-support pass: opened CS-S23 on 2026-09-27 (raw page text)",
     "note": "Contrast evidence."
    },
    {
     "source_id": "MAIN-S04",
     "passage": "The unique URL adds a new product page ID parameter to the default product page URL.",
     "locator": "Apple, Custom product pages",
     "clause": "Custom pages route traffic through their own URLs",
     "passage_from": "verify:FX3.verdicts[EF-F10].passage"
    },
    {
     "source_id": "CS-S24",
     "passage": "Share your custom product pages with different audiences through unique URLs, and use them within Apple Ads campaigns",
     "locator": "Apple, Custom product pages, overview",
     "clause": "Custom pages receive different, targeted traffic",
     "passage_from": "claim-support pass: opened CS-S24 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "MAIN-S04",
     "passage": "Developers see a 2.5 percentage point increase on average when referring people to a custom product page. This is a 156% increase",
     "locator": "Apple, Custom product pages, statistics block",
     "clause": "A 2.5 percentage-point average lift, which Apple calls 156%",
     "passage_from": "verify:OA5.audit_items[49].passage"
    },
    {
     "source_id": "MAIN-S04",
     "passage": "a 156% increase compared to the 1.6% average conversion rate on default product pages",
     "locator": "Apple, Custom product pages, statistics block",
     "clause": "Against a 1.6% default-page rate",
     "passage_from": "verify:FX3.verdicts[EF-F12].passage"
    }
   ],
   "sources": [
    "MAIN-S04",
    "CS-S24",
    "OA5-S02",
    "CS-S23"
   ],
   "limitations": "Teams can build their own tests around custom pages.",
   "scope": "iOS App Store",
   "confidence": "high",
   "confidence_reason": "Apple documentation (custom product pages and product page optimization), re-read by FX3, FX4, OA5 and the claim-support pass.",
   "outcome": "supported",
   "outcome_note": "The current text is OA5's corrected wording. 'Compares pages that receive different traffic' is the authors' reading of Apple's own framing ('when referring people'). EF-F28's first-pass passage is retired because it was a paraphrase in quotation marks (FX3). EF-S01 was dropped from the source list: it documents product page optimization statistics, not custom pages; OA5-S02 carries the randomization contrast.",
   "retired": [
    "EF-F28"
   ]
  },
  "CL-020": {
   "support": [
    {
     "source_id": "FX4-S01",
     "passage": "the estimated comparisons confound the effect of the ad content with the effect of algorithmic targeting",
     "locator": "Braun & Schwartz, accepted preprint (Aug 2024)",
     "clause": "A creative 'win' mixes the ad's effect with targeting",
     "passage_from": "verify:FX4.verdicts[G1-F01].passage"
    },
    {
     "source_id": "FX4-S01",
     "passage": "the confounds caused by divergent delivery across ads are not solved by using a holdout test within each ad",
     "locator": "Same preprint",
     "clause": "Delivery sends versions to different audiences, even with a holdout per ad",
     "passage_from": "verify:OA3.audit_items[ref108].passage"
    },
    {
     "source_id": "G1-S01",
     "passage": "experimenters 'may not be learning what they think they are learning from ad A/B tests'",
     "locator": "Journal of Marketing 89(2), 2025, abstract",
     "clause": "Published conclusion",
     "passage_from": "ledger:G1-F01.passage"
    }
   ],
   "sources": [
    "G1-S01",
    "FX4-S01"
   ],
   "limitations": "Size of the bias varies by platform and campaign. The field test had a web lead-form outcome, not an app event. The authors still endorse platform split tests for predicting rollout on the same platform with the same settings.",
   "scope": "ad platforms generally (formal argument); one Meta field test",
   "confidence": "medium",
   "confidence_reason": "Peer-reviewed (Journal of Marketing 2025); the authors' accepted preprint was read in full (FX4, OA3). Empirical evidence is one Meta A/B test with holdout; the general claim is argued formally.",
   "outcome": "supported",
   "outcome_note": "The claim restates the paper's conclusion. Empirical support is one Meta A/B test with holdout (web lead-form outcome); the general statement is the authors' formal argument. G1-F02's first-pass passage is retired: it was a paraphrase, and cross-platform non-comparability is an inference, not a finding (FX4).",
   "retired": [
    "G1-F02"
   ]
  },
  "CL-021": {
   "support": [
    {
     "source_id": "EF-S17",
     "passage": "Petition GRANTED limited to Question 1 presented by the petition.",
     "locator": "Supreme Court docket No. 25-1311, entry of Jun 30 2026",
     "clause": "On 30 June 2026 the Supreme Court agreed to hear the appeal, limited to Question 1",
     "passage_from": "verify:FX2.verdicts[EF-F14].passage"
    },
    {
     "source_id": "CS-S21",
     "passage": "Whether a court may hold a party in civil contempt based on a violation of an injunction's \"spirit\"",
     "locator": "Questions presented, No. 25-1311, Question 1",
     "clause": "Question 1: whether contempt can rest on breaking an injunction's 'spirit'",
     "passage_from": "claim-support pass: opened CS-S21 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "EF-S06",
     "passage": "based on the costs that are genuinely and reasonably necessary for its coordination of external links for linked-out purchases, but no more",
     "locator": "Ninth Circuit opinion, No. 25-2935 (11 Dec 2025)",
     "clause": "The permissible link-out fee is being set by the trial court on remand",
     "passage_from": "verify:FX2.verdicts[EF-F13].passage"
    },
    {
     "source_id": "FX3-S04",
     "passage": "Having considered the parties' filings, the record in this case, oral argument, and as confirmed on the record, the motion is DENIED in its entirety.",
     "locator": "N.D. Cal. No. 4:20-cv-05640-YGR, Dkt. 1706, filed 08/11/26",
     "clause": "The trial court refused Apple's request to pause the remand",
     "passage_from": "verify:OA2.audit_items[9].passage"
    },
    {
     "source_id": "CS-S27",
     "passage": "ORDER DENYING APPLE'S MOTION TO STAY PROCEEDINGS by Judge Yvonne Gonzalez Rogers Denying 1697 Motion to Stay.",
     "locator": "CourtListener docket, entry 1706, filed 11 Aug 2026",
     "clause": "... on 11 August 2026",
     "passage_from": "claim-support pass: opened CS-S27 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S20",
     "passage": "Application (26A194) denied by Justice Kagan.",
     "locator": "Supreme Court docket No. 25-1311, entry of Aug 13 2026",
     "clause": "Justice Kagan denied Apple's stay application on 13 August",
     "passage_from": "claim-support pass: opened CS-S20 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S27",
     "passage": "STATUS REPORT Regarding Apple's Document Production by Epic Games, Inc.. (Bornstein, Gary) (Filed on 9/25/2026)",
     "locator": "CourtListener docket, newest entry before the cutoff (1719, 25 Sep 2026); entries 1706-1719 contain no order setting a commission",
     "clause": "No fee had been approved at the cutoff (docket-bounded)",
     "passage_from": "claim-support pass: opened CS-S27 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "EF-S17",
    "CS-S20",
    "FX2-S21",
    "CS-S21",
    "EF-S06",
    "FX3-S04",
    "FX3-S05",
    "CS-S27"
   ],
   "limitations": "Case status after 27 September 2026 is not reflected. The no-fee clause rests on CourtListener's RECAP docket, which warns that items 'may not be up to date'; PACER was not checked.",
   "scope": "US (N.D. Cal. remand; Supreme Court No. 25-1311), at 2026-09-27",
   "confidence": "high",
   "confidence_reason": "Primary court records for each clause: Supreme Court docket and questions presented; the district court's order of 11 August 2026 (Dkt. 1706); the Ninth Circuit opinion; the district docket as captured on 27 September 2026.",
   "outcome": "supported",
   "outcome_note": "Each clause now has its own court source: the grant and its limit (Supreme Court docket, question presented), the remand on the fee (Ninth Circuit), the trial court's 11 August refusal (Dkt. 1706, FX3-S04), and Justice Kagan's 13 August denial (Supreme Court docket). 'No fee had been approved' is a docket-bounded absence. EF-F13's first-pass record (opinion read through law-firm summaries) and EF-F14's (which placed the fee question before the Supreme Court) are retired.",
   "retired": [
    "EF-F13",
    "EF-F14"
   ]
  },
  "CL-022": {
   "support": [
    {
     "source_id": "CS-S06",
     "passage": "During a subscriber’s first year of service, you receive 70% of the subscription price at each billing cycle, minus applicable taxes.",
     "locator": "Apple, Auto-renewable subscriptions, '85% net revenue after one year'",
     "clause": "Apple's 30% tier: the developer keeps 70% ($6.99 of $9.99)",
     "passage_from": "claim-support pass: opened CS-S06 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "GH-S02",
     "passage": "After a subscriber accumulates one year of paid service, your net revenue increases to 85% of the subscription price, minus applicable taxes.",
     "locator": "Same page",
     "clause": "The 15% tier after a year of paid service",
     "passage_from": "verify:FX3.verdicts[GH-F01].passage"
    },
    {
     "source_id": "GH-S01",
     "passage": "Developers who made up to $1 million USD in proceeds in the prior calendar year",
     "locator": "Apple, App Store Small Business Program",
     "clause": "The 15% tier for a first-year payment (small-business developers)",
     "passage_from": "verify:FX3.verdicts[GH-F02].passage"
    },
    {
     "source_id": "G2-S15",
     "passage": "2.9% + 30¢ per successful transaction for domestic cards",
     "locator": "stripe.com/pricing",
     "clause": "Stripe's 2.9% + $0.30 card rate",
     "passage_from": "verify:FX4.verdicts[G2-F16].passage"
    }
   ],
   "sources": [
    "CS-S06",
    "GH-S02",
    "GH-S01",
    "G2-S15"
   ],
   "limitations": "Excludes billing software, tax handling, chargebacks, fraud, support and conversion loss on web checkout, and any future US link-out fee. The 15% rate on a first-year payment requires Small Business Program enrolment (OA2).",
   "scope": "US, card payments",
   "confidence": "high",
   "confidence_reason": "Arithmetic on published rates.",
   "outcome": "supported",
   "outcome_note": "Arithmetic on published rates for one $9.99 payment, card fees only (see derivation); it does not transfer to a variable-price model (review R2-06).",
   "retired": [],
   "derivation": "30% tier: 9.99 x 0.70 = 6.993. 15% tier: 9.99 x 0.85 = 8.4915. Web: 9.99 - (0.029 x 9.99 + 0.30) = 9.400. 9.400/6.993 = 1.344 (+34%); 9.400/8.4915 = 1.107 (+11%)."
  },
  "CL-023": {
   "support": [
    {
     "source_id": "GH-S13",
     "passage": "This Kaggle challenge provides almost 350 million rows of completely anonymised transactional data from over 300,000 shoppers.",
     "locator": "google/lifetime_value README, datasets section",
     "clause": "Validated on a retail shopper dataset",
     "passage_from": "verify:FX3.verdicts[GH-F18].passage"
    },
    {
     "source_id": "CS-S05",
     "passage": "The provided dataset contains around 200K such donors who received the 1997 mailing and did not make a donation in the previous 12 months.",
     "locator": "google/lifetime_value README, KDD Cup 98 section",
     "clause": "... and a charity donor dataset",
     "passage_from": "claim-support pass: opened CS-S05 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "GH-S12",
    "GH-S13",
    "CS-S05"
   ],
   "limitations": "Firms may validate it privately on app data. The paper's own result tables were not re-extracted. A separate, non-peer-reviewed Tencent preprint used the method as a baseline on one mobile game, where it scored worst on top-5% error (OA3); that is a third-party comparison, not the authors' validation.",
   "scope": "method",
   "confidence": "high",
   "confidence_reason": "Repository README read in full (FX3, claim-support pass); the paper was read at abstract level.",
   "outcome": "supported",
   "outcome_note": "Both validation datasets are verbatim in the authors' repository; 'not on app install cohorts' is an absence across the paper's abstract and the repository (FX3).",
   "retired": []
  },
  "CL-024": {
   "support": [
    {
     "source_id": "IJ-S27",
     "passage": "Sophisticated Invalid Traffic Detection/Filtration Adloox D, MW Amazon Ads Sponsored Products Total only DoubleVerify Quality Analytics Platform ^^^ D, MW, MA, CTV",
     "locator": "MRC Digital Accreditation listing, SIVT section (re-read 27 Sep 2026)",
     "clause": "SIVT accreditation covering mobile in-app (MA): DoubleVerify",
     "passage_from": "verify:OA4.audit_items[68].passage"
    },
    {
     "source_id": "IJ-S27",
     "passage": "HUMAN...Scope: D, MW, MA, CTV; Integral Ad Science...Scope: D, MW, MA, CTV; Pixalate...Scope: D, MW, MA, CTV; Protected Media...Scope: D, MW, MA, CTV",
     "locator": "Same listing",
     "clause": "HUMAN, IAS, Pixalate and Protected Media",
     "passage_from": "ledger:IJ-F28.passage"
    },
    {
     "source_id": "IJ-S27",
     "passage": "Google Ads...Scope: D, MW, MA, CTV",
     "locator": "Same listing",
     "clause": "Some Google services",
     "passage_from": "ledger:IJ-F28.passage"
    },
    {
     "source_id": "IJ-S27",
     "passage": "Meta: Facebook and Instagram Ads ... Sophisticated Invalid Traffic Detection/Filtration D, MW, MA",
     "locator": "Same listing",
     "clause": "Some Meta services",
     "passage_from": "verify:FX3.verdicts[IJ-F28].passage"
    }
   ],
   "sources": [
    "IJ-S27"
   ],
   "limitations": "Absence from the list says nothing about tool quality. MRC's SIVT scope is impression and click measurement, not install attribution.",
   "scope": "MRC digital accreditation listing, checked 2026-09-27",
   "confidence": "medium",
   "confidence_reason": "Read from MRC's listing page (FX3; re-read by OA4 on 27 Sep 2026); lists change and the page shows no issue dates.",
   "outcome": "supported",
   "outcome_note": "The named holders are verbatim in the listing. The absence of AppsFlyer, Adjust, Singular and Kochava is an absence on the page as read on 27 September 2026 (OA4: zero mentions), and the claim itself states that absence does not show no audit took place.",
   "retired": []
  },
  "CL-025": {
   "support": [
    {
     "source_id": "CS-S28",
     "passage": "Uber is suing mobile marketing agency Fetch Media for allegedly \"squandering\" tens of millions of dollars on its ads.",
     "locator": "CNBC, 19 Sep 2017, key points",
     "clause": "Uber's 2017 suit against Fetch Media over mobile ads",
     "passage_from": "claim-support pass: opened CS-S28 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S28",
     "passage": "fraudulently claiming credit for app downloads that happened without a customer ever clicking on an ad",
     "locator": "CNBC, 19 Sep 2017, Uber's statement",
     "clause": "Allegedly fraudulent mobile ad credit",
     "passage_from": "claim-support pass: opened CS-S28 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S08",
     "passage": "the same California federal court where Uber had sued Fetch, contending the advertising firm has billed it for nonviewable, nonexistent or fake ads",
     "locator": "PYMNTS, Jan 2018",
     "clause": "A federal suit",
     "passage_from": "claim-support pass: opened CS-S08 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S08",
     "passage": "That case was dismissed voluntarily by Uber on Dec. 22 after it was reassigned to U.S. District Judge Yvonne Gonzalez Rogers.",
     "locator": "PYMNTS, Jan 2018",
     "clause": "Dismissed that year (voluntarily, 22 Dec 2017)",
     "passage_from": "claim-support pass: opened CS-S08 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S26",
     "passage": "WHEREAS, Phunware filed a civil action in the San Francisco Superior Court, Phunware, Inc. v. Uber Technologies, Inc., Case No. CGC-17-561546",
     "locator": "Settlement agreement, recitals",
     "clause": "A separate state case",
     "passage_from": "claim-support pass: opened CS-S26 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S26",
     "passage": "Phunware Inc. (“Phunware”) and individuals Alan Knitowski, Marty Borotsik, Andrew Cook, and David Stasiuk",
     "locator": "Settlement agreement, preamble",
     "clause": "Uber, Phunware and four individuals",
     "passage_from": "claim-support pass: opened CS-S26 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S26",
     "passage": "Uber will receive total payments in the amount of SIX MILLION DOLLARS ($6,000,000)",
     "locator": "Settlement agreement, recitals",
     "clause": "Settled for $6 million",
     "passage_from": "claim-support pass: opened CS-S26 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S26",
     "passage": "This Settlement Agreement and Release (the “Agreement”) is made effective the 9th day of October, 2020",
     "locator": "Settlement agreement, preamble",
     "clause": "In October 2020",
     "passage_from": "claim-support pass: opened CS-S26 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "IJ-S04",
     "passage": "the Parties, and each of them, deny engaging in any wrongdoing whatsoever",
     "locator": "Settlement agreement, recitals",
     "clause": "All denying wrongdoing",
     "passage_from": "verify:FX3.verdicts[IJ-F11].passage"
    }
   ],
   "sources": [
    "IJ-S05",
    "CS-S28",
    "IJ-S06",
    "CS-S08",
    "IJ-S04",
    "CS-S26"
   ],
   "limitations": "Settlements are not findings of fraud. The dismissal date and 'voluntarily' come from trade press citing Reuters, not the federal docket; a reported Uber-Fetch settlement is not confirmed by any source opened.",
   "scope": "US (California federal court, 2017; San Francisco Superior Court, settled 2020)",
   "confidence": "high",
   "confidence_reason": "Settlement agreement filed as an SEC exhibit (read through its Internet Archive capture) and contemporaneous press reports of the federal suit and its dismissal.",
   "outcome": "supported",
   "outcome_note": "Every clause is now verbatim: the federal suit and its dismissal from contemporaneous press (CNBC; PYMNTS citing Reuters), the state settlement from the agreement itself. IJ-F10 and IJ-F11's first-pass records are retired: the first merged two proceedings and quoted a report about a later suit; the second paraphrased the denial and relied on an unconfirmed Uber-Fetch settlement (FX3).",
   "retired": [
    "IJ-F10",
    "IJ-F11"
   ]
  },
  "CL-026": {
   "support": [
    {
     "source_id": "IJ-S08",
     "passage": "Early results show up to 1.5x higher return on investment on CTV than mobile when running campaigns across both",
     "locator": "Moloco press release, Performance CTV (April 2026)",
     "clause": "CTV-to-app lift claims located were vendor-reported, with no test design disclosed",
     "passage_from": "verify:FX3.verdicts[IJ-F19].passage"
    },
    {
     "source_id": "V1-S13",
     "passage": "Run ghost-bidding incrementality tests to measure the true incremental lift",
     "locator": "moloco.com/solutions/ctv",
     "clause": "Vendor-designed tests (ghost-bid holdouts run by the vendor)",
     "passage_from": "ledger:V1-F03.passage"
    },
    {
     "source_id": "G1-S09",
     "passage": "The ROI analysis shows negative ROIs at the margin for more than 80% of brands",
     "locator": "Shapiro, Hitsch & Tuchman, Econometrica 2021, abstract",
     "clause": "The closest independent causal TV evidence measures brand sales, not app installs",
     "passage_from": "verify:FX4.verdicts[G1-F12].passage"
    }
   ],
   "sources": [
    "IJ-S08",
    "V1-S13",
    "G1-S09"
   ],
   "limitations": "Private or unindexed studies may exist. A targeted academic-database search was not completed.",
   "scope": "at cutoff",
   "confidence": "medium",
   "confidence_reason": "Searches in two streams (IJ, G1) found none, but the web-search quota was exhausted and academic-database searches were partial (IJ open questions; FX3; FX4); absence claims are bounded by search reach.",
   "outcome": "qualified",
   "outcome_note": "Search-bounded absence: no passage can prove it. The passages show that the located CTV-to-app lift claims were vendor-designed and vendor-reported and that the closest causal TV study concerns brand sales. Search records: evidence/research/IJ.json open_questions[4] and [6]; G1-F12 (FX4). IJ-S10 was dropped from the source list: its recorded passage concerns panel size, not a lift claim.",
   "retired": []
  },
  "CL-027": {
   "support": [
    {
     "source_id": "CS-S15",
     "passage": "App campaigns help you promote your apps across Google’s largest properties including Search, Google Play, YouTube, Discover on Google Search, and the Google Display Network.",
     "locator": "Google Ads Help, About App campaigns",
     "clause": "Google's automated app campaigns choose placements across its properties",
     "passage_from": "claim-support pass: opened CS-S15 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S15",
     "passage": "You can simply add a few lines of text, a bid, some assets, and App campaigns automatically optimize your ads for you.",
     "locator": "Google Ads Help, About App campaigns",
     "clause": "... and optimize automatically",
     "passage_from": "claim-support pass: opened CS-S15 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S14",
     "passage": "App name & publisher refers to the app’s display name, linked to its page on the Google Play or iTunes App Store.",
     "locator": "Google Ads Help, App campaigns placement reports, 'Placement categories'",
     "clause": "The placement report names apps and publishers",
     "passage_from": "claim-support pass: opened CS-S14 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S14",
     "passage": "Website URL: This refers to the primary domain address of the website. Video title: This refers to the specific video’s display name",
     "locator": "Same page, placement categories",
     "clause": "... websites and videos",
     "passage_from": "claim-support pass: opened CS-S14 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "OA1-S01",
     "passage": "For now, impressions are the only performance metric available in App campaign placement reports.",
     "locator": "Same page, report instructions",
     "clause": "Impressions only",
     "passage_from": "verify:OA1.audit_items[1].passage"
    },
    {
     "source_id": "CS-S14",
     "passage": "Data for placements that don’t meet these limits are consolidated into the \"Total: other\" category.",
     "locator": "Same page, 'Data limitations'",
     "clause": "Groups low-volume placements",
     "passage_from": "claim-support pass: opened CS-S14 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "V3-S01",
     "passage": "Manually selecting your placements is not supported by Smart+ Campaigns at this time, as it will default to automatic placement selection.",
     "locator": "TikTok Ads Manager Help, About Smart+ App Campaigns",
     "clause": "TikTok's Smart+ does not allow manual placement choice",
     "passage_from": "verify:FX1.verdicts[V3-F03].passage"
    },
    {
     "source_id": "FX1-S23",
     "passage": "We support the following breakdowns: age, gender, age and gender, country, impression device, platform, platform and device, and placement.",
     "locator": "Meta Business Help, About targeting and reporting for Advantage+ app campaigns",
     "clause": "Meta lists placement among reporting breakdowns (no publisher-app breakdown is listed)",
     "passage_from": "verify:OA1.audit_items[ref155].passage"
    }
   ],
   "sources": [
    "CS-S15",
    "OA1-S01",
    "CS-S14",
    "V3-S01",
    "FX1-S23"
   ],
   "limitations": "Help pages are undated living documents. Google's API pages (FX1-S24) show no placement view; the report is in the Google Ads interface. Meta's 'placement' breakdown means surfaces such as Feed or Audience Network, not publisher apps.",
   "scope": "2026",
   "confidence": "high",
   "confidence_reason": "Official help pages opened directly: Google's placement-report and App campaigns pages (OA1, claim-support pass), TikTok's Smart+ page (FX1, OA1) and Meta's Advantage+ targeting-and-reporting page (FX1 browser read, OA1).",
   "outcome": "supported",
   "outcome_note": "The Google and TikTok clauses are verbatim, and Meta's placement breakdown is verbatim; the absence of a publisher-app breakdown is read from Meta's breakdown list itself. For Meta, 'chooses placements for the buyer' (Advantage+ placements applied automatically) was recorded by FX1 and OA1 in their notes, but no verbatim passage for it is on file. MAIN-F09's first-pass passage (a paraphrase) and V3-F02 (contradicted: it inferred no placement reporting from Google's API pages) are retired.",
   "retired": [
    "MAIN-F09",
    "V3-F02"
   ]
  },
  "CL-028": {
   "support": [],
   "sources": [],
   "limitations": "Private studies may exist. No dedicated search log exists for this question, and web-search quota ran out in two streams.",
   "scope": "at cutoff",
   "confidence": "medium",
   "confidence_reason": "Absence across the research streams; no stream recorded a study of the net value of transparency or self-serve control.",
   "outcome": "qualified",
   "outcome_note": "Search-bounded absence with no source and no passage by construction. No research stream recorded a study of the net value of transparency or self-serve control; the web-search quota was exhausted in the KL and V3 passes (KL.json and V3.json open questions), so the search was not exhaustive. The tool that follows the claim in chapter 10 uses illustrative defaults, not survey data.",
   "retired": []
  },
  "CL-029": {
   "support": [
    {
     "source_id": "CS-S25",
     "passage": "App marketers need growth across install, engagement, retention, commerce, subscription, CTV extension, measurement, and LTV.",
     "locator": "Author's Mobile App Growth Playbook, 'The reframe'",
     "clause": "The 'Apps DSP' capability checklist (the author's own framing)",
     "passage_from": "claim-support pass: opened CS-S25 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S25",
     "passage": "Mobile DSP describes the channel. Apps DSP describes the buyer problem.",
     "locator": "Same page",
     "clause": "'Apps DSP' is proposed as a buyer-problem frame",
     "passage_from": "claim-support pass: opened CS-S25 on 2026-09-27 (raw page text)"
    }
   ],
   "sources": [
    "CP-01",
    "CS-S25"
   ],
   "limitations": "Matrix measures documentation, not effectiveness. Commerce, in the playbook's list, has no matrix field and is left out of the screen.",
   "scope": "vendor panel at cutoff",
   "confidence": "medium",
   "confidence_reason": "Based on the capability matrix (documentation, not outcomes) and the absence of outcome comparisons.",
   "outcome": "author analysis",
   "outcome_note": "Result of the author's own screen on the author's own capability matrix, recomputed from data/scores_final.json (see derivation); scores describe documentation, not performance. 'We did not find public comparative evidence' is a search-bounded absence. CP-01 is the author's own playbook, cited as the origin of the checklist, not as evidence for it.",
   "retired": [],
   "derivation": "data/scores_final.json, execution products (11), core dimensions D1, D2, D3, D7, D8, D9, D10 with documented score >= 2 (scripts/build_paper.py appsdsp_text). Full set: Moloco (1 of 11). At least five of seven, excluding the full-set product: AppLovin, Jampp (6), Kayzen, Remerge, Verve Dataseat (5 products). Recomputed 2026-09-27."
  },
  "CL-030": {
   "support": [
    {
     "source_id": "CS-S16",
     "passage": "All around 400 tools load at connection time.",
     "locator": "TikTok, About TikTok for Business MCP Server, 'Server URLs and tool loading strategies'",
     "clause": "TikTok's agent server exposes about 400 functions",
     "passage_from": "claim-support pass: opened CS-S16 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S16",
     "passage": "an agent connected to TikTok for Business MCP Server can create campaigns, pull performance reports, adjust budgets",
     "locator": "Same page, definitions",
     "clause": "Including campaign creation and budget changes",
     "passage_from": "claim-support pass: opened CS-S16 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S16",
     "passage": "execute complete advertising workflows — from campaign creation and audience targeting to real-time bidding adjustments and performance reporting — without human intervention at every step.",
     "locator": "Same page, overview",
     "clause": "Agents work 'without human intervention at every step'",
     "passage_from": "claim-support pass: opened CS-S16 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "KL-S08",
     "passage": "complete advertising workflows...without human intervention at every step",
     "locator": "TikTok Agentic Hub and MCP Server article (earlier URL, Aug 2026)",
     "clause": "Same statement at the earlier URL",
     "passage_from": "ledger:KL-F05.passage"
    },
    {
     "source_id": "OA1-S10",
     "passage": "Write tools create entities in a paused state; your AI client asks for confirmation before activation.",
     "locator": "Meta for Developers, Ads MCP Server tools (updated 14 Jul 2026)",
     "clause": "Meta creates new campaigns paused and relies on the AI client to confirm activation",
     "passage_from": "verify:OA1.audit_items[88].passage"
    },
    {
     "source_id": "OA1-S10",
     "passage": "Update fields on an existing campaign, ad set, or ad",
     "locator": "Same page, ads_update_entity tool",
     "clause": "No approval step documented for edits to live campaigns (the update tool describes none)",
     "passage_from": "verify-notes:OA1.audit_items[88].notes (quoted verbatim by the verifier)"
    }
   ],
   "sources": [
    "KL-S08",
    "OA1-S19",
    "CS-S16",
    "OA1-S10"
   ],
   "limitations": "Approval controls may exist in settings, client software or contracts not described on these pages; Meta's confirmation is client-side.",
   "scope": "TikTok and Meta agent (MCP) servers, 2026",
   "confidence": "high",
   "confidence_reason": "TikTok's help page (KL-S08; re-read at its current URL, OA1-S19, and by the claim-support pass) and Meta's Ads MCP tools page (updated 14 Jul 2026, OA1-S10).",
   "outcome": "supported",
   "outcome_note": "Every documented feature is verbatim; 'no per-change approval step' and 'no approval step for edits to live campaigns' are absences on these pages, and the claim does not assert that no safeguard exists elsewhere (review section 5).",
   "retired": []
  },
  "CL-031": {
   "support": [
    {
     "source_id": "CS-S02",
     "passage": "Our models also use advertisers’ own data about their users if they choose to share that data with us",
     "locator": "legal.applovin.com, 'What data does Axon AI use?'",
     "clause": "The page covers advertiser data only as a model input, not advertisers' rights over its use",
     "passage_from": "claim-support pass: opened CS-S02 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "KL-S12",
     "passage": "other bidders' bid information or other bidders' user data",
     "locator": "Same page",
     "clause": "Its only stated data-use limits are exclusions such as other bidders' data",
     "passage_from": "verify:FX2.verdicts[KL-F11].passage"
    }
   ],
   "sources": [
    "KL-S12",
    "CS-S02"
   ],
   "limitations": "Private contracts may address it.",
   "scope": "public pages at cutoff",
   "confidence": "medium",
   "confidence_reason": "Absence in a public page; contracts were not reviewed.",
   "outcome": "qualified",
   "outcome_note": "Absence within one public page (FX2; re-read 27 Sep 2026): the page lists inputs and exclusions but says nothing on advertiser rights or model portability. The claim draws no inference about contractual rights, and states that other platforms' full terms were not reviewed.",
   "retired": []
  },
  "CL-032": {
   "support": [
    {
     "source_id": "CS-S09",
     "passage": "A randomized experiment with almost 35 million Pandora listeners enables us to measure the sensitivity of consumers to advertising",
     "locator": "arXiv 2412.05516, abstract",
     "clause": "About 35 million Pandora listeners, randomized",
     "passage_from": "claim-support pass: opened CS-S09 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S09",
     "passage": "By maintaining consistent treatment assignment for 21 months, we measure long-run demand effects",
     "locator": "Same abstract",
     "clause": "21-month experiment",
     "passage_from": "claim-support pass: opened CS-S09 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "FX4-S02",
     "passage": "Had we run an experiment for just a month or two, we could have underestimated the true long-run effects by a factor of 3.",
     "locator": "Full working paper",
     "clause": "Long-run sensitivity about three times a short test",
     "passage_from": "verify:FX4.verdicts[G1-F03].passage"
    },
    {
     "source_id": "FX4-S02",
     "passage": "we show that observational methods often lead to biased or even directionally incorrect estimates of these effects",
     "locator": "Full working paper, section 4 and appendix A",
     "clause": "Observational estimates were biased",
     "passage_from": "verify:FX4.verdicts[G1-F04].passage"
    },
    {
     "source_id": "FX4-S02",
     "passage": "a 0.14 percentage-point increase in the probability of being a paid subscriber at the end of the experiment",
     "locator": "Full working paper, Table 10",
     "clause": "Heavier ad load raised paid-subscription conversion",
     "passage_from": "verify:FX4.verdicts[G1-F05].passage"
    }
   ],
   "sources": [
    "G1-S02",
    "CS-S09",
    "FX4-S02"
   ],
   "limitations": "Audio streaming, not games; one company. Pandora allowed publication on condition that the authors not discuss its policy implications. The subscription gain came with more listeners stopping altogether.",
   "scope": "US, Pandora, 2014-2016 (ad load varied in the iOS and Android apps)",
   "confidence": "medium",
   "confidence_reason": "Randomized field experiment (34.4 million listeners); full working paper read (FX4, OA3). One author works at Sirius XM Pandora; arXiv working paper, not peer reviewed.",
   "outcome": "supported",
   "outcome_note": "Every clause is verbatim in the abstract or full paper (FX4, OA3). G1-F05's first-pass passage ('correlate') is not in the source and is retired; the effect is causal (FX4).",
   "retired": [
    "G1-F05"
   ]
  },
  "CL-033": {
   "support": [
    {
     "source_id": "OA4-S06",
     "passage": "For the past eight months, it required a referral code. Starting today, it requires neither. Any business can sign up",
     "locator": "AppLovin blog, AppLovin Ads is now open to all advertisers",
     "clause": "Opened to all advertisers without a referral code",
     "passage_from": "verify:OA4.audit_items[77].passage"
    },
    {
     "source_id": "CS-S04",
     "passage": "Adam Foroughi CEO Jun 22, 2026",
     "locator": "Same post, byline",
     "clause": "On 22 June 2026 (chief executive's blog)",
     "passage_from": "claim-support pass: opened CS-S04 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "CS-S04",
     "passage": "Going forward, our ad platform is simply called AppLovin Ads, and it lives on the AppLovin domain.",
     "locator": "Same post, 'Going forward: AppLovin Ads'",
     "clause": "Renamed AppLovin Ads",
     "passage_from": "claim-support pass: opened CS-S04 on 2026-09-27 (raw page text)"
    },
    {
     "source_id": "G2-S01",
     "passage": "providing end-to-end advertising solutions through AppLovin Ads, MAX, Adjust, and Wurl",
     "locator": "AppLovin Q2 2026 10-Q, business description",
     "clause": "The Q2 2026 filing uses the new name",
     "passage_from": "verify:FX1.verdicts[AB-F24].passage"
    },
    {
     "source_id": "G2-S01",
     "passage": "since 2024 we have begun expanding our customer base to include web-based e-commerce advertisers",
     "locator": "AppLovin Q2 2026 10-Q, risk factors",
     "clause": "Filings mention e-commerce as an expansion area",
     "passage_from": "verify:FX4.verdicts[G2-F04].passage"
    },
    {
     "source_id": "AB-S01",
     "passage": "Following the sale of the Apps business, we operate as a single operating and reportable segment.",
     "locator": "AppLovin FY2025 10-K, segment information",
     "clause": "No e-commerce revenue breakout: one reportable segment",
     "passage_from": "verify:FX1.verdicts[AB-F04].passage"
    }
   ],
   "sources": [
    "OA4-S06",
    "CS-S04",
    "G2-S01",
    "AB-S01"
   ],
   "limitations": "The opening is the company's own statement of availability; the post gives no country list, and no independent confirmation was sought. The Q2 2026 10-Q was searched for specific terms rather than read linearly.",
   "scope": "AppLovin; announcement of 22 Jun 2026; filings through the Q2 2026 10-Q (filed 5 Aug 2026)",
   "confidence": "high",
   "confidence_reason": "Issuer's own dated announcement for the opening (OA4); filings through Q2 2026 checked for e-commerce language (FX4) and reporting a single reportable segment (FX1), so no e-commerce revenue line exists.",
   "outcome": "supported",
   "outcome_note": "The opening, its date, the author and the new name come from the company's own post; the filing clauses come from the Q2 2026 10-Q and FY2025 10-K. Retired first-pass records: G2-F04 (its conclusion that no source confirmed the opening is superseded by OA4-S06), IJ-F23 (referral-phase passage and scheduled-opening framing) and IJ-F24 (recorded 'speculative projection' passage not found in the source, FX3).",
   "retired": [
    "G2-F04",
    "IJ-F23",
    "IJ-F24"
   ]
  }
 },
 "new_sources": [
  {
   "id": "CS-S01",
   "title": "Top 5 Data Trends of 2025 and Predictions for 2026 (re-opened)",
   "org_or_author": "AppsFlyer",
   "url": "https://www.appsflyer.com/resources/reports/top-5-data-trends-report/",
   "pub_date": "2025-12-10",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "vendor_panel",
   "geography": "global",
   "os": "both",
   "measurement_period": "labelled 2025; period not stated",
   "funding_or_interest": "AppsFlyer estimates spend from its own client panel",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as MAIN-S01, re-opened by the claim-support pass to capture the UA growth and remarketing-share sentences verbatim (sections 03 and 04).",
   "same_origin_as": "MAIN-S01"
  },
  {
   "id": "CS-S02",
   "title": "About AppLovin's Axon AI (re-opened)",
   "org_or_author": "AppLovin Corporation",
   "url": "https://legal.applovin.com/about-applovins-axon-ai/",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "vendor",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Issuer's own disclosure",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as KL-S12. Section 'What data does Axon AI use?' names device and network information, win or loss notifications from AppLovin Max and advertiser-shared data; the page now says Axon powers 'AppLovin Ads'. Undated. Nothing on advertiser rights over models or learnings.",
   "same_origin_as": "KL-S12"
  },
  {
   "id": "CS-S03",
   "title": "Receiving postbacks in multiple conversion windows (documentation JSON, re-opened)",
   "org_or_author": "Apple Inc.",
   "url": "https://developer.apple.com/tutorials/data/documentation/storekit/receiving-postbacks-in-multiple-conversion-windows.json",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "technical_doc",
   "geography": "global",
   "os": "iOS",
   "measurement_period": "",
   "funding_or_interest": "platform owner",
   "access_limits": "full (Apple documentation JSON endpoint)",
   "reliability_notes": "Same document as C-S02. Captures the full list of tier inputs (publisher app or domain, advertised app, install country, hierarchical source identifier), per-tier source-identifier digits, and the note that the tier diagram is illustrative only (no thresholds published).",
   "same_origin_as": "C-S02"
  },
  {
   "id": "CS-S04",
   "title": "AppLovin Ads is now open to all advertisers (re-opened)",
   "org_or_author": "AppLovin (Adam Foroughi, CEO)",
   "url": "https://www.applovin.com/en/blog/applovin-ads-now-open",
   "pub_date": "2026-06-22",
   "event_date": "2026-06-22",
   "access_date": "2026-09-27",
   "source_type": "vendor",
   "geography": "global",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "Issuer's own announcement",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same post as OA4-S06. Byline 'Adam Foroughi CEO Jun 22, 2026'; states that the ad platform 'is simply called AppLovin Ads' going forward and that Axon remains the AI system's name. Company statement; no country list.",
   "same_origin_as": "OA4-S06"
  },
  {
   "id": "CS-S05",
   "title": "google/lifetime_value README (raw, re-opened)",
   "org_or_author": "Google (GitHub repository)",
   "url": "https://raw.githubusercontent.com/google/lifetime_value/master/README.md",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "technical_doc",
   "geography": "n/a",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "Google authors of the method",
   "access_limits": "full",
   "reliability_notes": "Same README as GH-S13 (raw file). Describes the KDD Cup 1998 dataset of around 200K lapsed donors, alongside the Kaggle Acquire Valued Shoppers data.",
   "same_origin_as": "GH-S13"
  },
  {
   "id": "CS-S06",
   "title": "Auto-renewable subscriptions (re-opened)",
   "org_or_author": "Apple Inc.",
   "url": "https://developer.apple.com/app-store/subscriptions/",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "iOS",
   "measurement_period": "",
   "funding_or_interest": "platform operator",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as GH-S02. States 70% of the subscription price during the first year of service and 85% after one year of paid service, minus applicable taxes.",
   "same_origin_as": "GH-S02"
  },
  {
   "id": "CS-S07",
   "title": "About Target ROAS bidding (re-opened)",
   "org_or_author": "Google (Google Ads Help)",
   "url": "https://support.google.com/google-ads/answer/6268637?hl=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as MAIN-S03. App campaigns bullet: at least 10 conversions every day (or 300 in 30 days). The note 'Conversions must have a value greater than 0 to be counted as eligible' follows the Demand Gen bullet, not the App campaigns bullet (confirms FX4). App campaign note: bid-on events, and the values sent with them, should come from the Firebase SDK.",
   "same_origin_as": "MAIN-S03"
  },
  {
   "id": "CS-S08",
   "title": "Uber Sued Over Payment For Alleged Fraudulent Ads (opened directly)",
   "org_or_author": "PYMNTS",
   "url": "https://www.pymnts.com/legal/2018/uber-lawsuit-fetch-media-ad-fraud/",
   "pub_date": "2018-01",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "press",
   "geography": "US",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "n/a",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same article as IJ-S06, which was earlier read only via a search summary. Reports (citing Reuters) that Uber's federal suit against Fetch, filed in September 2017, was dismissed voluntarily by Uber on Dec. 22 after reassignment to Judge Yvonne Gonzalez Rogers. Trade press, not the docket.",
   "same_origin_as": "IJ-S06"
  },
  {
   "id": "CS-S09",
   "title": "Measuring Consumer Sensitivity to Audio Advertising (arXiv abstract page, re-opened)",
   "org_or_author": "Ali Goli; Jason Huang; Nikita Riabov; David Reiley",
   "url": "https://arxiv.org/abs/2412.05516",
   "pub_date": "2024-12",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "study",
   "geography": "US",
   "os": "both",
   "measurement_period": "June 2014 - April 2016",
   "funding_or_interest": "One author at Sirius XM Pandora",
   "access_limits": "full (abstract page)",
   "reliability_notes": "Same page as G1-S02. Abstract: almost 35 million Pandora listeners randomized into nine treatment groups; consistent assignment for 21 months; long-run ad-load sensitivity three times a month-long estimate.",
   "same_origin_as": "G1-S02"
  },
  {
   "id": "CS-S10",
   "title": "Close Enough? A Large-Scale Exploration of Non-Experimental Approaches to Advertising Measurement (arXiv 2201.07055v2 PDF)",
   "org_or_author": "Brett R. Gordon; Robert Moakler; Florian Zettelmeyer",
   "url": "https://arxiv.org/pdf/2201.07055",
   "pub_date": "2022-10-04",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "study",
   "geography": "US",
   "os": "n/a",
   "measurement_period": "Nov 2019 - Mar 2020",
   "funding_or_interest": "Moakler at Meta; Gordon and Zettelmeyer part-time Facebook employees for data access",
   "access_limits": "full (PDF text)",
   "reliability_notes": "Full text of D-S02 (v2, 4 Oct 2022; published in Marketing Science 42(4), 2023). Section 3: 563 US experiments, 75 multi-cell, 663 treatment-control pairs, each called an experiment; introduction dates them November 2019 to March 2020.",
   "same_origin_as": "D-S02"
  },
  {
   "id": "CS-S11",
   "title": "Consumer Heterogeneity and Paid Search Effectiveness (NBER w20171, re-opened)",
   "org_or_author": "Tom Blake; Chris Nosko; Steven Tadelis",
   "url": "https://www.nber.org/system/files/working_papers/w20171/w20171.pdf",
   "pub_date": "2014-05",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "study",
   "geography": "US",
   "os": "n/a",
   "measurement_period": "60-day test, 2012",
   "funding_or_interest": "Authors at eBay Research Labs",
   "access_limits": "full (PDF text)",
   "reliability_notes": "Same PDF as OA3-S05 (working-paper version of D-S04). Abstract (brand-keyword result; frequent users), section 4 (non-brand bidding stopped for 60 days; roughly 30 percent of DMAs) and Table 4 ROI row.",
   "same_origin_as": "OA3-S05"
  },
  {
   "id": "CS-S12",
   "title": "Verve Group SE Annual and Sustainability Report 2025 (re-opened)",
   "org_or_author": "Verve Group SE",
   "url": "https://investors.verve.com/wp-content/uploads/2026/04/Verve_Annual_and_Sustainability_Report_2025_English.pdf",
   "pub_date": "2026-04",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "filing",
   "geography": "global",
   "os": "both",
   "measurement_period": "FY2025",
   "funding_or_interest": "issuer",
   "access_limits": "full (PDF text)",
   "reliability_notes": "Same report as FX1-S12. 'Change in revenue recognition' note: after platform unification, certain streams previously recognized net (agent) are recognized gross (principal).",
   "same_origin_as": "FX1-S12"
  },
  {
   "id": "CS-S13",
   "title": "Verve Group SE Q4 2025 preliminary results release (re-opened)",
   "org_or_author": "Verve Group SE",
   "url": "https://press.verve.com/verve-group-se-delivers-strong-operational-performance-in-q4-2025-driving-organic-growth-and-gross-margin-expansion-and-publishes-financial-guidance-for-2026",
   "pub_date": "2026-01-26",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "filing",
   "geography": "global",
   "os": "both",
   "measurement_period": "FY2025 (preliminary)",
   "funding_or_interest": "issuer",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same release as AB-S09. Table footnote: 'Changes in revenue recognition according to IFRS 15 affect reported revenue from Q3 2025 onwards'.",
   "same_origin_as": "AB-S09"
  },
  {
   "id": "CS-S14",
   "title": "Find or create placement reports for your App campaigns (re-opened)",
   "org_or_author": "Google (Google Ads Help)",
   "url": "https://support.google.com/google-ads/answer/9141542?hl=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as OA1-S01. Placement categories (Google Owned & Operated; App name & publisher; Website URL; Video title); impressions only; low-activity placements consolidated into 'Total: other'.",
   "same_origin_as": "OA1-S01"
  },
  {
   "id": "CS-S15",
   "title": "About App campaigns",
   "org_or_author": "Google (Google Ads Help)",
   "url": "https://support.google.com/google-ads/answer/6247380?hl=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Overview page: App campaigns promote apps across Search, Google Play, YouTube, Discover and the Display Network and optimize automatically from text, a bid and assets; App campaigns for engagement re-engage people who installed the app.",
   "same_origin_as": ""
  },
  {
   "id": "CS-S16",
   "title": "About TikTok for Business MCP Server (re-opened)",
   "org_or_author": "TikTok (TikTok Ads Manager Help)",
   "url": "https://ads.tiktok.com/help/article/about-tiktok-for-business-mcp-server?lang=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as OA1-S19 (current URL of KL-S08). 'All around 400 tools' in Full Disclosure mode; agents can create campaigns and adjust budgets; workflows run 'without human intervention at every step'. No approval step described.",
   "same_origin_as": "OA1-S19"
  },
  {
   "id": "CS-S17",
   "title": "About Conversion Lift (re-opened)",
   "org_or_author": "Google (Google Ads Help)",
   "url": "https://support.google.com/google-ads/answer/12003020?hl=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as V3-S07. Not available for all accounts; contact a Google account representative. Treatment and control groups; user-based or geography-based studies. The page does not state how people are assigned to groups.",
   "same_origin_as": "V3-S07"
  },
  {
   "id": "CS-S18",
   "title": "About Conversion Lift Study (re-opened)",
   "org_or_author": "TikTok (TikTok Ads Manager Help)",
   "url": "https://ads.tiktok.com/help/article/about-conversion-lift-study?lang=en",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as V3-S09. Divides the audience into test and control groups; account representatives design studies for eligible accounts; 'exclusive managed service'. Assignment method not stated.",
   "same_origin_as": "V3-S09"
  },
  {
   "id": "CS-S19",
   "title": "Conversion Lift Measurement (Marketing API guide, re-opened)",
   "org_or_author": "Meta (Meta for Developers)",
   "url": "https://developers.facebook.com/docs/marketing-api/guides/lift-studies/v2.9",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "platform_doc",
   "geography": "global",
   "os": "both",
   "measurement_period": "",
   "funding_or_interest": "Platform describing its own product",
   "access_limits": "full: a direct request to the official page returned the guide text on 27 Sep 2026 (an earlier attempt had returned HTTP 400)",
   "reliability_notes": "Same page as V3-S06. Direct retrieval confirms: 'Facebook randomizes the audience for your ads and assigns Accounts Center accounts to either the test or control group.' Access to the product runs through a Meta representative; self-service tools were not examined.",
   "same_origin_as": "V3-S06"
  },
  {
   "id": "CS-S20",
   "title": "Supreme Court docket No. 25-1311, Apple Inc. v. Epic Games, Inc. (docket JSON)",
   "org_or_author": "Supreme Court of the United States",
   "url": "https://www.supremecourt.gov/RSS/Cases/JSON/25-1311.json",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "regulator_or_court",
   "geography": "US",
   "os": "iOS",
   "measurement_period": "docket as of 2026-09-27",
   "funding_or_interest": "n/a",
   "access_limits": "full",
   "reliability_notes": "Same docket as EF-S17 (JSON feed that FX2 checked). Entries: Jun 30 2026 petition granted limited to Question 1; Aug 12 2026 administrative stay; Aug 13 2026 application 26A194 denied by Justice Kagan; merits briefs Sep 14-21 2026.",
   "same_origin_as": "EF-S17"
  },
  {
   "id": "CS-S21",
   "title": "Apple v. Epic Games, No. 25-1311, questions presented (re-opened)",
   "org_or_author": "Supreme Court of the United States",
   "url": "https://www.supremecourt.gov/qp/25-01311qp.pdf",
   "pub_date": "2026-06-30",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "regulator_or_court",
   "geography": "US",
   "os": "iOS",
   "measurement_period": "",
   "funding_or_interest": "n/a",
   "access_limits": "full (PDF text)",
   "reliability_notes": "Same PDF as FX2-S21. Question 1: whether a court may hold a party in civil contempt based on violating an injunction's 'spirit'. Certiorari was limited to this question.",
   "same_origin_as": "FX2-S21"
  },
  {
   "id": "CS-S22",
   "title": "Meridian introduction (re-opened)",
   "org_or_author": "Google (Google for Developers)",
   "url": "https://developers.google.com/meridian/docs/basics/meridian-introduction",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "technical_doc",
   "geography": "global",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "Google documenting its own open-source MMM",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as D-S17. States the model builds in 'the lagged effect of advertising and saturation'.",
   "same_origin_as": "D-S17"
  },
  {
   "id": "CS-S23",
   "title": "Product page optimization (re-opened)",
   "org_or_author": "Apple Inc.",
   "url": "https://developer.apple.com/app-store/product-page-optimization/",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "technical_doc",
   "geography": "global",
   "os": "iOS",
   "measurement_period": "",
   "funding_or_interest": "Apple promotes its own store feature",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as OA5-S02. Treatments are shown to a percentage of randomly selected people who keep seeing the same treatment; used here as the contrast to custom product pages, whose page states no random assignment.",
   "same_origin_as": "OA5-S02"
  },
  {
   "id": "CS-S24",
   "title": "Custom product pages (re-opened)",
   "org_or_author": "Apple Inc.",
   "url": "https://developer.apple.com/app-store/custom-product-pages/",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "technical_doc",
   "geography": "global",
   "os": "iOS",
   "measurement_period": "",
   "funding_or_interest": "Apple promotes its own store feature",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as MAIN-S04 / EF-S25. Up to 70 additional product pages, each with a unique URL shared with different audiences and used in Apple Ads campaigns; no random split or significance test described.",
   "same_origin_as": "MAIN-S04"
  },
  {
   "id": "CS-S25",
   "title": "Mobile App Growth Playbook (re-opened)",
   "org_or_author": "No Fluff Advisory (the author)",
   "url": "https://nofluffadvisory.com/services/playbooks/mobile-app-growth/",
   "pub_date": "2026-06-05",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "own_work",
   "geography": "n/a",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "Author-owned; commercial interest in the positioning",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same page as CP-01, the author's own playbook: defines 'Apps DSP' as a buyer problem spanning install, engagement, retention, commerce, subscription, CTV extension, measurement and LTV. Own work: the origin of the checklist, not evidence for it.",
   "same_origin_as": "CP-01"
  },
  {
   "id": "CS-S26",
   "title": "Settlement Agreement and Mutual General Release, Uber v. Phunware et al. (SEC exhibit 10.12, Internet Archive capture)",
   "org_or_author": "Uber Technologies, Inc.; Phunware, Inc.",
   "url": "https://web.archive.org/web/2021id_/https://www.sec.gov/Archives/edgar/data/1665300/000162828020016344/ex1012-settlementagreement.htm",
   "pub_date": "2020-10-09",
   "event_date": "2020-10-09",
   "access_date": "2026-09-27",
   "source_type": "regulator_or_court",
   "geography": "US",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "n/a",
   "access_limits": "full (archived raw HTML; sec.gov returned HTTP 403 to curl)",
   "reliability_notes": "Same exhibit as IJ-S04. Effective 9 October 2020; Uber v. Phunware and four named individuals; SIX MILLION DOLLARS ($6,000,000); Phunware's action was in San Francisco Superior Court; all parties deny wrongdoing.",
   "same_origin_as": "IJ-S04"
  },
  {
   "id": "CS-S27",
   "title": "Epic Games, Inc. v. Apple Inc., 4:20-cv-05640-YGR (N.D. Cal.) docket, newest entries first",
   "org_or_author": "CourtListener / RECAP",
   "url": "https://www.courtlistener.com/docket/17442392/epic-games-inc-v-apple-inc/?order_by=desc",
   "pub_date": "",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "regulator_or_court",
   "geography": "US",
   "os": "iOS",
   "measurement_period": "docket as captured 2026-09-27",
   "funding_or_interest": "n/a",
   "access_limits": "full (first page of entries, newest first, as captured 2026-09-27)",
   "reliability_notes": "Entries 1706-1719 (11 Aug - 25 Sep 2026): order denying Apple's motion to stay (1706), Supreme Court administrative stay (1707), Apple's remand proffer (1708-1709), oppositions, status reports. No order setting a commission appears. The page warns that RECAP items may not be up to date; PACER not checked.",
   "same_origin_as": "FX3-S05"
  },
  {
   "id": "CS-S28",
   "title": "Uber just sued one of its ad agencies, and it points to growing mistrust with mobile advertising (opened directly)",
   "org_or_author": "CNBC (Michelle Castillo)",
   "url": "https://www.cnbc.com/2017/09/19/uber-sues-fetch-for-ad-fraud.html",
   "pub_date": "2017-09-19",
   "event_date": "",
   "access_date": "2026-09-27",
   "source_type": "press",
   "geography": "US",
   "os": "n/a",
   "measurement_period": "",
   "funding_or_interest": "n/a",
   "access_limits": "full (raw HTML, curl)",
   "reliability_notes": "Same article as IJ-S05, earlier read only via a search summary. Reports Uber's suit against mobile marketing agency Fetch Media and Uber's statement alleging Fetch fraudulently claimed credit for app downloads.",
   "same_origin_as": "IJ-S05"
  }
 ]
}