| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| design:platforms [2026/08/27 20:51] – Quote the papers' own contiguous sentences for the Mastodon 96% and the WhatsApp candidate-number count (both were paraphrases of column-spliced text). Authored by Claude karel.kubicek.claude | design:platforms [2026/09/27 12:02] (current) – Add the messaging-groups route: route-table row, currency row, a paragraph in the per-company section and a Related Pages entry pointing to the new child page Design:Platforms:Messaging channels. Authored by Claude. karel.kubicek.claude |
|---|
| **The access route is the design decision, and the routes changed under the field.** In the [[literature:corpus|publication corpus]] (seven venues, 2010–2026, **5,859** extracted papers), **897** papers name a large platform as the subject of measurement — **15.7%** of the **5,712** that drew any study population. Of those 897, **383 (42.7%)** name an **existing dataset** as a source of their data, and **208 (23.2%)** name one and no primary collection of their own at all. | **The access route is the design decision, and the routes changed under the field.** In the [[literature:corpus|publication corpus]] (seven venues, 2010–2026, **5,859** extracted papers), **897** papers name a large platform as the subject of measurement — **15.7%** of the **5,712** that drew any study population. Of those 897, **383 (42.7%)** name an **existing dataset** as a source of their data, and **208 (23.2%)** name one and no primary collection of their own at all. |
| |
| Meanwhile the official researcher routes that replaced the open APIs are **almost entirely absent from this literature**. Across the **5,855** papers with full text: the **Meta Content Library** appears **once**, and that once is a parenthetical noting that CrowdTangle "//now replaced by the Meta Content Library//" {[roy2025_darkgram]}. The **TikTok Research API** appears in **zero** papers. The **YouTube Researcher Program** appears in **two**. The X/Twitter **Academic Research track** appears in **eight**. By contrast **Pushshift** — a third-party Reddit archive — appears in **35**, and **Ad Library** in **69**. | Meanwhile the official researcher routes that replaced the open APIs are **almost entirely absent from this literature**. Across the **5,855** papers with full text: the **Meta Content Library** appears **once**, and that once is a parenthetical noting that CrowdTangle "//now replaced by the Meta Content Library//" {[roy2025_darkgram]}. The **TikTok Research API** appears in **zero** papers. The **YouTube Researcher Program** appears in **two**. The X/Twitter **Academic Research track** appears in **eight**. By contrast **Pushshift** — a third-party Reddit archive — appears in **35**. A probe for "Ad Library" returns **69**, but that probe is defeated by a homonym — in mobile-security writing an "ad library" is an advertising SDK — and the hand-audited figure is **11**; see [[Design:Platforms:Ad archives]]. |
| |
| Part of that absence is **mechanical**, and the page says so rather than letting you infer otherwise: these programmes are 2023-and-later launches read through a corpus whose 2025–2026 slice is under-covered by construction, and the venues that publish most platform work of this kind — ICWSM, CHI, FAccT, the communications journals — are **not in the corpus at all**. The right reading is "there is no worked example //in these seven venues//", not "the programmes do not work". | Part of that absence is **mechanical**, and the page says so rather than letting you infer otherwise: these programmes are 2023-and-later launches read through a corpus whose 2025–2026 slice is under-covered by construction, and the venues that publish most platform work of this kind — ICWSM, CHI, FAccT, the communications journals — are **not in the corpus at all**. The right reading is "there is no worked example //in these seven venues//", not "the programmes do not work". |
| | **Platform research programme** | **current** | a curated, filtered archive inside a controlled environment | Meta Content Library **1**, TikTok Research API **0**, YouTube Researcher Program **2** | | | **Platform research programme** | **current** | a curated, filtered archive inside a controlled environment | Meta Content Library **1**, TikTok Research API **0**, YouTube Researcher Program **2** | |
| | **Regulator route (DSA Art. 40 vetted researcher)** | **current** | in principle non-public data from a designated VLOP | effectively **zero** papers; see the audit below | | | **Regulator route (DSA Art. 40 vetted researcher)** | **current** | in principle non-public data from a designated VLOP | effectively **zero** papers; see the audit below | |
| | **Transparency / ad archive** | **current** | only what the archive covers — usually ads that actually ran | **69** papers name an Ad Library or ad archive | | | **Transparency / ad archive** | **current** | only what the archive covers — usually ads that actually ran | **11** hand-audited papers; own page: [[Design:Platforms:Ad archives]] | |
| | | **Joining public groups, channels or servers** (Telegram, WhatsApp, Discord) | **current, contested** | the groups your seed could find, from your joining date or back-filled, as a member sees them | **26** hand-audited papers, 21 of them on Telegram; own page: [[Design:Platforms:Messaging channels]] | |
| | **Third-party archive of platform data** | **historical** | someone else's crawl, with their gaps — the dumps circulate, the live service does not | **35** papers name Pushshift | | | **Third-party archive of platform data** | **historical** | someone else's crawl, with their gaps — the dumps circulate, the live service does not | **35** papers name Pushshift | |
| | **Reuse of a published platform dataset** | **current** | a frozen snapshot you did not design | **383 of 897** name an existing dataset; **208** name one //and no primary collection// | | | **Reuse of a published platform dataset** | **current** | a frozen snapshot you did not design | **383 of 897** name an existing dataset; **208** name one //and no primary collection// | |
| * **A reused dataset freezes a platform that has since changed.** **383 of the 897** platform-subject papers name an existing dataset (''temporal.mode'' is multi-valued, so 175 of those also collected something themselves; **208** collected nothing). If that is you, date the snapshot and say what changed on the platform since — the four false positives in our Twitter/X audit were all papers using Twitter-derived benchmark corpora with no relationship to the platform at collection time. | * **A reused dataset freezes a platform that has since changed.** **383 of the 897** platform-subject papers name an existing dataset (''temporal.mode'' is multi-valued, so 175 of those also collected something themselves; **208** collected nothing). If that is you, date the snapshot and say what changed on the platform since — the four false positives in our Twitter/X audit were all papers using Twitter-derived benchmark corpora with no relationship to the platform at collection time. |
| * **A cross-platform study has one denominator per platform, and they are not comparable.** {[acharya2024_imitation]} looked for brand-impersonation accounts targeting the top 10K Tranco brands on X, Instagram, Telegram and YouTube at once; {[beluri2025_exploration]} tracked accounts advertised for sale across five platforms and found blocking efficacy ranging from **5.02%** (YouTube) up to **48%** — its own summary is that "//TikTok and Instagram demonstrated the highest detection efficacy at 48%, whereas YouTube and Facebook showed the lowest efficacy at just 5%//". A cross-platform rate is only meaningful if you say what you could see on each platform, because the routes in differ and so does the visible surface. A gap between two platforms may be a gap between two access routes. | * **A cross-platform study has one denominator per platform, and they are not comparable.** {[acharya2024_imitation]} looked for brand-impersonation accounts targeting the top 10K Tranco brands on X, Instagram, Telegram and YouTube at once; {[beluri2025_exploration]} tracked accounts advertised for sale across five platforms and found blocking efficacy ranging from **5.02%** (YouTube) up to **48%** — its own summary is that "//TikTok and Instagram demonstrated the highest detection efficacy at 48%, whereas YouTube and Facebook showed the lowest efficacy at just 5%//". A cross-platform rate is only meaningful if you say what you could see on each platform, because the routes in differ and so does the visible surface. A gap between two platforms may be a gap between two access routes. |
| * **The logged-out surface is not the platform either.** Of the **260** platform-subject papers that report a crawl configuration, **145 (55.8%)** are labelled as using **no authentication at all**, **22** as registering an account, **4** as logging in manually, and **none** as using automated login or SSO. Whatever those studies measured, it is mostly what an anonymous visitor sees. **These are schema labels, not audited ones**, and [[Programming:Registration]] is explicit about why that matters for this exact field: ''%%crawlConfig%%'' carries **one evidence quote for the whole object**, so the ''%%authentication%%'' label cannot be checked against its quote, and a hand-audit of **another field of that same object**, ''%%consentAction%%'', found 19.4% false positives ([[Privacy:consent]]). We did not audit these 145. Treat the shape as real and the precise share as unverified. | * **The logged-out surface is not the platform either — and the label that says so is mostly an inference.** Of the **260** platform-subject papers that report a crawl configuration, **145 (55.8%)** are labelled as using **no authentication at all**, **22** as registering an account, **4** as logging in manually, and **none** as using automated login or SSO. **Those 145 have now been audited** (2026-09-22), by reading each paper's own text rather than its evidence quote — ''%%crawlConfig%%'' carries **one evidence quote for the whole object**, so the ''%%authentication%%'' label cannot be checked against it ([[Programming:Registration]]). Of the 145: **12 (8.3%)** state in the paper that the collection was unauthenticated; **6 (4.1%)** are **contradicted by the paper's own text**; **8 (5.5%)** are ambiguous, where the study registered or used accounts but the specific crawl the evidence quote describes plausibly did not; and **119 (82.1%)** are **silent** — the paper never states its authentication posture either way, and ''%%not-stated%%'' was equally available in the schema. So read the 55.8% as an inference, not a measurement: **at most 12 of the 145 papers say what their label says**. Two of the contradicted six: {[kumar2022_investigation]} set up ten Android phones, //"one Google account per country"//, and an apk scraper that //"requires the device's ID and Google account credentials"//, while its ''%%crawlConfig%%'' quote describes only the unauthenticated Selenium privacy-policy sub-crawl; {[yan2025_sign]} //"registered around 300 accounts in total throughout the study"//. The starkest case is //Experimental Analyses of the Physical Surveillance Risks in Client-Side Content Scanning// (NDSS 2024), whose ''%%crawlConfig%%'' evidence quote **itself** reads //"we scrape user photographs from Instagram using an alias account"// under a ''%%none%%'' label. All six, and the 12 affirmed and 8 ambiguous, are listed with their deciding sentence on [[provenance:design:platforms]]. The sibling field ''%%consentAction%%'' was audited the same way and found **279 of 313 no-interaction labels unsupported (89.1%)**, alongside **7 of 36 (19.4%)** false positives among labels claiming interaction ([[Privacy:consent]]); that result is not evidence about authentication, and was not used as any. |
| |
| ===== Rate Limits, Quotas, Bans and the Login Wall ===== | ===== Rate Limits, Quotas, Bans and the Login Wall ===== |
| | 19 | eBay | 6 | 0.1% | | | 19 | eBay | 6 | 0.1% | |
| |
| Rows 1 and 7 — Google and the Apple App Store — are largely **app-store** work, which is closer to [[Design:Mobile and app measurement]] than to this page. Note also what this page does **not** cover: search-engine result auditing and the Google ads ecosystem are a real body of work inside these venues and have no page on this wiki yet; they are out of scope here and named in [[#Open Questions]]. Note the last rows: **TikTok is 7 papers**, of which 4 survived a full audit. There is no body of TikTok measurement in these seven venues to systematise. | Rows 1 and 7 — Google and the Apple App Store — are largely **app-store** work, which is closer to [[Design:Mobile and app measurement]] than to this page. Note also what this page does **not** cover: search-engine result auditing and the Google ads ecosystem are a real body of work inside these venues; the **experimental design** they share — paired profiles, a control arm, carry-over, and a noise floor — is [[Design:Algorithm audits]], added 2026-09-11. The platform-specific instruments are still out of scope here. Note the last rows: **TikTok is 7 papers**, of which 4 survived a full audit. There is no body of TikTok measurement in these seven venues to systematise. |
| |
| ==== Amazon means five different things, and mostly not the shop ==== | ==== Amazon means five different things, and mostly not the shop ==== |
| | Platform research programmes (Meta Content Library via CASD, TikTok Research Tools, YouTube Researcher Program) | **current, but you will be first** | 1, 0 and 2 papers respectively in 5,855 | | | Platform research programmes (Meta Content Library via CASD, TikTok Research Tools, YouTube Researcher Program) | **current, but you will be first** | 1, 0 and 2 papers respectively in 5,855 | |
| | DSA Art. 40 vetted-researcher route | **current, newly operational, untested here** | Delegated Reg. (EU) 2025/2050; 1 on-point mention in 5,855 papers | | | DSA Art. 40 vetted-researcher route | **current, newly operational, untested here** | Delegated Reg. (EU) 2025/2050; 1 on-point mention in 5,855 papers | |
| | Ad-transparency archives | **current and productive** | 69 papers; {[bouchaud2024_beyond]}, {[benzaamia2026_year]}, {[capozzi2023_thin]} | | | Joining public messaging groups and channels | **current; terms forbid most of it; almost all Telegram since 2022** | **26** hand-audited papers, none before 2019; own page: [[Design:Platforms:Messaging channels]] | |
| | | Ad-transparency archives | **current and productive** | **11** hand-audited papers; {[bouchaud2024_beyond]}, {[benzaamia2026_year]}, {[capozzi2023_thin]}. Own page: [[Design:Platforms:Ad archives]] | |
| | Data donation | **current and rising** | 25 papers, 11 of them 2025; {[mccrosky2026_does]}, {[benzaamia2026_year]} | | | Data donation | **current and rising** | 25 papers, 11 of them 2025; {[mccrosky2026_does]}, {[benzaamia2026_year]} | |
| | Right of access / DSAR as an instrument | **current and rising** | 52 papers; {[karnam2026_setting]} | | | Right of access / DSAR as an instrument | **current and rising** | 52 papers; {[karnam2026_setting]} | |
| | Sock-puppet accounts for personalised surfaces | **current, high-risk, unavoidable for feed studies** | 14 papers use the term; {[vombatkere2024_tiktok]}, {[karnam2026_setting]} | | | Sock-puppet accounts for personalised surfaces | **current, high-risk, unavoidable for feed studies** | 14 papers use the term; {[vombatkere2024_tiktok]}, {[karnam2026_setting]}. The experimental design is [[Design:Algorithm audits]] | |
| | Logged-out scraping | **current, contested; a designated VLOP was fined for forbidding it** | 157 papers name a scraper; EC decision 5 December 2025 | | | Logged-out scraping | **current, contested; a designated VLOP was fined for forbidding it** | 157 papers name a scraper; EC decision 5 December 2025 | |
| | Third-party archives (Pushshift) | **the live service is closed to researchers; the historical dumps are what the field is actually using** | 35 papers, still 9 in 2025 | | | Third-party archives (Pushshift) | **the live service is closed to researchers; the historical dumps are what the field is actually using** | 35 papers, still 9 in 2025 | |
| | **Amazon** | 72 candidates, **36%** precision; the genuine ones split between the Alexa voice/skill ecosystem ({[cheng2020_dangerous]}, {[liao2024_gdpr]}) and the retail storefront ({[knockel2026_banned]}) | **No page.** "Amazon" is not one measurement object, and the Alexa skill-store work is closer to app-store measurement than to this page, though [[Design:Mobile and app measurement]] does not cover skill stores yet. | | | **Amazon** | 72 candidates, **36%** precision; the genuine ones split between the Alexa voice/skill ecosystem ({[cheng2020_dangerous]}, {[liao2024_gdpr]}) and the retail storefront ({[knockel2026_banned]}) | **No page.** "Amazon" is not one measurement object, and the Alexa skill-store work is closer to app-store measurement than to this page, though [[Design:Mobile and app measurement]] does not cover skill stores yet. | |
| | **Twitter / X** | 142 candidates, **73%** precision — the largest coherent body | **No page.** The access route that produced nearly all of it no longer exists, so a page would be a history of a closed API. What survives is the access-route material above. | | | **Twitter / X** | 142 candidates, **73%** precision — the largest coherent body | **No page.** The access route that produced nearly all of it no longer exists, so a page would be a history of a closed API. What survives is the access-route material above. | |
| | **Facebook / Meta** | 151 candidates, **69%** precision | **No page.** The method-bearing parts are already elsewhere: the pixel and server-side flows on [[Privacy:Server side tracking]] and [[Privacy:Requests]], the SDKs on [[Design:Mobile and app measurement]], consent on [[Privacy:consent]]. The ad archive is the one genuinely distinct instrument, and it is not Facebook-specific. | | | **Facebook / Meta** | 151 candidates, **69%** precision | **No page.** The method-bearing parts are already elsewhere: the pixel and server-side flows on [[Privacy:Server side tracking]] and [[Privacy:Requests]], the SDKs on [[Design:Mobile and app measurement]], consent on [[Privacy:consent]]. The ad archive is the one genuinely distinct instrument, and it is not Facebook-specific; it now has its own page, [[Design:Platforms:Ad archives]]. | |
| |
| A per-company page is the wrong axis anyway. What a platform study reuses across companies is the **route in** and the **denominator that route implies**; what does not transfer is the company's current API surface, which is precisely the part that goes stale fastest. This page is organised by route for that reason. | A per-company page is the wrong axis anyway. What a platform study reuses across companies is the **route in** and the **denominator that route implies**; what does not transfer is the company's current API surface, which is precisely the part that goes stale fastest. This page is organised by route for that reason. |
| |
| The one page that the evidence //does// support is not on the promised list: **ad-transparency archives as a measurement instrument** — 69 papers, a live regulatory driver, real double-sided error characteristics {[bouchaud2024_beyond]}, and a 2026 cross-platform comparison {[benzaamia2026_year]}. It is recorded as a candidate rather than linked, so this page does not create the very problem it just cleaned up. | A second route page followed on 2026-09-27: **[[Design:Platforms:Messaging channels]]**, on joining Telegram, WhatsApp and Discord groups and channels — a route none of the rows above covers, organised by the route rather than by the three companies. Its hand audit found **26** papers in these venues that collect from inside groups, against **76** that name one of the three messengers ten or more times. |
| | |
| | The one page that the evidence //does// support was not on the promised list, and it has now been written: **[[Design:Platforms:Ad archives]]** — ad-transparency archives as a measurement instrument, with a live regulatory driver, real double-sided error characteristics {[bouchaud2024_beyond]}, and a 2026 cross-platform comparison {[benzaamia2026_year]}. |
| | |
| | <WRAP tip> |
| | **Writing it corrected the count on this page.** The **69** above came from a full-text probe for %%/Ad Library|Ads? Archive API/i%%. That probe cannot separate Meta's **Ad Library** from an Android **advertising SDK**, which is what "ad library" means throughout the mobile-security literature: **44** of the 69 contain only the lowercase SDK sense, and the pattern also matches the substring inside "uplo[ad librar]ies", so one of the 69 is a paper about Node.js file uploads. Hand-auditing every candidate gives **11** papers that use an ad-transparency archive or measure one — precision **14.5%** for the old probe. The corrected figure is carried in the tables above; the audit, with its full residue, is on [[provenance:design:platforms:ad_archives]]. Only this figure was re-derived: the rest of this page's numbers were not re-run in that sitting. |
| | </WRAP> |
| |
| ===== Open Questions ===== | ===== Open Questions ===== |
| * **What is the real cost of a metered-API study?** Nobody has published the arithmetic. A short note with a worked budget — reads, cap, and what you had to drop — would be worth more than another dataset. | * **What is the real cost of a metered-API study?** Nobody has published the arithmetic. A short note with a worked budget — reads, cap, and what you had to drop — would be worth more than another dataset. |
| * **Does the field's move to reused corpora change its findings?** 383 of 897 platform papers name an existing dataset and 208 collected nothing of their own. Whether the conclusions drawn from a 2019 Twitter corpus still describe X in 2026 is an answerable question nobody in this corpus asks. | * **Does the field's move to reused corpora change its findings?** 383 of 897 platform papers name an existing dataset and 208 collected nothing of their own. Whether the conclusions drawn from a 2019 Twitter corpus still describe X in 2026 is an answerable question nobody in this corpus asks. |
| * **Search-engine and ads-ecosystem auditing has no page on this wiki**, and it is the largest measured family here — Google is rank 1 with 323 papers. SERP audits and ad-delivery audits share this page's problems (no API, sock puppets, personalisation) but have their own instruments. Out of scope here; worth its own page. | * **Search-engine and ads-ecosystem auditing** is the largest measured family here — Google is rank 1 with 323 papers. The **design** those studies share is now [[Design:Algorithm audits]] (34 hand-adjudicated papers, 2026-09-11); what remains open is the platform-specific instrumentation — SERP parsing, ad-creative capture, and the ad-buying side — which neither page covers. |
| * **Ad-transparency archives** deserve their own page (see above). It needs the archive-by-archive coverage comparison that {[benzaamia2026_year]} starts. | * **Ad-transparency archives** now have their own page, [[Design:Platforms:Ad archives]], with the archive-by-archive coverage comparison that {[benzaamia2026_year]} starts. Two findings from it belong here: **nine of the thirteen DSA ad repositories have never been used in these seven venues** — TikTok's, LinkedIn's, Bing's, Snapchat's, Amazon's free API and every retail one — and the ad-repository ground of the December 2025 X decision is a second reason to read that decision, alongside the researcher-access ground above. |
| </WRAP> | </WRAP> |
| |
| * **[[Design:Mobile and app measurement]]** — app stores, SDKs, static versus dynamic analysis, and certificate pinning. It does **not** currently cover voice-assistant skill stores or the on-device model-extraction route {[west2024_picture]} used; those are described here instead. | * **[[Design:Mobile and app measurement]]** — app stores, SDKs, static versus dynamic analysis, and certificate pinning. It does **not** currently cover voice-assistant skill stores or the on-device model-extraction route {[west2024_picture]} used; those are described here instead. |
| * **[[Design:Longitudinal]]** — repeating a platform measurement when the platform, not just the web, moved between waves. | * **[[Design:Longitudinal]]** — repeating a platform measurement when the platform, not just the web, moved between waves. |
| | * **[[Design:Algorithm audits]]** — once you have the sock puppets, the experiment: what a control arm is, carry-over between arms, and sizing the noise floor before claiming a difference. |
| * **[[Programming:Registration]]** — the mechanics of the accounts a sock-puppet study needs. | * **[[Programming:Registration]]** — the mechanics of the accounts a sock-puppet study needs. |
| * **[[Programming:Interaction]]** — driving a feed once you are in. | * **[[Programming:Interaction]]** — driving a feed once you are in. |
| * **[[:Artifacts]]** — depositing data from a channel that may not outlive the paper. | * **[[:Artifacts]]** — depositing data from a channel that may not outlive the paper. |
| * **[[Statistics:Biases]]** — donation panels, follower thresholds, and convenience samples. | * **[[Statistics:Biases]]** — donation panels, follower thresholds, and convenience samples. |
| | * **[[Design:Platforms:Messaging channels]]** — joining public groups, channels and servers: how they are found, what joining shows you, the denominator, client tooling and terms, and the ethics of recording groups whose members did not join a study. |
| | * **[[Design:Platforms:Ad archives]]** — an access route on this page with its own instrument page: what each of the thirteen DSA ad repositories covers, what an archive structurally cannot contain, and the two-sided error problem. |
| | * **[[Security:Online scams]]** — scam campaigns followed off the platform to the scam website or wallet. Scam accounts, comments and posts as the object stay on this page. |
| * **[[provenance:design:platforms]]** — every query, fold, audit and external check behind this page. | * **[[provenance:design:platforms]]** — every query, fold, audit and external check behind this page. |
| |