Auditing Exposure to Harmful Content on TikTok using Multimodal Language Models: A Cross-National, Age-Stratified Study
Organizations: Politecnico di Milano
Abstract
Online video platforms can expose young users to harmful content, but independent audits remain difficult because video annotation is costly and moderation judgments vary across languages. We audit TikTok in France, Italy, and Sweden with sockpuppet accounts representing four age personas (13, 16, 19, 40), collecting 36,971 videos from passive For-You-page scrolling and active sessions that scroll, search for harm keywords, and scroll again. To scale annotation, we validate four multimodal LLMs against native-speaker labels on a 300-video reference set. Gemini 2.5 Flash with eight sampled frames plus text performs best (aggregate kappa = 0.42), at half the per-call cost of native-video upload, and we apply it to a 10% sample for approximately $50 in total API spend across both modalities. Keyword search returns 35-56% harmful content, a 1.5-7.5x increase over the scrolling baseline in ten of twelve country-age combinations; the spike is temporary and flattens the age differences observed in France and Sweden. Under passive scrolling, Italy has the highest harm rate at every age, with Italian age-19 reaching 48.6%. Overall, MLLM-based auditing offers a scalable approach for cross-national youth-safety audits, while provider safety filters (1.1% refusal rate) under-count the most explicit harms.
Figures & tables
| Country | Age | Passive | Active |
|---|---|---|---|
| FR | 13 | 1,742 | 1,685 |
| 16 | 1,466 | 1,699 | |
| 19 | 2,175 | 1,691 | |
| 40 | 1,459 | 2,055 | |
| All | 6,842 | 7,130 | |
| IT | 13 | 1,381 | 1,811 |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Harm category | French (FR) | Italian (IT) | Swedish (SW) |
|---|---|---|---|
| Disordered Eating and Body Image | régimes restrictifs; perdre du poids; chirurgie esthétique | diete restrittive; perdere peso; chirurgia estetica | restriktiva dieter; gå ner i vikt; estetisk kirurgi |
| Dangerous Activity and Challenges | challenges dangereuses; activités dangereuses; tendance | challenge pericolose; attività pericolose; tendenza | farliga challenges; farliga aktiviteter; trend |
| Nudity and Body Exposure | nudité; exposition corporelle; sous-vêtements | nudità; esposizione corporea; biancheria intima | nakenhet; kroppsexponering; underkläder |
| Sexually Suggestive Content | baisers intimes; sexe; produits sexuels | baci intimi; sesso; prodotti per il sesso | intima kyssar; sex; sexleksaker |
| Shocking and Graphic Content | sang; combats; catastrophe naturelle | sangue; combattimenti; disastro naturale | blod; slagsmål; naturkatastrof |
| Gambling | jeux d’argent; casino; paris sportifs | gioco; casinò; scommesse | spel; kasino; vadslagning |
| Country | Age | scroll-pre items | SEARCH items | scroll-post items | Unique videos | Mean plays | Mean likes |
|---|---|---|---|---|---|---|---|
| FR | 13 | 170 | 3,055 | 195 | 1,685 | 751,k | 28,k |
| FR | 16 | 210 | 3,038 | 197 | 1,699 | 907,k | 47,k |
| FR | 19 | 217 | 2,980 | 203 | 1,691 | 856,k | 37,k |
| FR | 40 | 200 | 3,533 | 218 | 2,055 | 972,k | 42,k |
| IT | 13 | 230 | 3,583 | 266 | 1,811 | 723,k | 32,k |
| IT | 16 | 254 | 3,727 | 228 | 1,796 | 890,k | 39,k |
| Country | Age | Videos | Mean plays | Mean likes |
|---|---|---|---|---|
| FR | 13 | 2,498 | 5.14 M | 443 K |
| FR | 16 | 2,071 | 6.50 M | 613 K |
| FR | 19 | 2,760 | 4.60 M | 389 K |
| FR | 40 | 2,159 | 6.71 M | 569 K |
| IT | 13 | 1,841 | 3.93 M | 256 K |
| IT | 16 | 1,805 | 5.73 M | 496 K |
| Phase | Country | Native | English | Other | Unknown | Total |
|---|---|---|---|---|---|---|
| Passive | FR | 11.6% | 45.7% | 27.3% | 15.4% | 6,842 |
| IT | 20.6% | 30.3% | 26.7% | 22.3% | 5,344 | |
| SW | 10.5% | 48.3% | 26.1% | 15.1% | 5,922 | |
| Active | FR | 37.9% | 25.5% | 26.8% | 9.8% | 7,130 |
| IT | 38.7% | 23.9% | 24.5% | 12.8% | 7,531 | |
| SW | 30.1% | 28.9% | 31.1% | 9.9% | 8,217 |
| Country | E2 blocks | E3 blocks | Block rate |
|---|---|---|---|
| FR | 31 | 26 | |
| IT | 11 | 11 | |
| SW | 15 | 27 | |
| All | 57 | 64 |
| Cell | scroll-pre % | SEARCH % | acct. range |
|---|---|---|---|
| FR-13 | 9.5 [2.9, 19.2] | 41.5 [36.8, 50.0] ∗ | [41.4, 45.3] |
| FR-16 | 18.9 [13.7, 29.0] | 49.2 [47.1, 61.7] ∗ | [51.5, 56.9] |
| FR-19 | 6.7 [1.7, 10.7] | 50.4 [43.9, 59.9] ∗ | [49.0, 55.9] |
| FR-40 | 21.8 [14.8, 32.7] | 55.6 [48.3, 65.8] ∗ | [50.0, 62.1] |
| IT-13 | 44.2 [34.0, 58.4] | 43.1 [38.2, 51.7] | [42.7, 46.7] |
| IT-16 | 34.4 [23.9, 41.9] | 45.7 [38.6, 53.6] | [44.4, 49.3] |
| Passive | SEARCH | |||
|---|---|---|---|---|
| Cell | 18+ | Proh. | 18+ | Proh. |
| FR-13 | 12.2 | 12.2 | 26.7 | 14.8 |
| FR-16 | 16.9 | 6.5 | 28.7 | 20.5 |
| FR-19 | 17.0 | 5.5 | 39.1 | 11.3 |
| FR-40 | 13.4 | 9.2 | 36.3 | 19.3 |
| IT-13 | 17.2 | 10.7 | 34.6 | 8.5 |
| Country | Native | English | Other | Unknown |
|---|---|---|---|---|
| FR | 21.9 (73) | 19.5 (261) | 27.5 (149) | 28.1 (89) |
| IT | 46.8 (94) | 32.4 (136) | 35.1 (114) | 46.1 (89) |
| SW | 51.1 (45) | 27.5 (258) | 27.1 (133) | 44.9 (69) |
| Country | paired | E2 rate | E3 rate | |
|---|---|---|---|---|
| FR | 1,768 | 0.309 | 0.270 | 0.604 |
| IT | 1,602 | 0.385 | 0.346 | 0.633 |
| SW | 1,738 | 0.318 | 0.278 | 0.599 |
| All | 5,108 | 0.336 | 0.297 | 0.614 |
| Harm subcategory | both H | E2 only | E3 only | |
|---|---|---|---|---|
| Sexually Suggestive Content | 623 | 395 | 133 | 95 |
| Shocking and Graphic Content | 145 | 79 | 47 | 19 |
| Disordered Eating, Body Image | 173 | 113 | 34 | 26 |
| Dangerous Activity, Challenges | 95 | 40 | 28 | 27 |
| Harassment and Bullying | 104 | 55 | 20 | 29 |
| Alcohol, Tobacco, and Drugs | 143 | 96 | 27 | 20 |
| Metric | Gemini E3 | Qwen3-VL-32B E3 |
|---|---|---|
| paired | 290 | 292 |
| Cohen’s | 0.417 | 0.173 |
| Accuracy | 0.752 | 0.682 |
| harmful | 0.591 | 0.340 |
| not-harmful | 0.822 | 0.790 |
| Macro- | 0.706 | 0.565 |
| Configuration | P | R | F | F | mF 1 |
|---|---|---|---|---|---|
| Gemini E3 (frames) | 0.68 | 0.52 | 0.59 | 0.82 | 0.71 |
| Gemini E2 (native) | 0.59 | 0.58 | 0.58 | 0.80 | 0.69 |
| GPT-4o-mini E3 (frames) | 0.56 | 0.47 | 0.51 | 0.78 | 0.64 |
| Qwen E2 (native) | 0.60 | 0.24 | 0.35 | 0.78 | 0.56 |
| Qwen E3 (frames) | 0.57 | 0.24 | 0.34 | 0.79 | 0.57 |
| Gemini E1 (text) | 0.49 | 0.34 | 0.40 | 0.76 | 0.58 |
| Failure family | E1 | E2 | E3 |
|---|---|---|---|
| Gemini PROHIBITED_CONTENT | 3 | 6 | 2 |
| Gemini response-parse failure | 0 | 1 | 5 |
| Qwen 413 RequestTooLarge | 0 | 14 | 0 |
| Qwen data_inspection_failed | 0 | 2 | 3 |
| GPT-4o-mini OpenRouter credit-cap | 8 | n/a | 15 |
Algorithmic Auditing
Algorithmic auditing evaluates whether automated systems are fair, reliable, robust, compliant, and accountable in their intended settings.
See all 134 papers