prima bozza sito sindacato
This commit is contained in:
commit
59ef4db64f
31 changed files with 1576 additions and 0 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
deploy
|
||||
public
|
||||
|
||||
|
||||
.DS_Store
|
||||
.hugo_build.lock
|
||||
504
assets/css/main.css
Normal file
504
assets/css/main.css
Normal file
|
|
@ -0,0 +1,504 @@
|
|||
/* ==========================================================================
|
||||
COLOR SYSTEM — edit these to change the entire palette
|
||||
========================================================================== */
|
||||
|
||||
:root {
|
||||
--color-bg: #0a0a0a;
|
||||
--color-text: #e8e4df;
|
||||
--color-text-muted: #8a8580;
|
||||
--color-accent: #c4a35a; /* placeholder — define later */
|
||||
--color-accent-hover: #d4b76a; /* placeholder — define later */
|
||||
--color-border: #2a2725;
|
||||
--color-surface: #141210;
|
||||
--color-footnote-bg: #1a1816;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
RESET & BASE
|
||||
========================================================================== */
|
||||
|
||||
*, *::before, *::after {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 18px;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'EB Garamond', 'Garamond', 'Georgia', serif;
|
||||
background-color: var(--color-bg);
|
||||
color: var(--color-text);
|
||||
line-height: 1.72;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
TYPOGRAPHY
|
||||
========================================================================== */
|
||||
|
||||
h1 {
|
||||
font-family: 'EB Garamond', 'Garamond', serif;
|
||||
font-weight: 700;
|
||||
font-size: 2.8rem;
|
||||
line-height: 1.15;
|
||||
margin-bottom: 0.6em;
|
||||
letter-spacing: -0.01em;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: 'EB Garamond', 'Garamond', serif;
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
font-size: 1.8rem;
|
||||
line-height: 1.3;
|
||||
margin-top: 1.8em;
|
||||
margin-bottom: 0.5em;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-family: 'EB Garamond', 'Garamond', serif;
|
||||
font-weight: 400;
|
||||
font-size: 1.25rem;
|
||||
line-height: 1.4;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
margin-top: 1.8em;
|
||||
margin-bottom: 0.5em;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-family: 'EB Garamond', 'Garamond', serif;
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
font-size: 1.25rem;
|
||||
line-height: 1.4;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.4em;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1.2em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--color-accent);
|
||||
text-decoration: none;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--color-accent-hover);
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 2px solid var(--color-accent);
|
||||
padding-left: 1.2em;
|
||||
margin: 1.5em 0;
|
||||
font-style: italic;
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin-bottom: 1.2em;
|
||||
padding-left: 1.4em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: none;
|
||||
border-top: 1px solid var(--color-border);
|
||||
margin: 2.5em 0;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: 0.88em;
|
||||
background: var(--color-surface);
|
||||
padding: 0.15em 0.4em;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
HEADER
|
||||
========================================================================== */
|
||||
|
||||
.site-header {
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.site-nav {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 1.4rem 2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.nav-main {
|
||||
display: flex;
|
||||
gap: 2.5rem;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
font-size: 1rem;
|
||||
color: var(--color-text-muted);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
font-weight: 400;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.nav-home {
|
||||
font-weight: 600;
|
||||
color: var(--color-text);
|
||||
letter-spacing: 0.12em;
|
||||
}
|
||||
|
||||
.nav-lang {
|
||||
display: flex;
|
||||
gap: 0.8rem;
|
||||
}
|
||||
|
||||
.lang-link {
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-text-muted);
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.lang-link:hover {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.lang-active {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
FOOTER
|
||||
========================================================================== */
|
||||
|
||||
.site-footer {
|
||||
border-top: 1px solid var(--color-border);
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
.footer-inner {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
font-size: 0.85rem;
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
CONTENT LAYOUT — SIDENOTES (3/4 + 1/4)
|
||||
========================================================================== */
|
||||
|
||||
.page-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 3rem 2rem;
|
||||
}
|
||||
|
||||
.sidenote-layout .content-body {
|
||||
position: relative;
|
||||
width: 72%;
|
||||
}
|
||||
|
||||
.page-date {
|
||||
display: block;
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-text-muted);
|
||||
margin-bottom: 2em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
SIDENOTES — footnotes repositioned to the margin
|
||||
========================================================================== */
|
||||
|
||||
/* The original footnote section rendered by Hugo at the bottom */
|
||||
.sidenote-layout .footnotes {
|
||||
display: none; /* hidden once JS has promoted notes to the margin */
|
||||
}
|
||||
|
||||
/* Each sidenote placed by JS */
|
||||
.sidenote {
|
||||
position: absolute;
|
||||
right: -36%; /* push into the right margin */
|
||||
width: 28%; /* ~1/4 of the total page width */
|
||||
font-size: 0.82rem;
|
||||
line-height: 1.55;
|
||||
color: var(--color-text-muted);
|
||||
padding-left: 1.2rem;
|
||||
border-left: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.sidenote-number {
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
color: var(--color-accent);
|
||||
margin-right: 0.3em;
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
/* Inline footnote reference numbers */
|
||||
.sidenote-layout .content-body sup a,
|
||||
.sidenote-layout .content-body a[href^="#fn:"],
|
||||
.sidenote-layout .content-body sup a[href^="#fn"] {
|
||||
color: var(--color-accent);
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
font-size: 0.72em;
|
||||
}
|
||||
|
||||
.sidenote-layout .content-body sup a:hover,
|
||||
.sidenote-layout .content-body a[href^="#fn:"]:hover {
|
||||
color: var(--color-accent-hover);
|
||||
}
|
||||
|
||||
/* Fallback: if JS has not run, show footnotes normally */
|
||||
.sidenotes-fallback .footnotes {
|
||||
display: block;
|
||||
margin-top: 3rem;
|
||||
padding-top: 1.5rem;
|
||||
border-top: 1px solid var(--color-border);
|
||||
font-size: 0.88rem;
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
INITIATIVE LIST (section page)
|
||||
========================================================================== */
|
||||
|
||||
.initiative-list {
|
||||
margin-top: 2.5rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.initiative-card {
|
||||
display: block;
|
||||
padding: 1.5rem;
|
||||
border: 1px solid var(--color-border);
|
||||
background: var(--color-surface);
|
||||
transition: border-color 0.25s ease, background-color 0.25s ease;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.initiative-card:hover {
|
||||
border-color: var(--color-accent);
|
||||
background: var(--color-footnote-bg);
|
||||
}
|
||||
|
||||
.initiative-card h3 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.3em;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.initiative-subtitle {
|
||||
font-style: italic;
|
||||
color: var(--color-text-muted);
|
||||
margin-bottom: 0.5em;
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
|
||||
.initiative-summary {
|
||||
color: var(--color-text-muted);
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
CSV TABLES (shortcode)
|
||||
========================================================================== */
|
||||
|
||||
.csv-table {
|
||||
margin: 1.5rem 0 2rem 0;
|
||||
padding: 1rem;
|
||||
border: 1px solid var(--color-border);
|
||||
background: var(--color-surface);
|
||||
--csv-max-rows: 4;
|
||||
--csv-row-height: 2.2rem;
|
||||
--csv-header-height: 2.4rem;
|
||||
}
|
||||
|
||||
.csv-table__header {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0.8rem;
|
||||
}
|
||||
|
||||
.csv-table__title {
|
||||
margin: 0;
|
||||
font-size: 1rem;
|
||||
letter-spacing: 0.03em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.csv-table__meta {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.85rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.csv-table__count {
|
||||
font-size: 0.84rem;
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
.csv-table__download {
|
||||
display: inline-block;
|
||||
font-size: 0.84rem;
|
||||
border: 1px solid var(--color-border);
|
||||
padding: 0.2rem 0.6rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
}
|
||||
|
||||
.csv-table__viewport {
|
||||
max-width: 100%;
|
||||
max-height: calc((var(--csv-row-height) * var(--csv-max-rows)) + var(--csv-header-height));
|
||||
overflow: auto;
|
||||
border: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.csv-table__status {
|
||||
margin: 0;
|
||||
padding: 0.7rem 0.8rem;
|
||||
color: var(--color-text-muted);
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
|
||||
.csv-table__table {
|
||||
border-collapse: collapse;
|
||||
width: max-content;
|
||||
min-width: 100%;
|
||||
font-size: 0.86rem;
|
||||
}
|
||||
|
||||
.csv-table__table th,
|
||||
.csv-table__table td {
|
||||
border: 1px solid var(--color-border);
|
||||
padding: 0.45rem 0.55rem;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.csv-table__table thead th {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
background: var(--color-footnote-bg);
|
||||
}
|
||||
|
||||
.csv-table__table tbody tr {
|
||||
height: var(--csv-row-height);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
RESPONSIVE
|
||||
========================================================================== */
|
||||
|
||||
@media (max-width: 900px) {
|
||||
html {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.sidenote-layout .content-body {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* On small screens sidenotes become inline blocks below the paragraph */
|
||||
.sidenote {
|
||||
position: relative;
|
||||
right: auto;
|
||||
width: 100%;
|
||||
margin: 0.8em 0 1.2em 0;
|
||||
padding: 0.8em 1em;
|
||||
background: var(--color-footnote-bg);
|
||||
border-left: 2px solid var(--color-accent);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.site-nav {
|
||||
padding: 1rem 1.2rem;
|
||||
flex-direction: column;
|
||||
gap: 0.6rem;
|
||||
}
|
||||
|
||||
.nav-main {
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.csv-table {
|
||||
padding: 0.8rem;
|
||||
}
|
||||
|
||||
.csv-table__table {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.page-content {
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
}
|
||||
153
assets/js/csv-tables.js
Normal file
153
assets/js/csv-tables.js
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
|
||||
function parseCsv(text) {
|
||||
var rows = [];
|
||||
var row = [];
|
||||
var field = '';
|
||||
var i = 0;
|
||||
var inQuotes = false;
|
||||
|
||||
while (i < text.length) {
|
||||
var ch = text[i];
|
||||
|
||||
if (inQuotes) {
|
||||
if (ch === '"') {
|
||||
if (text[i + 1] === '"') {
|
||||
field += '"';
|
||||
i += 2;
|
||||
continue;
|
||||
}
|
||||
inQuotes = false;
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
field += ch;
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ch === '"') {
|
||||
inQuotes = true;
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ch === ',') {
|
||||
row.push(field);
|
||||
field = '';
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ch === '\n') {
|
||||
row.push(field);
|
||||
rows.push(row);
|
||||
row = [];
|
||||
field = '';
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ch === '\r') {
|
||||
i += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
field += ch;
|
||||
i += 1;
|
||||
}
|
||||
|
||||
if (field.length > 0 || row.length > 0) {
|
||||
row.push(field);
|
||||
rows.push(row);
|
||||
}
|
||||
|
||||
return rows.filter(function (r) {
|
||||
return r.length > 1 || (r.length === 1 && r[0].trim() !== '');
|
||||
});
|
||||
}
|
||||
|
||||
function buildTable(headers, dataRows) {
|
||||
var table = document.createElement('table');
|
||||
table.className = 'csv-table__table';
|
||||
|
||||
var thead = document.createElement('thead');
|
||||
var headRow = document.createElement('tr');
|
||||
|
||||
headers.forEach(function (h) {
|
||||
var th = document.createElement('th');
|
||||
th.textContent = h;
|
||||
headRow.appendChild(th);
|
||||
});
|
||||
|
||||
thead.appendChild(headRow);
|
||||
table.appendChild(thead);
|
||||
|
||||
var tbody = document.createElement('tbody');
|
||||
dataRows.forEach(function (r) {
|
||||
var tr = document.createElement('tr');
|
||||
headers.forEach(function (_, idx) {
|
||||
var td = document.createElement('td');
|
||||
td.textContent = r[idx] !== undefined ? r[idx] : '';
|
||||
tr.appendChild(td);
|
||||
});
|
||||
tbody.appendChild(tr);
|
||||
});
|
||||
|
||||
table.appendChild(tbody);
|
||||
return table;
|
||||
}
|
||||
|
||||
function renderCsvTable(container) {
|
||||
var src = container.getAttribute('data-src');
|
||||
var countEl = container.querySelector('[data-csv-count]');
|
||||
var statusEl = container.querySelector('[data-csv-status]');
|
||||
var viewport = container.querySelector('[data-csv-viewport]');
|
||||
|
||||
if (!src || !viewport || !statusEl || !countEl) {
|
||||
return;
|
||||
}
|
||||
|
||||
fetch(src)
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
throw new Error('HTTP ' + response.status);
|
||||
}
|
||||
return response.text();
|
||||
})
|
||||
.then(function (csvText) {
|
||||
var rows = parseCsv(csvText);
|
||||
|
||||
if (rows.length === 0) {
|
||||
statusEl.textContent = 'CSV vuoto.';
|
||||
countEl.textContent = 'Righe: 0';
|
||||
return;
|
||||
}
|
||||
|
||||
var headers = rows[0];
|
||||
var dataRows = rows.slice(1);
|
||||
var table = buildTable(headers, dataRows);
|
||||
|
||||
viewport.innerHTML = '';
|
||||
viewport.appendChild(table);
|
||||
|
||||
countEl.textContent = 'Righe: ' + dataRows.length;
|
||||
})
|
||||
.catch(function (error) {
|
||||
statusEl.textContent = 'Impossibile caricare il CSV (' + error.message + ').';
|
||||
countEl.textContent = 'Righe: n/d';
|
||||
});
|
||||
}
|
||||
|
||||
function initCsvTables() {
|
||||
var containers = document.querySelectorAll('[data-csv-table]');
|
||||
containers.forEach(renderCsvTable);
|
||||
}
|
||||
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initCsvTables);
|
||||
} else {
|
||||
initCsvTables();
|
||||
}
|
||||
})();
|
||||
106
assets/js/sidenotes.js
Normal file
106
assets/js/sidenotes.js
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
/**
|
||||
* sidenotes.js
|
||||
* Takes Hugo-rendered Goldmark footnotes and repositions them
|
||||
* as margin notes alongside the text that references them.
|
||||
*
|
||||
* Hugo/Goldmark renders footnotes as:
|
||||
* - References: <sup id="fnref:N"><a href="#fn:N">N</a></sup>
|
||||
* or <sup id="fnref1:N"><a href="#fn:N">N</a></sup> (for duplicate refs)
|
||||
* - Section: <section class="footnotes"> … <ol> <li id="fn:N"> … </li> </ol> </section>
|
||||
*/
|
||||
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
const MARGIN_TOP_PX = 12; // minimum vertical gap between sidenotes
|
||||
|
||||
function initSidenotes() {
|
||||
const container = document.querySelector('.sidenote-layout .content-body');
|
||||
if (!container) return;
|
||||
|
||||
const footnotesSection = container.querySelector('.footnotes, section.footnotes');
|
||||
if (!footnotesSection) return;
|
||||
|
||||
// Collect all footnote reference <sup> elements
|
||||
const refs = container.querySelectorAll('sup[id^="fnref"]');
|
||||
if (refs.length === 0) return;
|
||||
|
||||
// Check viewport: skip sidenote placement on narrow screens
|
||||
if (window.innerWidth < 900) {
|
||||
container.classList.add('sidenotes-fallback');
|
||||
footnotesSection.style.display = '';
|
||||
return;
|
||||
}
|
||||
|
||||
let lastBottom = 0;
|
||||
|
||||
refs.forEach(function (sup) {
|
||||
// Get the footnote id from the <a> inside the <sup>
|
||||
const anchor = sup.querySelector('a[href^="#fn"]');
|
||||
if (!anchor) return;
|
||||
|
||||
const fnId = anchor.getAttribute('href').replace('#', '');
|
||||
const footnoteLi = footnotesSection.querySelector('#' + CSS.escape(fnId));
|
||||
if (!footnoteLi) return;
|
||||
|
||||
// Extract footnote content (skip the back-reference link)
|
||||
const clone = footnoteLi.cloneNode(true);
|
||||
const backlinks = clone.querySelectorAll('.footnote-backref, a[href^="#fnref"]');
|
||||
backlinks.forEach(function (bl) { bl.remove(); });
|
||||
const noteHTML = clone.innerHTML.trim();
|
||||
|
||||
// Extract footnote number from the sup text
|
||||
const noteNumber = anchor.textContent.trim();
|
||||
|
||||
// Create sidenote element
|
||||
const sidenote = document.createElement('span');
|
||||
sidenote.className = 'sidenote';
|
||||
sidenote.setAttribute('role', 'note');
|
||||
sidenote.innerHTML =
|
||||
'<span class="sidenote-number">' + noteNumber + '.</span> ' + noteHTML;
|
||||
|
||||
// Append to content-body (absolutely positioned)
|
||||
container.appendChild(sidenote);
|
||||
|
||||
// Position vertically aligned with the reference
|
||||
const containerRect = container.getBoundingClientRect();
|
||||
const supRect = sup.getBoundingClientRect();
|
||||
let desiredTop = supRect.top - containerRect.top;
|
||||
|
||||
// Prevent overlap with previous sidenote
|
||||
if (desiredTop < lastBottom + MARGIN_TOP_PX) {
|
||||
desiredTop = lastBottom + MARGIN_TOP_PX;
|
||||
}
|
||||
|
||||
sidenote.style.top = desiredTop + 'px';
|
||||
|
||||
// Track the bottom of this sidenote for collision avoidance
|
||||
lastBottom = desiredTop + sidenote.offsetHeight;
|
||||
});
|
||||
|
||||
// Hide the original footnotes section
|
||||
footnotesSection.style.display = 'none';
|
||||
}
|
||||
|
||||
// Run on load
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initSidenotes);
|
||||
} else {
|
||||
initSidenotes();
|
||||
}
|
||||
|
||||
// Re-run on resize (debounced)
|
||||
let resizeTimer;
|
||||
window.addEventListener('resize', function () {
|
||||
clearTimeout(resizeTimer);
|
||||
resizeTimer = setTimeout(function () {
|
||||
// Remove existing sidenotes and re-init
|
||||
document.querySelectorAll('.sidenote').forEach(function (el) { el.remove(); });
|
||||
const fs = document.querySelector('.sidenote-layout .content-body .footnotes, .sidenote-layout .content-body section.footnotes');
|
||||
if (fs) fs.style.display = '';
|
||||
var fb = document.querySelector('.sidenotes-fallback');
|
||||
if (fb) fb.classList.remove('sidenotes-fallback');
|
||||
initSidenotes();
|
||||
}, 250);
|
||||
});
|
||||
})();
|
||||
19
config/_default/hugo.toml
Normal file
19
config/_default/hugo.toml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
baseURL = "https://sindacato.nina.watch/"
|
||||
title = "Sindacato Universale Digitale"
|
||||
defaultContentLanguage = "it"
|
||||
defaultContentLanguageInSubdir = true
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
[markup.goldmark.extensions]
|
||||
[markup.goldmark.extensions.footnote]
|
||||
# Standard Goldmark footnotes enabled by default
|
||||
|
||||
[taxonomies]
|
||||
|
||||
[outputs]
|
||||
home = ["HTML"]
|
||||
section = ["HTML"]
|
||||
page = ["HTML"]
|
||||
15
config/_default/languages.toml
Normal file
15
config/_default/languages.toml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[it]
|
||||
languageName = "Italiano"
|
||||
contentDir = "content/it"
|
||||
weight = 1
|
||||
[it.params]
|
||||
homeLabel = "Il Sindacato"
|
||||
initiativesLabel = "Le Iniziative"
|
||||
|
||||
[en]
|
||||
languageName = "English"
|
||||
contentDir = "content/en"
|
||||
weight = 2
|
||||
[en.params]
|
||||
homeLabel = "The Union"
|
||||
initiativesLabel = "Initiatives"
|
||||
9
config/_default/menus.en.toml
Normal file
9
config/_default/menus.en.toml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[[main]]
|
||||
name = "The Union"
|
||||
pageRef = "/"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
name = "Initiatives"
|
||||
pageRef = "/initiatives/"
|
||||
weight = 2
|
||||
16
config/_default/menus.it.toml
Normal file
16
config/_default/menus.it.toml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[[main]]
|
||||
name = "Sindacato"
|
||||
pageRef = "/"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
name = "Iniziative"
|
||||
pageRef = "/iniziative/"
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
name = "Chi"
|
||||
url = "https://nina.watch"
|
||||
weight = 3
|
||||
[[main.params]]
|
||||
rel = 'external'
|
||||
31
content/en/_index.md
Normal file
31
content/en/_index.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: "Sindacato"
|
||||
---
|
||||
|
||||
# The Universal Digital Union
|
||||
|
||||
In the lexicon of the digital economy, one deceptive word dominates: _user_. The term user suggests passivity, consumption, marginal use of a service. But the so-called user, in the reality of contemporary digital infrastructure, is not merely a consumer. They are a **producer of value**.[^1]
|
||||
|
||||
Every gesture made in digital space — writing, searching, reading, scrolling, commenting, watching, dwelling — generates data. Each piece of data feeds machine learning systems, predictive models, advertising and financial infrastructures. Every micro-fragment of human behaviour becomes economic material.
|
||||
|
||||
What is called the _universe of platforms_ is nothing other than an immense **diffuse factory**, in which billions of individuals work without wages, without contracts, and often without awareness.[^2]
|
||||
|
||||
The great economic transformation of the twenty-first century consists precisely in this: **the systematic capture of the generality of human experience as raw material, as means of production, as economic and financial value**.[^3]
|
||||
|
||||
## The need for a universal digital union
|
||||
|
||||
Every historical form of labour has generated, sooner or later, forms of collective organisation. The industrial factory gave rise to the trade union and mutual aid societies. The digital being too must take this decisive step of self-defence of its own class — a step that coincides with the safeguarding and survival of the entire species.
|
||||
The digital society demands a universal union of producers of informational value. This union cannot be national. Digital infrastructures are transnational, and therefore the union we invoke must be a universal digital union.[^4]
|
||||
Its function is not simply defensive. It must redefine the relationship between human societies and technological infrastructures, between individuals and collectivities, between economic value and social value, between property and impropriety, between the public sphere and the private sphere.
|
||||
|
||||
---
|
||||
|
||||
Explore [the initiatives](/en/initiatives/) to learn more.
|
||||
|
||||
[^1]: On the conceptualisation of digital labour and the user as an unwaged "producer of value", the foundational analysis is Terranova, T. (2000), *Free Labor: Producing Culture for the Digital Economy*, in "Social Text".
|
||||
|
||||
[^2]: The idea of the universe of platforms as a "diffuse factory" (social factory) in which individuals labour unknowingly is extensively deconstructed in Scholz, T. (2013), *Digital Labor: The Internet as Playground and Factory*, Routledge.
|
||||
|
||||
[^3]: The concept of the systematic extraction of human experience as raw material is the nucleus of the well-known theory set out in Zuboff, S. (2019), *The Age of Surveillance Capitalism: The Fight for a Human Future at the New Frontier of Power*, Profile Books.
|
||||
|
||||
[^4]: On the urgency and necessity of new forms of transnational claim-making for information workers and cooperative digital platforms, cf. Woodcock, J. & Graham, M. (2020), *The Gig Economy: A Critical Introduction*, Polity Press.
|
||||
5
content/en/initiatives/_index.md
Normal file
5
content/en/initiatives/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "The Initiatives"
|
||||
---
|
||||
|
||||
The four _preliminary_ initiatives of NINA serve to road-test our practices and the growth of the group. To demonstrate our ambitions and our capacity to make an impact on contemporary technopolitics.
|
||||
44
content/en/initiatives/initiative-1.md
Normal file
44
content/en/initiatives/initiative-1.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: "Really Human Resources"
|
||||
subtitle: "AI has infiltrated the personnel selection process, gamifying it"
|
||||
date: 2026-04-15
|
||||
weight: 1
|
||||
---
|
||||
|
||||
|
||||
Personnel selection has been transformed into a calculation problem: the assumption is that a life is measurable and comparable. The **curriculum vitae** is the mould of this idea. It forces workers to compress their history into keywords, roles, results, and dates. Everything that does not fit into a list (contradictions, care contexts, irregular paths) must be removed. Empty sections are a flaw — so what? Let us think outside the box...
|
||||
|
||||
|
||||
This is only the beginning [^1] of the dehumanising chain: the aspiring worker must produce a competitive synthesis of themselves, and then someone else must hypothesise what this person can do. It is already a brutal filter when human, but in the so-called era of automation we are supposedly living through, this automated system does not listen — it ranks, producing a list from which the first three or five candidates are selected for the subsequent stages.[^2]
|
||||
|
||||
## Breaking the circuit: siege, stress, narrative
|
||||
|
||||
This is where _Really Human Resources_ enters. We do not ask for a technology that tries to be fair — this process cannot be saved: we want to make the idea that a person is calculable unliveable.
|
||||
|
||||
We "help" job seekers apply en masse and in a coordinated way[^3], with true stories but optimised texts[^4], until we transform the application chain into pure noise, with very little signal. A process designed to optimise human effort is forced to pay the price of its own abstraction: more calls, more inconclusive interviews, more wrong hires[^5], more time burned on both sides. When the error becomes systemic and measurable, it stops being individual bad luck and becomes a political matter.
|
||||
|
||||
## The operational sequence
|
||||
|
||||
Various components are at play. Follow the progress on XXX-SITE-TODO, and given the open-source and decentralised nature of the effort, consider participating:
|
||||
|
||||
1. **Leaking platform** with strong anonymity to surface internal rules, metrics, and procedures.
|
||||
|
||||
2. **Cartography of filters** to understand where automated rejection occurs: the software used by companies, the portals and their filters. Being able to name the problem.
|
||||
|
||||
3. **Open assisted application tools** built with developers and job seekers: they reduce the cost of applying and allow the process to be measured. Political side effect: breaking trust in numbers.
|
||||
|
||||
4. **Weekly bulletin** of stress observation, serial and public: how many applications have we supported?
|
||||
|
||||
5. **Measurement and publication**: response times, bounce rates, prematurely closed listings, invasive requests, inconsistencies. For this, we need to assist the application process from start to finish, or receive reports from those going through it.
|
||||
|
||||
6. **Escalation where possible**: engagements with trade unions and, in more advanced cases, collective actions linked to automated decisions. As suggested above, we know that a citizen should not be subjected to automated choices that impact their life — but rights must be won, it is not enough for them to be written in data protection regulations when technology and practice go in other directions.
|
||||
|
||||
[^1]: The rapid evolution of generative models (LLMs, generative AI, text-to-image, deep-fakes) enables the creation of **convincing texts, identities, and careers** with very little human effort. The study "Unmasking Fake Careers" is from 2025: a sign that we are already in full "age of synthetic generation". [arXiv](https://arxiv.org/abs/2509.19677)
|
||||
|
||||
[^2]: The increase in application volume (on a global scale, remote jobs, online platforms) makes **full human review of all CVs impractical**. This is why many selection processes remain, a priori, entrusted to automated systems: but these — as studies show — are vulnerable to "data poisoning" or manipulation. [arXiv](https://arxiv.org/abs/2402.14124)
|
||||
|
||||
[^3]: Automated form filling, email sending, created "tailored" to the job description. Tools/services that already exist today allow exactly this. [loopcv.pro](https://www.loopcv.pro/it/)
|
||||
|
||||
[^4]: Even without falsifying data, a candidate can use AI to generate very clean text, optimised for automated screening systems (ATS), that conceals very little real competence or experience. This increases the probability that underqualified people pass the initial filtering. [Job in Tourism](https://www.jobintourism.it/news/ai-e-recruiting-piu-cv-meno-qualita/)
|
||||
|
||||
[^5]: Companies trying to optimise time and costs seriously risk **lowering the quality of the hiring process**, perhaps hiring unqualified people — with legal, reputational, and organisational consequences. [Bradley](https://www.bradley.com/insights/publications/2025/06/ai-deepfakes-and-the-rise-of-the-fake-applicant-what-employers-need-to-know)
|
||||
31
content/en/initiatives/initiative-2.md
Normal file
31
content/en/initiatives/initiative-2.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: "Ghostmaxxing!"
|
||||
subtitle: "Experiments in adversarial disguise to deceive facial recognition"
|
||||
date: 2026-04-10
|
||||
weight: 2
|
||||
---
|
||||
|
||||
The implementation of facial recognition in public and private spaces represents today one of the most insidious and pervasive threats to our civil liberties. This technology, imposed from above and deployed without any real democratic consent or transparency, transforms our bodies and our features into extractable commodities, feeding a mass surveillance infrastructure that normalises institutional control throughout Europe. We have tried to resist through institutional channels — and having seen their limits, we are beginning to experiment with self-defence practices...
|
||||
|
||||
|
||||
Activist campaigns such as *Reclaim Your Face*[^1] have been denouncing this techno-authoritarian drift for years, reaffirming the urgency of organising a radical, grassroots reaction against mass biometrics[^2].
|
||||
|
||||
## The approach: resistance through make-up and adversarial methods
|
||||
|
||||
Faced with the arrogance of algorithmic surveillance, digital self-defence evolves from the streets to our very faces through adversarial practices: genuine acts of physical and visual hacking designed to deceive and sabotage *deep learning* models. Using targeted techniques such as *adversarial make-up*, geometric patterns (Patches), or *fashion-tech* anti-recognition fabrics, we can strategically alter the landmark points of the face, short-circuiting *computer vision* systems. These perturbations exploit the intrinsic vulnerabilities and mathematical shortcuts of neural networks: by applying specific eyeshadow to the orbital regions or blocks of visual "noise", we transform our appearance into data illegible to the machine, restoring the opacity needed to escape the predatory capture of detectors[^3][^4].
|
||||
|
||||
## The tools released: taking back control of technology
|
||||
|
||||
To transform theory into a tool for struggle, we have developed and gathered *open-source* resources designed to test defences directly on our own devices, without surrendering a single byte to corporate servers. On the portal [vecna.eu](https://vecna.eu/) we publish documentation and repositories focused on digital self-defence and AI countermeasures. Above all, we call you to digital action: try our web app **Ghostmaxxing**, available at [sindacato.nina.watch/ghostati](https://sindacato.nina.watch/ghostati). It is a testing tool that uses local recognition models to let you experience in real time the effectiveness of adversarial make-up via your webcam. **Use it, study it, and fork it from our GitHub** to deconstruct its mechanisms, improve the code, and create new interfaces of technological resistance[^5].
|
||||
|
||||
### 4. The practice: bodies, experimentation, and the call to the NINA Festival
|
||||
|
||||
Algorithms are not only fought on servers — they are fought on bodies. The effectiveness of these tools must be validated collectively: adversarial practice requires continuous experimentation, testing on different systems, documentation of failures, and gathering of feedback to refine techniques. To move to concrete action, we invite you to the **NINA Festival in Milan, Saturday 9 May at Rob de Matt (Via Enrico Annibale Butti, 18)**. From **4:00 pm** onwards, during the talk *"Ghosted. Fashion-tech and biometric data protection"*, we will lead a public workshop with *Michelle Tylicki* and other expert make-up artists. We will live-test make-up prototypes, record before/after results, and film the interactions for the next phase of our campaign. Join us: come to be made up, to fool the machines, and to take back your face.
|
||||
|
||||
---
|
||||
|
||||
[^1]: European Citizens' Initiative "Reclaim Your Face" (2021), *Ban on mass biometric surveillance practices*, reclaimyourface.eu.
|
||||
[^2]: Privacy Network (2022), *Observatory on facial recognition in Italy and the risks to civil rights*, Annual Report.
|
||||
[^3]: Yinpeng Dong et al. (2021), *Adv-Makeup: A New Imperceptible and Transferable Attack on Face Recognition*, arXiv:2105.03162.
|
||||
[^4]: Adversarial Robustness Toolbox (ART), *Official documentation on Spatial Evasion techniques and DPatch*, IBM.
|
||||
[^5]: Hermes Center (2020), *Open Source Tools for the Defence of Digital Rights*, operational manual.
|
||||
133
content/en/initiatives/initiative-3.md
Normal file
133
content/en/initiatives/initiative-3.md
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
title: "How Much Does Facebook Owe You?"
|
||||
subtitle: "Experimenting with new forms of negotiation for digital labour"
|
||||
date: 2026-04-05
|
||||
weight: 3
|
||||
---
|
||||
|
||||
You work for social media: you are their source of revenue. The more people are pigeonholed as *users*, the more these platforms gain in value, influence, and power. Let us have this value recognised. Let us start by calculating how much money Facebook owes us (and the other great platforms of exploitation). It is clear that Meta and no platform considers itself to owe anything to anyone. But this does not mean that pressure cannot be applied — and for that we need to be many!
|
||||
|
||||
Based on how many people report their willingness to seek total or partial reimbursement, we will provide options.
|
||||
|
||||
## The objective
|
||||
|
||||
To explore every possible way of making the quantity of value visible.
|
||||
|
||||
## References and numerical inputs
|
||||
|
||||
The following analyses provide usable figures for developing the research.
|
||||
|
||||
### Instagram
|
||||
|
||||
For Instagram, the most useful numbers for attributing or inferring the economic value of user behaviour are: approximately 2 billion monthly active global users, an advertising audience of approximately 1.91 billion people globally, approximately 179.9 million users reachable with advertising in the United States, and an estimate of 143.2 million active users in the United States. On the revenue side, one estimate places US advertising revenues at $42.52 billion in 2026. On the attention side, estimates of time spent diverge: approximately 33.9 minutes per day according to one source and 73 minutes per day according to another; furthermore, the average user reportedly opens the app more than 12 times per day. Other useful signals are the fact that 53% of advertising placements are reportedly on Reels, that 60% of consumers reportedly interact with brand content multiple times per week, that 29% of users reportedly make purchases on the platform, that approximately 130 million users click on shopping posts every month, and that Instagram Shopping is reportedly associated with approximately $40 billion in gross merchandise value (GMV). From these data one can derive synthetic indicators such as approximately $236 per US advertising user per year, approximately $297 per active US user per year, approximately $19.7 per month per monetisable user, approximately $0.65 per day, approximately $0.054 per session, and an attention value of between approximately $0.0089 and $0.0191 per minute depending on the assumption about time spent.
|
||||
|
||||
### Facebook
|
||||
|
||||
For Facebook, the most useful values exist primarily as proxies, because much data is published by Meta at the ecosystem level rather than per individual platform. Meta reported $200.966 billion in total revenues in 2025, of which $196.175 billion from advertising, 3.58 billion daily active people in the family of apps in December 2025, and a global annual ARPP of $57.03, where ARPP means average revenue per person. For Facebook in the stricter sense, estimates speak of approximately 3.07 billion monthly active global users, a global advertising audience of approximately 2.28 billion people, and approximately 197 million users reachable with advertising in the United States. A secondary estimate places time spent at approximately 31 minutes per day in the United States. If one uses Meta's total advertising revenue relative to Facebook's advertising reach, one obtains a very rough measure of approximately $86 per reachable advertising user per year — but it is important to remember that this is not a "pure" Facebook value: it is an indirect estimate based on multi-platform revenues.
|
||||
|
||||
### YouTube
|
||||
|
||||
For YouTube, the quantitative base is more solid because advertising revenues are reported directly by quarter: approximately $8.93 billion in Q1 2025, $9.8 billion in Q2, $10.3 billion in Q3, and $11.383 billion in Q4, for an annual total of approximately $40.413 billion in advertising revenues. In addition, Alphabet indicated that YouTube's total revenues from advertising and subscriptions exceeded $60 billion in 2025. On the user side, the global advertising reach is estimated at approximately 2.53 billion people and that in the United States at approximately 253 million; a separate estimate places global active users at approximately 2.58 billion. On the attention side, in the United Kingdom the average daily time was reported at approximately 51 minutes per day. These figures allow the construction of two synthetic indicators: approximately $16 per global advertising user per year if only advertising is considered, and approximately $23.7 per global advertising user per year as a minimum threshold if one uses the "over $60 billion" figure that includes both advertising and subscriptions.
|
||||
|
||||
### TikTok
|
||||
|
||||
For TikTok, the most important values combine audience breadth, intensity of use, and estimated advertising revenues. The platform communicated a community of over 200 million users in Europe and over 200 million users in the United States, as well as approximately 7.5 million US businesses present in the ecosystem. The global advertising reach is estimated at around 1.59 billion people, while in the United States the adult (18+) advertising reach is estimated at approximately 136 million. The average daily time in the United States is estimated at approximately 52 minutes per day, a value that makes TikTok particularly relevant in attention-based analyses. On the revenue side, a forecast places global advertising revenues 2025 at approximately $32.4 billion, while a US estimate speaks of approximately $11.2 billion. From these values one can infer approximately $20.4 per global advertising user per year and approximately $82 per adult US advertising-reachable user per year. In summary, TikTok appears particularly interesting when one wants to value user behaviour not only in terms of user base, but above all in terms of captured time and advertising monetisation density.
|
||||
|
||||
### Snapchat
|
||||
|
||||
Snapchat is useful because it combines revenue, usage, and subscription metrics in a fairly transparent manner. Snap reported approximately $5.93 billion in total revenues in 2025, of which $1.72 billion in Q4 and approximately $1.48 billion in advertising revenues in the same quarter. In Q4 2025 the platform reported 946 million MAU (monthly active users), 474 million DAU (daily active users), 24 million Snapchat+ subscribers, and an ARPU of $3.62, where ARPU means average revenue per user. The global advertising reach is estimated at approximately 709 million people, with approximately 106 million in the United States. Average usage time is placed at around 30 minutes per day. These data allow the construction of at least three levels of analysis of behavioural value: approximately $6.27 per monthly active user per year, approximately $12.51 per daily active user per year, and a direct willingness-to-pay component represented by the 24 million paying Snapchat+ users.
|
||||
|
||||
### X / Twitter
|
||||
|
||||
For X, the available figures are more fragmented, but still useful for inferring the value of user behaviour. Estimates place global 2025 advertising revenues at approximately $2.26 billion and US revenues at approximately $1.31 billion. The global advertising reach is estimated at approximately 586 million people, while that in the United States is approximately 104 million. On the attention side, one estimate places average US usage at approximately 34.1 minutes per day. X also provides a very useful signal on willingness to pay through its subscription tiers: $3 per month or $32 per year for Basic, $8 per month or $84 per year for Premium, and $40 per month or $395 per year for Premium+. Combining reach and advertising revenues yields approximate values of approximately $3.86 per global advertising user per year and approximately $12.6 per US advertising user per year. In this case, the value of behaviour can be read both as advertising value per reachable user and as a signal of propensity to pay for advanced features, visibility, and status.
|
||||
|
||||
## Monetary value data
|
||||
|
||||
Files ending in `-monetary.csv` collect variables in which the expressed value is monetary (predominantly in dollars): revenues, prices, annual value per user, value per minute or session, ARPU/ARPP, and estimates derived from explicit formulas.
|
||||
|
||||
Main columns, read from an analytical perspective:
|
||||
|
||||
- `currency`: currency or monetary unit of the value (e.g. `USD`).
|
||||
- `unit`: economic metric scale (e.g. `annual revenue`, `per user-year`, `CPC`, `per minute`).
|
||||
- `name`: technical identifier of the variable.
|
||||
- `explanation`: operational definition of the measure and, where needed, formula/proxy used.
|
||||
- `value`: observed or derived numerical value.
|
||||
- `platform`: platform the measure refers to.
|
||||
- `geography_year`: geographical scope and year/quarter/scenario.
|
||||
- `variable_class`: distinguishes `raw` data from `derived` data.
|
||||
- `reliability`: estimated reliability level (`reliable` or `exploratory`).
|
||||
- `source`: source or set of sources used.
|
||||
|
||||
{{< csv_table src="/data/instagram-monetary.csv" title="Instagram monetary (CSV)" maxRows="4" >}}
|
||||
|
||||
{{< csv_table src="/data/social-platforms-monetary.csv" title="Other platforms monetary (CSV)" maxRows="4" >}}
|
||||
|
||||
## Other non-monetary measurements
|
||||
|
||||
Files ending in `-other.csv` maintain almost the same structure, but the focus is not money: here you find user bases, ad reach, time-on-platform, percentages, coefficients, and other non-monetary indicators used to contextualise economic valuation.
|
||||
|
||||
Key differences from the previous files:
|
||||
|
||||
- the first column is `subject` (not `currency`) to indicate the nature of the data (`users`, `minutes`, `percent`, `coefficient`, etc.);
|
||||
- the values describe volume, frequency, intensity, or statistical relationships, not direct prices or revenues;
|
||||
- they serve as contextual base for subsequently constructing derived monetary indicators.
|
||||
|
||||
{{< csv_table src="/data/instagram-other.csv" title="Instagram other (CSV)" maxRows="4" >}}
|
||||
|
||||
{{< csv_table src="/data/social-platforms-other.csv" title="Other platforms other (CSV)" maxRows="4" >}}
|
||||
|
||||
## How to design a questionnaire for mapping behavioural value?
|
||||
|
||||
What we want to measure, in order to then critique or reclaim it, is:
|
||||
how much time one surrenders to the platform,
|
||||
how much free content labour one provides,
|
||||
how much traffic and attention one attracts from others,
|
||||
how monetisable one is as an advertising and commercial target.
|
||||
|
||||
The question sequence could proceed from:
|
||||
presence → intensity → production → audience → monetisation → dependency.
|
||||
|
||||
Here is a proposal:
|
||||
|
||||
### Section 1 — Presence
|
||||
|
||||
year of registration
|
||||
years of regular use
|
||||
any breaks
|
||||
|
||||
### Section 2 — Time
|
||||
|
||||
days/week
|
||||
sessions/day
|
||||
minutes/day
|
||||
|
||||
### Section 3 — Activity
|
||||
|
||||
consumption
|
||||
interaction
|
||||
production
|
||||
|
||||
### Section 4 — Output
|
||||
|
||||
number of contents
|
||||
creation time
|
||||
management time
|
||||
|
||||
### Section 5 — Reach
|
||||
|
||||
followers/friends/subscribers
|
||||
average views
|
||||
average engagement
|
||||
|
||||
### Section 6 — Indirect monetisation
|
||||
|
||||
ads viewed
|
||||
clicks
|
||||
purchases
|
||||
subscriptions/payments
|
||||
|
||||
### Section 7 — Centrality
|
||||
|
||||
social/professional use
|
||||
dependency
|
||||
replaceability
|
||||
24
content/en/initiatives/initiative-4.md
Normal file
24
content/en/initiatives/initiative-4.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Boniface VIII"
|
||||
subtitle: "A disenchantment device against AI safety-washing"
|
||||
date: 2026-03-20
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Our objective is to unmask the illusion of commercial algorithmic security by releasing **Boniface VIII**: an open-source language model stripped of any cosmetic filter, executable locally and fully inspectable. Conceived as a genuine "negative pedagogical device", Boniface VIII is not designed to be yet another polite and edifying assistant, but rather to expose the grammar of abuse and the capabilities that domesticated interfaces conceal. We want to provide activists, researchers, and civil society with a cognitive and political stress test to demonstrate that generative models contain capabilities that cannot be made safe through simple interface barriers.
|
||||
|
||||
## The Problem
|
||||
|
||||
Today we are witnessing a dangerous privatisation of digital security. Regulatory debates, in particular around the European AI Act, have been heavily conditioned by Big Tech lobbying[^1], leading legislators to mistake corporate "alignment" promises for genuine public policy. Security delegated to major vendors is, in reality, a fiction: it is commercial *safety-washing* that produces a purely aesthetic effect[^2]. If a mainstream system refuses a controversial request (the so-called "guardrails"), the idea spreads that the problem has been solved. On the contrary, research demonstrates that these filters are trivially bypassable through *jailbreaking* techniques and adversarial attacks[^3]. This dynamic generates political anaesthesia: it reassures the user and absolves those who govern, creating a two-lane digital reality where real harm continues to operate in the dark of dependency on proprietary APIs.
|
||||
|
||||
## The Resolving Approach
|
||||
|
||||
The response to this façade censorship is radical transparency and technological reappropriation. Instead of trusting vendors who simultaneously sell models and reassurance about their limits, we release Boniface VIII as public infrastructure. The approach is founded on providing the community with full control over the language model[^4]: visible prompts, modifiable configuration, bottom-up execution, and forking capability. We invite developers and citizens to download Boniface VIII, run it, and document what commercial filters are trying to hide. This release does not introduce new risks into the world, but makes legible and democratic the management of a technology that would otherwise remain the exclusive domain of those seeking to sell us the illusion of algorithmic control.
|
||||
|
||||
[^1]: Corporate Europe Observatory (2023), *The AI lobbying blitz: How Big Tech shaped the EU AI Act*. This report highlights how AI vendors influenced the European debate to exempt their base models from overly stringent rules. [Corporate Europe](https://corporateeurope.org)
|
||||
|
||||
[^2]: Whittaker, M. et al. (2023), *Open (for Business): Big Tech, Concentrated Power, and the Political Economy of Open AI*. Documents how the rhetoric of safety and open source is systematically used to consolidate oligopolistic markets. [AI Now Institute](https://ainowinstitute.org)
|
||||
|
||||
[^3]: Zou, A. et al. (2023), *Universal and Transferable Adversarial Attacks on Aligned Language Models*. The study that demonstrated the intrinsic vulnerability and systematic circumvention of guardrails imposed by commercial models. [arXiv](https://arxiv.org/abs/2307.15043)
|
||||
|
||||
[^4]: The importance of having inspectable "open-weights" systems for independent investigation is recommended as a bulwark against the recourse to "security through obscurity" typical of closed systems governed by proprietary black boxes. [Mozilla Foundation](https://foundation.mozilla.org/)
|
||||
31
content/it/_index.md
Normal file
31
content/it/_index.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: "Sindacato"
|
||||
---
|
||||
|
||||
# il Sindacato Universale Digitale
|
||||
|
||||
Nel lessico dell’economia digitale domina una parola ingannevole: _utente_. Il termine utente suggerisce passività, consumo, utilizzo marginale di un servizio.Ma il cosiddetto utente, nella realtà dell’infrastruttura digitale contemporanea, non è solo un consumatore. È un **produttore di valore**.[^1]
|
||||
|
||||
Ogni gesto compiuto nello spazio digitale - scrivere, cercare, leggere, scorrere, commentare, guardare, sostare - genera dati. Ogni dato alimenta sistemi di apprendimento automatico, modelli predittivi, infrastrutture pubblicitarie e finanziarie. Ogni microframmento di comportamento umano diventa materiale economico.
|
||||
|
||||
Ciò che viene chiamato _universo delle piattaforme_ non è altro che un’immensa **fabbrica diffusa**, nella quale miliardi di individui lavorano senza salario, senza contratto e spesso senza consapevolezza.[^2]
|
||||
|
||||
La grande trasformazione economica del XXI secolo consiste precisamente in questo: **la cattura** **sistematica della generalità dell’esperienza umana come materia prima, come mezzo di** **produzione, come valore economico e finanziario**.[^3]
|
||||
|
||||
## Necessità di un sindacato universale digitale
|
||||
|
||||
Ogni forma storica di lavoro ha generato, prima o poi, forme di organizzazione collettiva. La fabbrica industriale ha generato il sindacato operaio e le società di mutuo soccorso.Anche l’essere digitale deve compiere questo decisivo passo di autodifesa della propria classe che coincide con la salvaguardia e la sopravvivenza dell’intera specie.
|
||||
La società digitale esige un sindacato universale dei produttori di valore informazionale. Questo sindacato non può essere nazionale.Le infrastrutture digitali sono transnazionali, dunque il sindacato che evochiamo deve essere un sindacato digitale universale.[^4]
|
||||
La sua funzione non è semplicemente difensiva.Deve ridefinire il rapporto tra società umane e infrastrutture tecnologiche, tra individui e collettività, tra valore economico e valore sociale, tra proprietà e improprietà, tra sfera pubblica e sfera privata
|
||||
|
||||
---
|
||||
|
||||
Esplora [le iniziative](/it/iniziative/) per saperne di più.
|
||||
|
||||
[^1]: Sulla concettualizzazione del lavoro digitale e l'utente come "produttore di valore" non retribuito, l'analisi fondativa è di Terranova, T. (2000), *Free Labor: Producing Culture for the Digital Economy*, in "Social Text".
|
||||
|
||||
[^2]: L'idea dell'universo delle piattaforme come "fabbrica diffusa" (social factory) in cui gli individui lavorano inconsapevolmente è ampiamente decostruita in Scholz, T. (2013), *Digital Labor: The Internet as Playground and Factory*, Routledge.
|
||||
|
||||
[^3]: Il concetto di estrazione sistematica dell'esperienza umana come materia prima è il nucleo della ben nota teoria esposta in Zuboff, S. (2019), *The Age of Surveillance Capitalism: The Fight for a Human Future at the New Frontier of Power*, Profile Books.
|
||||
|
||||
[^4]: Sull'urgenza e la necessità di nuove forme di rivendicazione transnazionali per i lavoratori dell'informazione e piattaforme digitali cooperative, cfr. Woodcock, J. & Graham, M. (2020), *The Gig Economy: A Critical Introduction*, Polity Press.
|
||||
5
content/it/iniziative/_index.md
Normal file
5
content/it/iniziative/_index.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Le Iniziative"
|
||||
---
|
||||
|
||||
Le quattro iniziative _preliminari_ di NINA servono a rodare le nostre prassi e la crescita del gruppo. Dimostrare le nostre abizioni e la nostra capacità di incidere sulla tecnopolitica contemporanea.
|
||||
44
content/it/iniziative/iniziativa-1.md
Normal file
44
content/it/iniziative/iniziativa-1.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: "Risorse Veramente Umane"
|
||||
subtitle: "L'AI ha infiltrato il processo di selezione del personale, gamificandolo"
|
||||
date: 2026-04-15
|
||||
weight: 1
|
||||
---
|
||||
|
||||
|
||||
La selezione del personale è stata trasformata in un problema di calcolo: si presume che una vita sia misurabile e comparabile. Il **curriculum** è lo stampo di questa idea. Costringe chi lavora a comprimere la propria storia in parole chiave, ruoli, risultati e date. Tutto ciò che non sta in un elenco (contraddizioni, contesti di cura, percorsi irregolari) va rimosso. Le sezioni vuote sono una pecca, e quindi? Pensiamo fuori dal secchio...
|
||||
|
||||
|
||||
Questo è solo l’inizio [^1] della catena disumanizzante: l’aspirante lavoratore deve produrre una sintesi competitiva di sé, poi qualcun altro deve ipotizzare cosa sappia fare questa persona. È già un filtro brutale quando umano, ma nella così detta era dell’automazione in cui dovremmo essere, questo sistema automatizzato non ascolta, ma classifica in una lista dal quale prendere i primi tre o cinque candidati per le fasi successive.[^2]
|
||||
|
||||
## Rompere il circuito: assedio, stress, racconto
|
||||
|
||||
Qui entra _Really Human Resources_. Non chiediamo una tecnologia che si sforzi di essere giusta, questo processo non può essere salvato: vogliamo rendere invivibile l’idea che una persona sia calcolabile.
|
||||
|
||||
“Aiutiamo” chi cerca lavoro a candidarsi in modo massivo e coordinato[^3], con storie vere ma testi ottimizzati[^4], fino a trasformare la catena di candidatura in rumore puro, con pochissimo segnale. Un processo disegnato per ottimizzare lo sforzo umano viene costretto a pagare il prezzo della propria astrazione: più chiamate, più colloqui inconcludenti, più assunzioni sbagliate[^5], più tempo bruciato da entrambe le parti. Quando l’errore diventa sistemico e misurabile, smette di essere sfortuna individuale e diventa questione politica.
|
||||
|
||||
## La sequenza operativa
|
||||
|
||||
Vari componenti ci sono in gioco, segui su XXX-SITO-TODO per vedere come stanno procedendo, e considerando la natura open source e decentralizzata dello sforzo, considera la partecipazione:
|
||||
|
||||
1. **Piattaforma di leaking** con anonimato forte per far emergere regole interne, metriche e procedure.
|
||||
|
||||
2. **Cartografia dei filtri** per capire dove si produce lo scarto automatico: i software usati dalle aziende, i portali ed i loro filtri. Saper dare un nome al problema.
|
||||
|
||||
3. **Strumenti aperti di candidatura assistita** costruiti con sviluppatori e persone in cerca di lavoro: riducono il costo della candidatura e permettono di misurare il processo. Effetto collaterale politico: rompere la fiducia nei numeri.
|
||||
|
||||
4. **Bollettino settimanale** di osservazione dello stress, seriale e pubblico: quante candidatura abbiamo supportato?
|
||||
|
||||
5. **Misurazione e pubblicazione**: tempi di risposta, tassi di rimbalzo, annunci chiusi in anticipo, richieste invasive, incoerenze. Per questo serve assistere il lavoro di candidatura dall’inizio alla fine, oppure ricevere resoconti da chi passa per il processo.
|
||||
|
||||
6. **Escalation dove possibile**: interlocuzioni con sindacati e, nei casi più spinti, azioni collettive legate a decisioni automatizzate. Come suggerito sopra, sappiamo che un cittadino non dovrebbe subire scelte che impattano la sua vita in modo automatizzato, ma i diritti vanno conquistati, non basta che siano scritti sul regolamento protezione dati personali quando poi la tecnologia e la prassi vanno in altre direzioni.
|
||||
|
||||
[^1]: L’evoluzione rapida dei modelli generativi (LLM, generative-AI, text-to-image, deep-fake) consente di creare **testi, identità, carriere convincenti**, con pochissimo sforzo umano. Lo studio “Unmasking Fake Careers” è del 2025: segno che siamo già in piena “età della generazione sintetica”. [arXiv](https://arxiv.org/abs/2509.19677)
|
||||
|
||||
[^2]: L’incremento del volume delle candidature (su scala globale, remote jobs, piattaforme online) rende **impraticabile un controllo umano completo su tutti i CV**. Per questo molti processi di selezione restano a priori affidati a sistemi automatici: ma questi — come mostrano gli studi — sono vulnerabili a “data poisoning” o manipolazioni. [arXiv](https://arxiv.org/abs/2402.14124)
|
||||
|
||||
[^3]: Automatizzazione della compilazione di moduli, invio e-mail, creati “su misura” per la job description. Strumenti/servizi oggi esistenti permettono proprio questo. [loopcv.pro](https://www.loopcv.pro/it/)
|
||||
|
||||
[^4]: Anche senza falsificare dati, un candidato può usare AI per generare testo molto pulito, ottimizzato per i sistemi automatici di screening (ATS), ma che nasconde una scarsissima reale competenza o esperienza. Questo aumenta la probabilità che gente poco qualificata passi il filtraggio iniziale. [Job in Tourism](https://www.jobintourism.it/news/ai-e-recruiting-piu-cv-meno-qualita/)
|
||||
|
||||
[^5]: Le aziende che cercano di ottimizzare tempi e costi rischiano seriamente **di abbassare la qualità del processo di assunzione**, magari assumendo persone non qualificate — con conseguenze anche legali, reputazionali e organizzative. [Bradley](https://www.bradley.com/insights/publications/2025/06/ai-deepfakes-and-the-rise-of-the-fake-applicant-what-employers-need-to-know)
|
||||
31
content/it/iniziative/iniziativa-2.md
Normal file
31
content/it/iniziative/iniziativa-2.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: "Ghostati!"
|
||||
subtitle: "Esperimenti di trucco avversariale per ingannare il riconoscimento facciale"
|
||||
date: 2026-04-10
|
||||
weight: 2
|
||||
---
|
||||
|
||||
L'implementazione del riconoscimento facciale negli spazi pubblici e privati rappresenta oggi una delle più subdole e pervasive minacce alle nostre libertà civili. Questa tecnologia, calata dall'alto e dispiegata senza alcun reale consenso democratico o trasparenza, trasforma i nostri corpi e i nostri tratti in merce estraibile, alimentando un'infrastruttura di sorveglianza di massa che normalizza il controllo istituzionale in tutta Europa. Abbiamo provato a resistere con i percorsi istituzionali, e visti i loro limiti, iniziamo a sperimentare pratiche di autodifesa...
|
||||
|
||||
|
||||
Campagne di attivismo come *Reclaim Your Face*[^1] denunciano da anni questa deriva tecno-autoritaria, ribadendo l'urgenza di organizzare una reazione radicale e dal basso contro la biometria di massa[^2].
|
||||
|
||||
## L'approccio: resistenza attraverso il trucco e i metodi avversariali
|
||||
|
||||
Di fronte all'arroganza della sorveglianza algoritmica, l'autodifesa digitale evolve dalle piazze ai nostri stessi volti attraverso le pratiche avversariali: veri e propri atti di hacking fisico e visivo progettati per ingannare e sabotare i modelli di *deep learning*. Utilizzando tecniche mirate come l'*adversarial make-up*, pattern geometrici (Patch), o tessuti *fashion-tech* anti-riconoscimento, possiamo alterare in modo strategico i punti di repere del volto, mandando in cortocircuito i sistemi di *computer vision*. Queste perturbazioni sfruttano le vulnerabilità intrinseche e le scorciatoie matematiche delle reti neurali: applicando ombretti specifici sulle regioni orbitali o blocchi di "rumore" visivo, trasformiamo il nostro aspetto in dati illeggibili per la macchina, restituendoci l'opacità necessaria per sottrarci alla cattura predatoria dei rilevatori[^3][^4].
|
||||
|
||||
## Gli strumenti rilasciati: riprendere il controllo della tecnologia
|
||||
|
||||
Per trasformare la teoria in strumento di lotta, abbiamo sviluppato e raccolto risorse *open-source* pensate per testare le difese direttamente sui nostri dispositivi, senza cedere un solo byte ai server corporate. Sul portale [vecna.eu](https://vecna.eu/) pubblichiamo documentazione e repository focalizzati sull'autodifesa digitale e sulle contromisure all'IA. Soprattutto, vi chiamiamo all'azione digitale: provate la nostra web-app **Ghostati**, disponibile su [sindacato.nina.watch/ghostati](https://sindacato.nina.watch/ghostati). Si tratta di uno strumento di test che usa modelli di riconoscimento locale per farvi sperimentare in tempo reale l'efficacia del trucco avversariale tramite la vostra webcam. **Usatela, studiatela e forkatela dal nostro GitHub** per decostruirne i meccanismi, migliorarne il codice e creare nuove interfacce di resistenza tecnologica[^5].
|
||||
|
||||
### 4. La pratica: corpi, sperimentazione e la chiamata al NINA Festival
|
||||
|
||||
Gli algoritmi non si combattono solo sui server, ma sui corpi. L'efficacia di questi strumenti deve essere validata collettivamente: la pratica avversariale richiede sperimentazione continua, test su sistemi diversi, documentazione dei fallimenti e raccolta di feedback per perfezionare le tecniche. Per passare all'azione concreta, vi invitiamo al **NINA Festival di Milano, Sabato 9 Maggio presso Rob de Matt (Via Enrico Annibale Butti, 18)**. A partire dalle **16:00**, durante il talk *"Ghostati. Fashion-tech e protezione dati biometrici"*, condurremo un laboratorio pubblico con *Michelle Tylicki* e altre truccatrici esperte. Testeremo dal vivo prototipi di trucco, registreremo i prima/dopo e filmeremo le interazioni per la prossima fase della nostra campagna. Unisciti a noi: vieni a truccarti, a ingannare le macchine e a riprenderti il tuo volto.
|
||||
|
||||
---
|
||||
|
||||
[^1]: Iniziativa dei cittadini europei "Reclaim Your Face" (2021), *Divieto delle pratiche di sorveglianza biometrica di massa*, reclaimyourface.eu.
|
||||
[^2]: Privacy Network (2022), *Osservatorio sul riconoscimento facciale in Italia e i rischi per i diritti civili*, Report annuale.
|
||||
[^3]: Yinpeng Dong et al. (2021), *Adv-Makeup: A New Imperceptible and Transferable Attack on Face Recognition*, arXiv:2105.03162.
|
||||
[^4]: Adversarial Robustness Toolbox (ART), *Documentazione ufficiale sulle tecniche di Evasione Spaziale e DPatch*, IBM.
|
||||
[^5]: Hermes Center (2020), *Strumenti Open Source per la difesa dei diritti digitali*, manuale operativo.
|
||||
133
content/it/iniziative/iniziativa-3.md
Normal file
133
content/it/iniziative/iniziativa-3.md
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
title: "Quanti Soldi ti deve Facebook?"
|
||||
subtitle: "Sperimentazione di nuove forme di negoziazione per il lavoro digitale"
|
||||
date: 2026-04-05
|
||||
weight: 3
|
||||
---
|
||||
|
||||
Tu lavori per i social media: sei la loro fonte di reddito. Più persone vengono incasellate ad *utenti* e più queste piattaforme prendono valore, influenza, e potere. Facciamoci riconoscere questo valore. Iniziamo dal calcolare quanti soldi ci deve Facebook (e le altre grandi piattaforme dello sfruttamento). È chiaro che Meta e nessuna piattaforma ritenga di dover alcunchè a chiunque. Ma questo non significa che non si possa fare pressione: per questo dobbiamo essere in molti!
|
||||
|
||||
Sulla base di quante persone riporteranno la loro volontà ad un rimborso totale o parziale, forniremo opzioni.
|
||||
|
||||
## L'obiettivo
|
||||
|
||||
Esplorare ogni modo possibile per rendere visibile la quantità di valore
|
||||
|
||||
## Riferimenti e spunti numerici
|
||||
|
||||
Seguono analisi che forniscono numeri utilizzabili per sviluppare la ricerca.
|
||||
|
||||
### Instagram
|
||||
|
||||
Per Instagram, i numeri più utili per attribuire o inferire il valore economico del comportamento degli utenti sono: circa 2 miliardi di utenti attivi mensili globali, un’audience pubblicitaria di circa 1,91 miliardi di persone a livello globale, circa 179,9 milioni di utenti raggiungibili con advertising negli Stati Uniti e una stima di 143,2 milioni di utenti attivi negli Stati Uniti. Sul lato ricavi, una stima colloca i ricavi pubblicitari negli Stati Uniti a 42,52 miliardi di dollari nel 2026. Sul lato attenzione, le stime sul tempo speso sono divergenti: circa 33,9 minuti al giorno secondo una fonte e 73 minuti al giorno secondo un’altra; inoltre l’utente medio aprirebbe l’app più di 12 volte al giorno. Altri segnali utili sono il fatto che il 53% dei posizionamenti pubblicitari sarebbe su Reels, che il 60% dei consumatori interagirebbe con contenuti di brand più volte a settimana, che il 29% degli utenti effettuerebbe acquisti sulla piattaforma, che circa 130 milioni di utenti cliccherebbero ogni mese sui post shopping e che Instagram Shopping sarebbe associato a circa 40 miliardi di dollari di valore lordo delle merci vendute (GMV, cioè gross merchandise value, valore complessivo dei beni venduti). Da questi dati si possono derivare indicatori sintetici come circa 236 dollari per utente pubblicitario statunitense all’anno, circa 297 dollari per utente attivo statunitense all’anno, circa 19,7 dollari al mese per utente monetizzabile, circa 0,65 dollari al giorno, circa 0,054 dollari per sessione, e un valore dell’attenzione compreso tra circa 0,0089 e 0,0191 dollari per minuto a seconda dell’ipotesi sul tempo trascorso.
|
||||
|
||||
### Facebook
|
||||
|
||||
Per Facebook, i valori più utili esistono soprattutto come proxy, perché molti dati vengono pubblicati da Meta a livello di ecosistema e non della singola piattaforma. Meta ha riportato 200,966 miliardi di dollari di ricavi totali nel 2025, di cui 196,175 miliardi di dollari da pubblicità, 3,58 miliardi di persone attive giornaliere nella famiglia di app a dicembre 2025 e un ARPP globale annuo di 57,03 dollari, dove ARPP significa average revenue per person, cioè ricavo medio per persona. Per Facebook in senso più stretto, le stime parlano di circa 3,07 miliardi di utenti attivi mensili globali, di un’audience pubblicitaria globale di circa 2,28 miliardi di persone e di circa 197 milioni di utenti raggiungibili con advertising negli Stati Uniti. Una stima secondaria colloca il tempo speso a circa 31 minuti al giorno negli Stati Uniti. Se si usa il ricavo pubblicitario complessivo di Meta rapportato alla reach pubblicitaria di Facebook, si ottiene una misura molto approssimativa di circa 86 dollari per utente pubblicitario raggiungibile all’anno, ma è importante ricordare che questo non è un valore “puro” di Facebook: è una stima indiretta basata su ricavi multi-piattaforma.
|
||||
|
||||
### YouTube
|
||||
|
||||
Per YouTube, la base quantitativa è più solida perché i ricavi pubblicitari sono riportati direttamente per trimestre: circa 8,93 miliardi di dollari nel primo trimestre 2025, 9,8 miliardi nel secondo, 10,3 miliardi nel terzo e 11,383 miliardi nel quarto, per un totale annuo di circa 40,413 miliardi di dollari di ricavi pubblicitari. In aggiunta, Alphabet ha indicato che i ricavi complessivi di YouTube tra pubblicità e abbonamenti hanno superato i 60 miliardi di dollari nel 2025. Sul lato utenza, la reach pubblicitaria globale viene stimata in circa 2,53 miliardi di persone e quella negli Stati Uniti in circa 253 milioni; una stima separata colloca gli utenti attivi globali a circa 2,58 miliardi. Sul lato attenzione, nel Regno Unito il tempo medio giornaliero è stato riportato a circa 51 minuti al giorno. Questi numeri permettono di costruire due indicatori sintetici: circa 16 dollari per utente pubblicitario globale all’anno se si considera solo la pubblicità, e circa 23,7 dollari per utente pubblicitario globale all’anno come soglia minima se si usa il dato “oltre 60 miliardi” che include sia advertising sia sottoscrizioni.
|
||||
|
||||
### TikTok
|
||||
|
||||
Per TikTok, i valori più importanti combinano ampiezza dell’audience, intensità d’uso e ricavi pubblicitari stimati. La piattaforma ha comunicato una community di oltre 200 milioni di utenti in Europa e oltre 200 milioni di utenti negli Stati Uniti, oltre a circa 7,5 milioni di imprese statunitensi presenti nell’ecosistema. La reach pubblicitaria globale è stimata intorno a 1,59 miliardi di persone, mentre negli Stati Uniti la reach pubblicitaria adulta (18+) è stimata in circa 136 milioni. Il tempo medio giornaliero negli Stati Uniti viene stimato in circa 52 minuti al giorno, valore che rende TikTok particolarmente rilevante nelle analisi basate sull’attenzione. Sul lato ricavi, una previsione colloca i ricavi pubblicitari globali 2025 a circa 32,4 miliardi di dollari, mentre una stima per gli Stati Uniti parla di circa 11,2 miliardi di dollari. Da questi valori si possono inferire circa 20,4 dollari per utente pubblicitario globale all’anno e circa 82 dollari per utente adulto raggiungibile con advertising negli Stati Uniti all’anno. In sintesi, TikTok appare particolarmente interessante quando si vuole valorizzare il comportamento degli utenti non solo in termini di base utenti, ma soprattutto di tempo catturato e densità di monetizzazione pubblicitaria.
|
||||
|
||||
### Snapchat
|
||||
|
||||
Snapchat è utile perché combina metriche di ricavo, uso e abbonamento in modo abbastanza trasparente. Snap ha riportato circa 5,93 miliardi di dollari di ricavi totali nel 2025, di cui 1,72 miliardi nel quarto trimestre e circa 1,48 miliardi di ricavi pubblicitari nello stesso trimestre. Nel quarto trimestre 2025 la piattaforma ha riportato 946 milioni di MAU (monthly active users, utenti attivi mensili), 474 milioni di DAU (daily active users, utenti attivi giornalieri), 24 milioni di abbonati Snapchat+ e un ARPU di 3,62 dollari, dove ARPU significa average revenue per user, cioè ricavo medio per utente. La reach pubblicitaria globale è stimata a circa 709 milioni di persone, con circa 106 milioni negli Stati Uniti. Il tempo medio di utilizzo viene collocato attorno a 30 minuti al giorno. Questi dati permettono di costruire almeno tre piani di analisi del valore del comportamento: circa 6,27 dollari per utente attivo mensile all’anno, circa 12,51 dollari per utente attivo giornaliero all’anno, e una componente di disponibilità a pagare diretta rappresentata dai 24 milioni di utenti paganti di Snapchat+.
|
||||
|
||||
### X / Twitter
|
||||
|
||||
Per X, i numeri disponibili sono più frammentati, ma comunque utili per inferire il valore del comportamento degli utenti. Le stime collocano i ricavi pubblicitari globali 2025 a circa 2,26 miliardi di dollari e quelli statunitensi a circa 1,31 miliardi di dollari. La reach pubblicitaria globale viene stimata in circa 586 milioni di persone, mentre quella negli Stati Uniti in circa 104 milioni. Sul lato dell’attenzione, una stima colloca l’uso medio negli Stati Uniti a circa 34,1 minuti al giorno. X fornisce anche un segnale molto utile sulla disponibilità a pagare tramite i suoi livelli di abbonamento: 3 dollari al mese o 32 dollari l’anno per Basic, 8 dollari al mese o 84 dollari l’anno per Premium, e 40 dollari al mese o 395 dollari l’anno per Premium+. Mettendo insieme reach e ricavi pubblicitari si ottengono valori approssimativi di circa 3,86 dollari per utente pubblicitario globale all’anno e circa 12,6 dollari per utente pubblicitario statunitense all’anno. In questo caso, il valore del comportamento può essere letto sia come valore pubblicitario per utente raggiungibile sia come segnale di propensione a pagare per funzioni avanzate, visibilità e status.
|
||||
|
||||
## Dati sul valore monetario
|
||||
|
||||
I file che finiscono con `-monetary.csv` raccolgono variabili in cui il valore espresso è monetario (prevalentemente in Dollari): ricavi, prezzi, valore annuo per utente, valore per minuto o sessione, ARPU/ARPP e stime derivate da formule esplicite.
|
||||
|
||||
Colonne principali, lette in ottica analitica:
|
||||
|
||||
- `currency`: valuta o unità monetaria del valore (es. `USD`).
|
||||
- `unit`: scala metrica economica (es. `annual revenue`, `per user-year`, `CPC`, `per minute`).
|
||||
- `name`: identificatore tecnico della variabile.
|
||||
- `explanation`: definizione operativa della misura e, quando serve, formula/proxy usato.
|
||||
- `value`: valore numerico osservato o derivato.
|
||||
- `platform`: piattaforma a cui la misura si riferisce.
|
||||
- `geography_year`: perimetro geografico e anno/trimestre/scenario.
|
||||
- `variable_class`: distingue dato `raw` da dato `derived`.
|
||||
- `reliability`: livello di affidabilità stimato (`reliable` o `exploratory`).
|
||||
- `source`: fonte o insieme di fonti utilizzate.
|
||||
|
||||
{{< csv_table src="/data/instagram-monetary.csv" title="Instagram monetary (CSV)" maxRows="4" >}}
|
||||
|
||||
{{< csv_table src="/data/social-platforms-monetary.csv" title="Altre piattaforme monetary (CSV)" maxRows="4" >}}
|
||||
|
||||
## Altre misurazioni non monetarie
|
||||
|
||||
I file che finiscono per `-other.csv` mantengono quasi la stessa struttura, ma il focus non è il denaro: qui trovi basi utenti, ad reach, tempo d'uso, percentuali, coefficienti e altri indicatori non monetari usati per contestualizzare la valorizzazione economica.
|
||||
|
||||
Differenze principali rispetto ai precedenti:
|
||||
|
||||
- la prima colonna è `subject` (non `currency`) per indicare la natura del dato (`users`, `minutes`, `percent`, `coefficient`, ecc.);
|
||||
- i valori descrivono volume, frequenza, intensità o relazioni statistiche, non prezzi o ricavi diretti;
|
||||
- servono come base di contesto per costruire successivamente indicatori monetari derivati.
|
||||
|
||||
{{< csv_table src="/data/instagram-other.csv" title="Instagram other (CSV)" maxRows="4" >}}
|
||||
|
||||
{{< csv_table src="/data/social-platforms-other.csv" title="Altre piattaforme other (CSV)" maxRows="4" >}}
|
||||
|
||||
## Come impostare un questionario per la mappatura del valore del comportamento?
|
||||
|
||||
Quello che vogliamo misurare, per poi criticare o rivendicare, è:
|
||||
quanto tempo consegna alla piattaforma
|
||||
quanto lavoro gratuito di contenuto fornisce,
|
||||
quanto traffico e attenzione attira dagli altri,
|
||||
quanto è monetizzabile come target pubblicitario e commerciale
|
||||
|
||||
La sequenza di domande potrebbe andare da:
|
||||
presenza → intensità → produzione → audience → monetizzazione → dipendenza.
|
||||
|
||||
Qui una proposta:
|
||||
|
||||
### Sezione 1 — Presenza
|
||||
|
||||
anno di iscrizione
|
||||
anni di uso regolare
|
||||
eventuali pause
|
||||
|
||||
### Sezione 2 — Tempo
|
||||
|
||||
giorni/settimana
|
||||
sessioni/giorno
|
||||
minuti/giorno
|
||||
|
||||
### Sezione 3 — Attività
|
||||
|
||||
consumo
|
||||
interazione
|
||||
produzione
|
||||
|
||||
### Sezione 4 — Output
|
||||
|
||||
numero di contenuti
|
||||
tempo di creazione
|
||||
tempo di gestione
|
||||
|
||||
### Sezione 5 — Portata
|
||||
|
||||
follower/amici/iscritti
|
||||
visualizzazioni medie
|
||||
engagement medio
|
||||
|
||||
### Sezione 6 — Monetizzazione indiretta
|
||||
|
||||
annunci visti
|
||||
click
|
||||
acquisti
|
||||
abbonamenti/pagamenti
|
||||
|
||||
### Sezione 7 — Centralità
|
||||
|
||||
uso sociale/professionale
|
||||
dipendenza
|
||||
sostituibilità
|
||||
24
content/it/iniziative/iniziativa-4.md
Normal file
24
content/it/iniziative/iniziativa-4.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Bonifacio VIII"
|
||||
subtitle: "Un dispositivo di disincanto contro il safety-washing dell'AI"
|
||||
date: 2026-03-20
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Il nostro obiettivo è smascherare l'illusione della sicurezza algoritmica commerciale rilasciando **Bonifacio VIII**: un modello linguistico open-source spogliato di qualsiasi filtro cosmetico, eseguibile localmente e totalmente ispezionabile. Concepito come un vero e proprio "dispositivo pedagogico negativo", Bonifacio VIII non è progettato per essere l'ennesimo assistente cortese ed edificante, bensì per esporre la grammatica dell'abuso e le capacità che le interfacce addomesticate nascondono. Vogliamo fornire agli attivisti, ai ricercatori e alla società civile uno stress test cognitivo e politico per dimostrare che i modelli generativi contengono capacità che non possono essere messe in sicurezza tramite semplici barriere di interfaccia.
|
||||
|
||||
## Il Problema
|
||||
|
||||
Oggi assistiamo a una pericolosa privatizzazione della sicurezza digitale. I dibattiti regolatori, in particolare attorno all'AI Act europeo, sono stati pesantemente condizionati dal lobbismo delle Big Tech[^1], portando i legislatori a scambiare le promesse di "allineamento" aziendale per vere politiche pubbliche. La sicurezza delegata ai grandi fornitori è, in realtà, una finzione: si tratta di *safety-washing* commerciale che produce un effetto meramente estetico[^2]. Se un sistema mainstream rifiuta una richiesta controversa (i cosiddetti "guardrail"), si diffonde l'idea che il problema sia stato risolto. Al contrario, la ricerca dimostra che questi filtri sono trivialmente eludibili tramite tecniche di *jailbreaking* e attacchi avversariali[^3]. Questa dinamica genera un'anestesia politica: rassicura l'utente e deresponsabilizza chi governa, creando una realtà digitale a due corsie dove il danno reale continua a operare nel buio della dipendenza da API proprietarie.
|
||||
|
||||
## L'Approccio Risolutivo
|
||||
|
||||
La risposta a questa censura di facciata è la trasparenza radicale e la riappropriazione tecnologica. Invece di fidarci di fornitori che vendono contemporaneamente i modelli e la rassicurazione sui loro limiti, rilasciamo Bonifacio VIII come infrastruttura pubblica. L'approccio si fonda sul fornire alla comunità il pieno controllo sul modello linguistico[^4]: prompt visibili, configurazione modificabile, esecuzione dal basso e possibilità di *forking*. Invitiamo sviluppatori e cittadini a scaricare Bonifacio VIII, eseguirlo e documentare ciò che i filtri commerciali cercano di nascondere. Questo rilascio non introduce nuovi rischi nel mondo, ma rende leggibile e democratica la gestione di una tecnologia che, altrimenti, resterebbe dominio esclusivo di chi cerca di venderci l'illusione del controllo algoritmico.
|
||||
|
||||
[^1]: Corporate Europe Observatory (2023), *The AI lobbying blitz: How Big Tech shaped the EU AI Act*. Questo report evidenzia come i fornitori di AI abbiano influenzato il dibattito europeo per esentare i propri modelli base da regole troppo stringenti. [Corporate Europe](https://corporateeurope.org)
|
||||
|
||||
[^2]: Whittaker, M. et al. (2023), *Open (for Business): Big Tech, Concentrated Power, and the Political Economy of Open AI*. Documenta come la retorica della sicurezza e dell'open source venga usata sistematicamente per consolidare mercati oligopolistici. [AI Now Institute](https://ainowinstitute.org)
|
||||
|
||||
[^3]: Zou, A. et al. (2023), *Universal and Transferable Adversarial Attacks on Aligned Language Models*. Lo studio che ha dimostrato la vulnerabilità intrinseca e l'elusione sistematica dei guardrail imposti dai modelli commerciali. [arXiv](https://arxiv.org/abs/2307.15043)
|
||||
|
||||
[^4]: L'importanza di disporre di sistemi ispezionabili "a pesi aperti" (*open-weights*) per indagini indipendenti è raccomandata come argine contro il ricorso alla "sicurezza tramite oscurità", tipico dei sistemi chiusi e governati da scatole nere proprietarie. [Mozilla Foundation](https://foundation.mozilla.org/)
|
||||
27
layouts/_default/baseof.html
Normal file
27
layouts/_default/baseof.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ .Language.Lang }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ if not .IsHome }}{{ .Title }} — {{ end }}{{ site.Title }}</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet">
|
||||
{{ $css := resources.Get "css/main.css" | minify }}
|
||||
<link rel="stylesheet" href="{{ $css.RelPermalink }}">
|
||||
</head>
|
||||
<body>
|
||||
{{- partial "header.html" . -}}
|
||||
|
||||
<main>
|
||||
{{- block "main" . }}{{- end }}
|
||||
</main>
|
||||
|
||||
{{- partial "footer.html" . -}}
|
||||
|
||||
{{ $js := resources.Get "js/sidenotes.js" | minify }}
|
||||
<script src="{{ $js.RelPermalink }}"></script>
|
||||
{{ $csvJs := resources.Get "js/csv-tables.js" | minify }}
|
||||
<script src="{{ $csvJs.RelPermalink }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
18
layouts/_default/list.html
Normal file
18
layouts/_default/list.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{{ define "main" }}
|
||||
<article class="page-content sidenote-layout">
|
||||
<div class="content-body">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ .Content }}
|
||||
|
||||
<div class="initiative-list">
|
||||
{{ range .Pages }}
|
||||
<a href="{{ .RelPermalink }}" class="initiative-card">
|
||||
<h3>{{ .Title }}</h3>
|
||||
{{ with .Params.subtitle }}<p class="initiative-subtitle">{{ . }}</p>{{ end }}
|
||||
{{ with .Summary }}<p class="initiative-summary">{{ . }}</p>{{ end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
10
layouts/_default/single.html
Normal file
10
layouts/_default/single.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{{ define "main" }}
|
||||
<article class="page-content sidenote-layout">
|
||||
<div class="content-body">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ with .Params.subtitle }}<h2>{{ . }}</h2>{{ end }}
|
||||
{{ with .Date }}<time class="page-date" datetime="{{ .Format "2006-01-02" }}">{{ .Format "2 January 2006" }}</time>{{ end }}
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
7
layouts/index.html
Normal file
7
layouts/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{{ define "main" }}
|
||||
<article class="page-content sidenote-layout">
|
||||
<div class="content-body">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
5
layouts/partials/footer.html
Normal file
5
layouts/partials/footer.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<footer class="site-footer">
|
||||
<div class="footer-inner">
|
||||
<p>© {{ now.Year }} {{ site.Title }}</p>
|
||||
</div>
|
||||
</footer>
|
||||
17
layouts/partials/header.html
Normal file
17
layouts/partials/header.html
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<header class="site-header">
|
||||
<nav class="site-nav">
|
||||
<div class="nav-main">
|
||||
{{ range .Site.Menus.main }}
|
||||
<a href="{{ .URL }}" class="nav-link{{ if eq .Weight 1 }} nav-home{{ end }}">{{ .Name }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="nav-lang">
|
||||
{{ range hugo.Sites }}
|
||||
{{ $langURL := printf "/%s/" .Language.Lang }}
|
||||
<a href="{{ $langURL }}" class="lang-link{{ if eq $.Language.Lang .Language.Lang }} lang-active{{ end }}">
|
||||
{{ upper .Language.Lang }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
27
layouts/shortcodes/csv_table.html
Normal file
27
layouts/shortcodes/csv_table.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{{- $src := .Get "src" -}}
|
||||
{{- if not $src -}}
|
||||
<p><strong>Errore shortcode csv_table:</strong> parametro <code>src</code> mancante.</p>
|
||||
{{- else -}}
|
||||
{{- $url := $src | relURL -}}
|
||||
{{- $filename := path.Base $src -}}
|
||||
{{- $title := .Get "title" | default $filename -}}
|
||||
{{- $maxRows := .Get "maxRows" | default "4" -}}
|
||||
{{- $downloadName := .Get "download" | default $filename -}}
|
||||
<section class="csv-table" data-csv-table data-src="{{ $url }}" style="--csv-max-rows: {{ $maxRows }};">
|
||||
<header class="csv-table__header">
|
||||
<h4 class="csv-table__title">{{ $title }}</h4>
|
||||
<div class="csv-table__meta">
|
||||
<span class="csv-table__count" data-csv-count>Caricamento righe...</span>
|
||||
<a class="csv-table__download" href="{{ $url }}" download="{{ $downloadName }}">Download CSV</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="csv-table__viewport" data-csv-viewport aria-live="polite">
|
||||
<p class="csv-table__status" data-csv-status>Caricamento tabella...</p>
|
||||
</div>
|
||||
|
||||
<noscript>
|
||||
<p>Per visualizzare la tabella serve JavaScript. Puoi scaricare il file qui: <a href="{{ $url }}" download="{{ $downloadName }}">{{ $downloadName }}</a>.</p>
|
||||
</noscript>
|
||||
</section>
|
||||
{{- end -}}
|
||||
16
static/data/instagram-monetary.csv
Normal file
16
static/data/instagram-monetary.csv
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
currency,unit,name,explanation,value,platform,geography_year,variable_class,reliability,source
|
||||
USD,total,acquisition_price_2012,Facebook paid this amount to acquire Instagram in 2012.,1000000000,Instagram,Global / 2012,raw,exploratory,https://backlinko.com/instagram-users
|
||||
USD,total,valuation_feb_2011,Instagram valuation after reaching 1 million monthly active users (MAU = monthly active users).,25000000,Instagram,Global / 2011,raw,exploratory,https://backlinko.com/instagram-users
|
||||
USD,annual revenue,us_ad_revenue_2026,Projected annual Instagram advertising revenue in the United States.,42520000000,Instagram,United States / 2026,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
USD,CPC,avg_cpc_feed_ad,Average cost per click (CPC) for an Instagram feed advertisement.,3.35,Instagram,Not specified / cited on 2026 page,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
USD,CPC,avg_cpc_story_ad,Average cost per click (CPC) for an Instagram Story advertisement.,1.83,Instagram,Not specified / cited on 2026 page,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
USD,total sales,instagram_shopping_gmv,Estimated gross merchandise value (GMV = total value of goods sold) attributed to Instagram Shopping.,40000000000,Instagram,Global / 2025 page,raw,exploratory,https://www.measure.studio/post/instagram-statistics
|
||||
USD,per MAU,acquisition_cost_per_mau_2012,Facebook acquisition price divided by roughly 30 million monthly active users (MAU = monthly active users) at the time of acquisition.,33.33,Instagram,Global / 2012,derived,exploratory,https://backlinko.com/instagram-users
|
||||
USD,per user-year,revenue_per_us_ad_user_year,"Projected United States Instagram advertising revenue divided by United States Instagram ad audience, producing revenue per monetizable user per year.",236.35,Instagram,United States / 2026,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per user-month,revenue_per_us_ad_user_month,"Projected United States Instagram advertising revenue per monetizable user per month, derived from annual revenue per ad-reachable user.",19.7,Instagram,United States / 2026,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per user-day,revenue_per_us_ad_user_day,"Projected United States Instagram advertising revenue per monetizable user per day, derived from annual revenue per ad-reachable user.",0.648,Instagram,United States / 2026,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per active user-year,revenue_per_us_active_user_year,"Projected United States Instagram advertising revenue divided by estimated active Instagram users in the United States, producing revenue per active user per year.",296.93,Instagram,United States / 2026,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per minute,revenue_per_user_minute_73m,"Projected United States Instagram advertising revenue per monetizable user-minute, assuming 73 minutes of daily Instagram use.",0.00887,Instagram,United States / 2026 scenario,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per minute,revenue_per_user_minute_33_9m,"Projected United States Instagram advertising revenue per monetizable user-minute, assuming 33.9 minutes of daily Instagram use.",0.0191,Instagram,United States / 2026 scenario,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per hour,revenue_per_user_hour_73m,"Projected United States Instagram advertising revenue per monetizable user-hour, assuming 73 minutes of daily Instagram use.",0.532,Instagram,United States / 2026 scenario,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
USD,per session,revenue_per_user_session,"Projected United States Instagram advertising revenue per user session, assuming 12 or more app opens per day.",0.054,Instagram,United States / 2026 scenario,derived,exploratory,https://sproutsocial.com/insights/instagram-stats/; https://backlinko.com/instagram-users
|
||||
|
27
static/data/instagram-other.csv
Normal file
27
static/data/instagram-other.csv
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
subject,unit,name,explanation,value,platform,geography_year,variable_class,reliability,source
|
||||
users,MAU,mau_global_official,Official Instagram monthly active users (MAU = monthly active users).,2000000000,Instagram,Global / figure reported on 2026 page,raw,exploratory,https://backlinko.com/instagram-users
|
||||
users,ad audience,ad_audience_us,Instagram advertising audience in the United States used for ad reach comparisons.,179900000,Instagram,United States / 2025,raw,exploratory,https://backlinko.com/instagram-users
|
||||
users,active users,active_users_us_est,Estimated active Instagram users in the United States.,143200000,Instagram,United States / latest estimate cited on 2026 page,raw,exploratory,https://backlinko.com/instagram-users
|
||||
minutes,per user-day,time_spent_daily_backlinko,Average daily time spent on Instagram.,33.9,Instagram,Global / 2026 page,raw,exploratory,https://backlinko.com/instagram-users
|
||||
minutes,per user-day,time_spent_daily_sprout,Average daily time spent on Instagram.,73,Instagram,Global / 2026 page,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
users,reachable users,ad_reach_global,Estimated global advertising reach on Instagram.,1910000000,Instagram,Global / 2026,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
opens,per user-day,app_opens_daily,Typical Instagram user opens the application 12 or more times per day.,12,Instagram,Global / 2026 page,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
percent,share,reels_ad_placements_share,Share of Instagram advertising placements that ran on Reels in fourth quarter (Q4 = fourth quarter) 2025.,53,Instagram,Q4 2025,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
percent,share,brand_interaction_multiple_times_weekly,Consumers who interact with brand content on Instagram multiple times per week.,60,Instagram,Not specified / 2026 page,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
percent,share,purchase_rate_on_instagram,Instagram users who make purchases on the platform.,29,Instagram,2025,raw,exploratory,https://sproutsocial.com/insights/instagram-stats/
|
||||
percent,ROI uplift,influencer_reels_roi_boost,Claimed return on investment (ROI = return on investment) uplift for brands collaborating with influencers on Reels.,30,Instagram,Not specified / 2025 page,raw,exploratory,https://www.measure.studio/post/instagram-statistics
|
||||
users,per month,shopping_post_clickers_monthly,Users clicking shopping posts each month.,130000000,Instagram,Global / 2025 page,raw,exploratory,https://www.measure.studio/post/instagram-statistics
|
||||
users,global users,social_media_users_global_2023,Estimated worldwide social media users across all platforms.,4900000000,Social media overall,Global / 2023,raw,reliable,https://health.ucdavis.edu/blog/cultivating-health/social-medias-impact-our-mental-health-and-tips-to-use-it-safely/2024/05
|
||||
minutes,per user-day,social_media_time_global_daily,Average daily time spent on social media across all platforms.,145,Social media overall,Global / 2023,raw,reliable,https://health.ucdavis.edu/blog/cultivating-health/social-medias-impact-our-mental-health-and-tips-to-use-it-safely/2024/05
|
||||
percent,share,social_media_use_us_adults,United States adults who use social media.,69,Social media overall,United States / 2025 page,raw,reliable,https://www.mcleanhospital.org/essential/social-media
|
||||
percent,share,social_media_use_teens,Teens who use social media.,81,Social media overall,United States / 2025 page,raw,reliable,https://www.mcleanhospital.org/essential/social-media
|
||||
percent,share,online_harassment_us_internet_users,United States internet users reporting online harassment.,44,Social media overall,"United States / 2020, cited in 2024 page",raw,reliable,https://health.ucdavis.edu/blog/cultivating-health/social-medias-impact-our-mental-health-and-tips-to-use-it-safely/2024/05
|
||||
minutes,per platform-day,experimental_limit_per_platform,"Experimental limit in a study: Facebook, Instagram, and Snapchat were each capped at 10 minutes per day.",10,Social media overall,United States study cited on 2025 page,raw,reliable,https://www.mcleanhospital.org/essential/social-media
|
||||
score,0-10 scale,cantril_ladder_scale,"Cantril Ladder life-evaluation scale used by the World Happiness Report, where respondents rate life from 0 to 10.",0-10,Wellbeing metric,Global,raw,reliable,https://www.worldhappiness.report/faq/
|
||||
variables,count,whr_core_predictors,"World Happiness Report (WHR = World Happiness Report) explanatory variables: having someone to count on, log gross domestic product (GDP) per capita, healthy life expectancy, freedom to make life choices, generosity, and freedom from corruption.",6,Wellbeing metric,Global,raw,reliable,https://www.worldhappiness.report/faq/
|
||||
coefficient,regression coefficient,whr_log_gdp_per_capita_coeff,Pooled ordinary least squares (OLS = ordinary least squares) regression coefficient for log gross domestic product (GDP) per capita in the World Happiness Report 2022 model.,0.36,Wellbeing metric,Global / WHR 2022,raw,reliable,https://files.worldhappiness.report/WHR22.pdf
|
||||
coefficient,regression coefficient,whr_social_support_coeff,Pooled ordinary least squares (OLS = ordinary least squares) regression coefficient for social support in the World Happiness Report 2022 model.,2.42,Wellbeing metric,Global / WHR 2022,raw,reliable,https://files.worldhappiness.report/WHR22.pdf
|
||||
percent,share,young_adults_no_social_support_2023,Young adults reporting that they had no one they could count on for social support in 2023.,19,Social connection,Global / 2023,raw,reliable,https://www.worldhappiness.report/ed/2025/connecting-with-others-how-social-connections-improve-the-happiness-of-young-adults/
|
||||
percent,change since 2006,increase_no_social_support_since_2006,"Increase in young adults reporting no one they could count on for social support, relative to 2006.",39,Social connection,Global / 2006-2023,raw,reliable,https://www.worldhappiness.report/ed/2025/connecting-with-others-how-social-connections-improve-the-happiness-of-young-adults/
|
||||
percent,share,higher_satisfaction_with_close_contact,Young adults with at least one close person were this much more satisfied with life than those with no close contacts.,16,Social connection,Cross-country / 2022-2023 dataset,raw,reliable,https://www.worldhappiness.report/ed/2025/connecting-with-others-how-social-connections-improve-the-happiness-of-young-adults/
|
||||
coefficient,satisfaction points,life_satisfaction_gain_per_support_point,Association showing that a one-point increase in perceived social support is linked to a 0.29-point increase in life satisfaction.,0.29,Social connection,Cross-country / 2022-2023 dataset,raw,reliable,https://www.worldhappiness.report/ed/2025/connecting-with-others-how-social-connections-improve-the-happiness-of-young-adults/
|
||||
|
33
static/data/social-platforms-monetary.csv
Normal file
33
static/data/social-platforms-monetary.csv
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
currency,unit,name,explanation,value,platform,geography_year,variable_class,reliability,source
|
||||
USD,per ad-reachable user-year,facebook_proxy_revenue_per_global_ad_reachable_user_year,"Meta 2025 advertising revenue divided by Facebook global advertising reach. This is a monetization proxy, not true Facebook-only revenue per user.",86.04,Facebook,Global / 2025 proxy,derived,exploratory,https://investor.atmeta.com/investor-news/press-release-details/2026/Meta-Reports-Fourth-Quarter-and-Full-Year-2025-Results/default.aspx; https://datareportal.com/essential-facebook-stats
|
||||
USD,annual advertising revenue,meta_ad_revenue_2025_proxy_for_facebook,Meta generally accepted accounting principles (GAAP = generally accepted accounting principles) advertising revenue for 2025. This covers Meta's advertising business across products and is used here only as a proxy for Facebook-level monetization.,196175000000.0,Facebook,Global / 2025,raw,exploratory,https://investor.atmeta.com/investor-news/press-release-details/2026/Meta-Reports-Fourth-Quarter-and-Full-Year-2025-Results/default.aspx
|
||||
USD,annual ARPP,meta_family_apps_arpp_2025_proxy,"Average revenue per person (ARPP = average revenue per person) for Meta's Family of Apps in 2025. This includes Facebook, Instagram, Messenger, WhatsApp, and other services, so it is a proxy rather than a Facebook-only value.",57.03,Facebook,Global / 2025,raw,exploratory,https://www.sec.gov/Archives/edgar/data/1326801/000162828026003942/meta-20251231.htm
|
||||
USD,annual revenue,meta_total_revenue_2025_proxy_for_facebook,"Meta total revenue for 2025. This is a broad ecosystem proxy and is not Facebook-only, so it should not be treated as platform-specific Facebook revenue.",200966000000.0,Facebook,Global / 2025,raw,exploratory,https://investor.atmeta.com/investor-news/press-release-details/2026/Meta-Reports-Fourth-Quarter-and-Full-Year-2025-Results/default.aspx
|
||||
USD,per daily active user-year,snap_revenue_per_dau_year_2025,Snap total revenue divided by Snap daily active users.,12.51,Snapchat,Global / 2025,derived,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf; https://www.sec.gov/Archives/edgar/data/1564408/000156440826000013/snap-20251231.htm
|
||||
USD,per monthly active user-year,snap_revenue_per_mau_year_2025,Snap total revenue divided by Snap monthly active users.,6.27,Snapchat,Global / 2025,derived,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
USD,quarterly advertising revenue,snap_ad_revenue_q4_2025,Snap advertising revenue in the fourth quarter of 2025.,1480000000.0,Snapchat,Global / Q4 2025,raw,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
USD,ARPU,snap_arpu_q4_2025,Average revenue per user (ARPU = average revenue per user) for Snap in the fourth quarter of 2025.,3.62,Snapchat,Global / Q4 2025,raw,reliable,https://www.sec.gov/Archives/edgar/data/1564408/000156440826000013/snap-20251231.htm
|
||||
USD,quarterly revenue,snap_q4_revenue_2025,Snap total revenue in the fourth quarter of 2025.,1720000000.0,Snapchat,Global / Q4 2025,raw,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
USD,annual revenue,snap_total_revenue_2025,Snap total revenue for 2025.,5930000000.0,Snapchat,Global / 2025,raw,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
USD,per ad-reachable user-year forecast,tiktok_global_ad_revenue_per_global_ad_reachable_user_year,Forecast TikTok global advertising revenue divided by TikTok global advertising reach.,20.38,TikTok,Global / 2025 forecast,derived,exploratory,https://searchengineland.com/tiktok-global-ad-revenue-forecast-2025-454951; https://datareportal.com/essential-tiktok-stats
|
||||
USD,per ad-reachable user-year forecast,tiktok_us_ad_revenue_per_us_ad_reachable_adult_user_year,Forecast United States TikTok advertising revenue divided by TikTok's United States adult advertising reach.,82.35,TikTok,United States / 2025 forecast,derived,exploratory,https://www.marketingdive.com/news/tiktok-us-ad-revenue-emarketer-ban/741025/; https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
USD,annual advertising revenue forecast,tiktok_global_ad_revenue_forecast_2025,Forecast global TikTok advertising revenue for 2025. This is a forecast rather than a company-reported result.,32400000000.0,TikTok,Global / 2025 forecast,raw,exploratory,https://searchengineland.com/tiktok-global-ad-revenue-forecast-2025-454951
|
||||
USD,annual advertising revenue forecast,tiktok_us_ad_revenue_forecast_2025,Forecast United States TikTok advertising revenue for 2025. This is a forecast rather than a company-reported result.,11200000000.0,TikTok,United States / 2025 forecast,raw,exploratory,https://www.marketingdive.com/news/tiktok-us-ad-revenue-emarketer-ban/741025/
|
||||
USD,per ad-reachable user-year forecast,x_global_ad_revenue_per_global_ad_reachable_user_year,Forecast global X advertising revenue divided by X global advertising reach.,3.86,X/Twitter,Global / 2025 forecast,derived,exploratory,https://www.reuters.com/technology/x-report-first-annual-ad-revenue-growth-since-musks-takeover-data-shows-2025-03-26/; https://datareportal.com/essential-x-stats
|
||||
USD,per ad-reachable user-year forecast,x_us_ad_revenue_per_us_ad_reachable_user_year,Forecast United States X advertising revenue divided by X advertising reach in the United States.,12.6,X/Twitter,United States / 2025 forecast,derived,exploratory,https://www.reuters.com/technology/x-report-first-annual-ad-revenue-growth-since-musks-takeover-data-shows-2025-03-26/; https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
USD,subscription price per year,x_basic_us_annual_price_2025,United States annual price for the X Basic tier on the web.,32.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,subscription price per month,x_basic_us_monthly_price_2025,United States monthly price for the X Basic tier on the web.,3.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,annual advertising revenue forecast,x_global_ad_revenue_forecast_2025,"Forecast global advertising revenue for X in 2025. X is private and does not publicly report this figure, so this should be treated as an analyst estimate rather than a company-reported result.",2260000000.0,X/Twitter,Global / 2025 forecast,raw,exploratory,https://www.reuters.com/technology/x-report-first-annual-ad-revenue-growth-since-musks-takeover-data-shows-2025-03-26/
|
||||
USD,subscription price per year,x_premium_plus_us_annual_price_2025,United States annual price for the X Premium+ tier on the web.,395.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,subscription price per month,x_premium_plus_us_monthly_price_2025,United States monthly price for the X Premium+ tier on the web.,40.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,subscription price per year,x_premium_us_annual_price_2025,United States annual price for the X Premium tier on the web.,84.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,subscription price per month,x_premium_us_monthly_price_2025,United States monthly price for the X Premium tier on the web.,8.0,X/Twitter,United States / from February 18 2025,raw,reliable,https://help.x.com/en/premium-plus-price-update
|
||||
USD,annual advertising revenue forecast,x_us_ad_revenue_forecast_2025,"Forecast United States advertising revenue for X in 2025. X is private and does not publicly report this figure, so this should be treated as an analyst estimate rather than a company-reported result.",1310000000.0,X/Twitter,United States / 2025 forecast,raw,exploratory,https://www.reuters.com/technology/x-report-first-annual-ad-revenue-growth-since-musks-takeover-data-shows-2025-03-26/
|
||||
USD,annual advertising revenue,youtube_ad_revenue_2025_derived_from_quarters,"YouTube advertising revenue for 2025 derived by summing first-quarter, second-quarter, third-quarter, and fourth-quarter advertising revenue reported during 2025.",40413000000.0,YouTube,Global / 2025,derived,reliable,https://thedesk.net/2025/04/alphabet-youtube-q1-2025-earnings-report/; https://abc.xyz/investor/events/event-details/2025/2025-Q2-Earnings-Call/; https://abc.xyz/investor/events/event-details/2025/2025-Q3-Earnings-Call-2025-4OI4Bac_Q9/default.aspx; https://s206.q4cdn.com/479360582/files/doc_financials/2025/q4/2025q4-alphabet-earnings-release.pdf
|
||||
USD,per ad-reachable user-year,youtube_ad_revenue_per_global_ad_reachable_user_year,Annual YouTube advertising revenue divided by YouTube global advertising reach.,15.97,YouTube,Global / 2025,derived,exploratory,https://thedesk.net/2025/04/alphabet-youtube-q1-2025-earnings-report/; https://abc.xyz/investor/events/event-details/2025/2025-Q2-Earnings-Call/; https://abc.xyz/investor/events/event-details/2025/2025-Q3-Earnings-Call-2025-4OI4Bac_Q9/default.aspx; https://s206.q4cdn.com/479360582/files/doc_financials/2025/q4/2025q4-alphabet-earnings-release.pdf; https://datareportal.com/essential-youtube-stats
|
||||
USD,per ad-reachable user-year lower bound,youtube_total_revenue_lower_bound_per_global_ad_reachable_user_year,"Lower-bound total YouTube revenue per global ad-reachable user, using the company's statement that YouTube revenue across ads and subscriptions exceeded 60 billion United States dollars in 2025.",23.72,YouTube,Global / 2025 lower-bound,derived,exploratory,https://s206.q4cdn.com/479360582/files/doc_financials/2025/q4/2025q4-alphabet-earnings-release.pdf; https://datareportal.com/essential-youtube-stats
|
||||
USD,quarterly advertising revenue,youtube_ad_revenue_q1_2025,YouTube advertising revenue in the first quarter of 2025.,8930000000.0,YouTube,Global / Q1 2025,raw,reliable,https://thedesk.net/2025/04/alphabet-youtube-q1-2025-earnings-report/
|
||||
USD,quarterly advertising revenue,youtube_ad_revenue_q2_2025,YouTube advertising revenue in the second quarter of 2025.,9800000000.0,YouTube,Global / Q2 2025,raw,reliable,https://abc.xyz/investor/events/event-details/2025/2025-Q2-Earnings-Call/
|
||||
USD,quarterly advertising revenue,youtube_ad_revenue_q3_2025,YouTube advertising revenue in the third quarter of 2025.,10300000000.0,YouTube,Global / Q3 2025,raw,reliable,https://abc.xyz/investor/events/event-details/2025/2025-Q3-Earnings-Call-2025-4OI4Bac_Q9/default.aspx
|
||||
USD,quarterly advertising revenue,youtube_ad_revenue_q4_2025,YouTube advertising revenue in the fourth quarter of 2025.,11383000000.0,YouTube,Global / Q4 2025,raw,reliable,https://s206.q4cdn.com/479360582/files/doc_financials/2025/q4/2025q4-alphabet-earnings-release.pdf
|
||||
USD,annual revenue lower bound,youtube_total_revenue_2025_lower_bound,"YouTube revenue across advertising and subscriptions exceeded this amount in 2025. Because the company reported 'exceeded', this value should be treated as a lower bound.",60000000000.0,YouTube,Global / 2025,raw,reliable,https://s206.q4cdn.com/479360582/files/doc_financials/2025/q4/2025q4-alphabet-earnings-release.pdf
|
||||
|
25
static/data/social-platforms-other.csv
Normal file
25
static/data/social-platforms-other.csv
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
currency,unit,name,explanation,value,platform,geography_year,variable_class,reliability,source
|
||||
users,ad audience,facebook_ad_reach_global_2025,"Facebook advertising reach worldwide. This is an advertising audience estimate, not the same as monthly active users.",2280000000.0,Facebook,Global / January 2025,raw,exploratory,https://datareportal.com/essential-facebook-stats
|
||||
users,ad audience,facebook_ad_reach_us_2025,Facebook advertising reach in the United States. This is an advertising audience estimate and not the same as active-user counts.,197000000.0,Facebook,United States / early 2025,raw,exploratory,https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
users,MAU,facebook_mau_global_2025,Facebook monthly active users (MAU = monthly active users) worldwide.,3070000000.0,Facebook,Global / 2025,raw,exploratory,https://backlinko.com/facebook-users
|
||||
minutes,per user-day,facebook_time_spent_daily_us_2025,"Average daily time spent on Facebook by users in the United States, as relayed by a secondary source citing eMarketer.",31.0,Facebook,United States / 2025,raw,exploratory,https://explodingtopics.com/blog/social-media-usage
|
||||
users,DAP,meta_family_dap_2025_proxy,"Family daily active people (DAP = daily active people) for Meta in December 2025. This is not Facebook-only and should be interpreted as ecosystem scale, not Facebook platform scale.",3580000000.0,Facebook,Global / December 2025,raw,exploratory,https://investor.atmeta.com/investor-news/press-release-details/2026/Meta-Reports-Fourth-Quarter-and-Full-Year-2025-Results/default.aspx
|
||||
users,DAU,snap_dau_q4_2025,Snap global daily active users (DAU = daily active users) in the fourth quarter of 2025.,474000000.0,Snapchat,Global / Q4 2025,raw,reliable,https://www.sec.gov/Archives/edgar/data/1564408/000156440826000013/snap-20251231.htm
|
||||
users,MAU,snap_mau_q4_2025,Snap global monthly active users (MAU = monthly active users) in the fourth quarter of 2025.,946000000.0,Snapchat,Global / Q4 2025,raw,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
users,ad audience,snapchat_ad_reach_global_2025,Snapchat global advertising reach. This is an advertising audience estimate and not the same as monthly active users.,709000000.0,Snapchat,Global / January 2025,raw,exploratory,https://datareportal.com/essential-snapchat-stats
|
||||
users,ad audience,snapchat_ad_reach_us_2025,Snapchat advertising reach in the United States. This is an advertising audience estimate and not the same as active-user counts.,106000000.0,Snapchat,United States / early 2025,raw,exploratory,https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
users,subscribers,snapchat_plus_subscribers_q4_2025,Snapchat+ subscribers in the fourth quarter of 2025.,24000000.0,Snapchat,Global / Q4 2025,raw,reliable,https://s25.q4cdn.com/442043304/files/doc_financials/2025/q4/Snap-Inc-Q4-2025-Investor-Letter.pdf
|
||||
minutes,per user-day,snapchat_time_spent_daily_global_2025,"Average daily time spent on Snapchat by users aged 18 and above globally, relayed by a secondary source.",30.0,Snapchat,Global / 2025,raw,exploratory,https://www.blankspaces.app/blog/snapchat-screen-time-statistics
|
||||
users,ad audience,tiktok_ad_reach_global_2025,TikTok global advertising reach. This is an advertising audience estimate and not the same as total global active users.,1590000000.0,TikTok,Global / January 2025,raw,exploratory,https://datareportal.com/essential-tiktok-stats
|
||||
users,ad audience 18+,tiktok_ad_reach_us_adults_2025,TikTok advertising reach for adults aged 18 and above in the United States. TikTok's public ad tools report adults rather than all users in this source.,136000000.0,TikTok,United States / early 2025,raw,exploratory,https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
users,businesses,tiktok_businesses_us_2026,United States businesses referenced in TikTok's January 2026 announcement.,7500000.0,TikTok,United States / January 2026,raw,reliable,https://newsroom.tiktok.com/announcement-from-the-new-tiktok-usds-joint-venture-llc?lang=en
|
||||
minutes,per user-day,tiktok_time_spent_daily_us_2025,Average daily time spent on TikTok by users in the United States according to an eMarketer forecast.,52.0,TikTok,United States / 2025 forecast,raw,exploratory,https://www.emarketer.com/content/us-tiktok-usage-time-spent-2025
|
||||
users,monthly users,tiktok_users_europe_2025,TikTok monthly active recipients in Europe. The company defines this using its Digital Services Act reporting framework.,200000000.0,TikTok,Europe / September 2025,raw,reliable,https://newsroom.tiktok.com/en-eu/tiktok-community-in-europe-tops-200-million
|
||||
users,users,tiktok_users_us_2026,Users in the United States referenced in TikTok's January 2026 announcement.,200000000.0,TikTok,United States / January 2026,raw,reliable,https://newsroom.tiktok.com/announcement-from-the-new-tiktok-usds-joint-venture-llc?lang=en
|
||||
users,ad audience,x_ad_reach_global_2025,X global advertising reach. This is an advertising audience estimate and not the same as monthly active users.,586000000.0,X/Twitter,Global / January 2025,raw,exploratory,https://datareportal.com/essential-x-stats
|
||||
users,ad audience,x_ad_reach_us_2025,X advertising reach in the United States. This is an advertising audience estimate and not the same as active-user counts.,104000000.0,X/Twitter,United States / early 2025,raw,exploratory,https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
minutes,per user-day,x_time_spent_daily_us_2025,"Average daily time spent on X by adults aged 18 and above in the United States, relayed by a secondary source citing eMarketer.",34.1,X/Twitter,United States / 2025,raw,exploratory,https://www.blankspaces.app/blog/twitter-x-screen-time-stats-2026
|
||||
users,active users,youtube_active_users_global_2025,Estimated YouTube active users worldwide.,2580000000.0,YouTube,Global / October 2025,raw,exploratory,https://backlinko.com/youtube-users
|
||||
users,ad audience,youtube_ad_reach_global_2025,"YouTube global advertising reach. This is an advertising audience estimate, not the same as monthly active users.",2530000000.0,YouTube,Global / January 2025,raw,exploratory,https://datareportal.com/essential-youtube-stats
|
||||
users,ad audience,youtube_ad_reach_us_2025,YouTube advertising reach in the United States. This is an advertising audience estimate and not the same as monthly active users.,253000000.0,YouTube,United States / early 2025,raw,exploratory,https://datareportal.com/reports/digital-2025-united-states-of-america
|
||||
minutes,per user-day,youtube_time_spent_daily_uk_2025,"Average daily time spent watching YouTube in the United Kingdom on smartphones, tablets, and personal computers, according to Ofcom as reported by Reuters.",51.0,YouTube,United Kingdom / 2025,raw,reliable,https://www.reuters.com/business/media-telecom/britons-watch-youtube-51-minutes-day-regulator-ofcom-says-2025-12-10/
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue