Come trattiamo i dati Meta
Che cosa Bellerofonte legge dalle API di Meta, con quali permessi, a cosa serve, chi lo vede, quanto lo teniamo e come si fa a farlo cancellare.
Ultimo aggiornamento: 2026-09-20
Indice
Bellerofonte è uno strumento di analisi della comunicazione pubblica di organizzazioni: enti, aziende, testate, Pagine e account professionali. Un cliente collega i canali di cui è titolare o che ha titolo a monitorare, e la piattaforma calcola indicatori aggregati: andamento delle pubblicazioni, interazioni ricevute, sentiment, parole chiave, temi, confronti fra periodi. Non è uno strumento di sorveglianza di persone.
1. Cosa intendiamo per "Platform Data"
Usiamo il termine Platform Data nello stesso significato che gli danno le Meta Platform Terms (§12): qualunque informazione ottenuta da noi, o da chi agisce per nostro conto, dalle piattaforme Meta — direttamente o indirettamente, prima o dopo la data dell'accordo — inclusi i dati derivati da quelle informazioni.
Il punto che conta, e che trattiamo come vincolante: anche i dati derivati e aggregati restano Platform Data. Un punteggio di sentiment calcolato su un commento Instagram, una parola chiave estratta dal testo di un post, un cluster di temi, una serie storica di interazioni, una riga di un report PDF: tutto questo resta soggetto agli stessi limiti d'uso, alle stesse regole di conservazione e agli stessi obblighi di cancellazione del dato originale. Non esiste per noi una soglia di aggregazione oltre la quale il dato diventa "nostro" e possiamo venderlo o riusarlo liberamente.
2. Come otteniamo i dati
-
Solo API ufficiali. Ogni dato Meta presente in Bellerofonte
arriva da chiamate HTTPS a
graph.facebook.com, con un token di accesso valido rilasciato da Meta. - Solo con un token concesso dal titolare del canale. Il collegamento parte da una schermata di autorizzazione Facebook, dove l'amministratore della Pagina o dell'account Instagram professionale concede espressamente i permessi. Senza quel passaggio non leggiamo nulla.
-
Nessuna raccolta automatizzata al di fuori delle API. Non
facciamo scraping delle pagine di facebook.com o instagram.com, non usiamo
endpoint interni o non documentati, non automatizziamo browser e non usiamo
librerie che simulano un utente collegato. Nel codice esiste ancora un
percorso di raccolta non-API, disattivato dall'impostazione
META_ALLOW_NON_API_INGESTION, che è False: finché lo è, quel percorso esce senza raccogliere niente. La rimozione del codice è pianificata; disattivato non è la stessa cosa che rimosso, e preferiamo dirlo. - Nessuna richiesta di credenziali Meta a clienti o a terzi. Non chiediamo — e non accettiamo — email, password, codici di verifica o cookie di sessione Facebook o Instagram di un cliente o di chiunque altro. Anche il modulo pubblico di cancellazione è costruito per non chiederli. Al percorso non-API di cui sopra serviva invece una sessione Instagram del Titolare, e il modello che la conserva è ancora nel codice: va rimosso insieme a quel percorso, perché le Platform Terms §6.a.iii vietano di conservare credenziali Meta anche quando sono le proprie.
- Token conservati cifrati e mai scritti nei log in chiaro. Alla revoca, alla scadenza o alla disconnessione del canale vengono cancellati.
3. I quattro permessi che chiediamo
Chiediamo quattro permessi, tutti di sola lettura. Il collegamento di una
Pagina Facebook ne usa due (pages_show_list e
pages_read_engagement); il collegamento di un account Instagram
professionale li usa tutti e quattro. Per ciascuno indichiamo gli endpoint
Graph che chiamiamo davvero, i campi richiesti, l'"allowed usage" dichiarato
da Meta e il punto del prodotto in cui il dato compare. Dove un campo viene
chiesto a Graph ma non finisce in archivio, lo diciamo.
| Permesso | Endpoint Graph chiamati | Campi richiesti | Allowed usage (Meta) | Dove compare nel prodotto |
|---|---|---|---|---|
instagram_basic |
GET /{ig-user-id}GET /{ig-user-id}/media
|
Account: id, name, username,
followers_count, follows_count,
media_count, profile_picture_url.Media: id, caption, media_type,
media_url, permalink,
thumbnail_url, timestamp,
username, comments_count,
like_count, media_product_type. Di questi,
username e comments_count non vengono
salvati: il conteggio dei commenti lo ricaviamo da quelli che
abbiamo davvero letto.
|
Leggere i metadati di base di un account Instagram professionale e i media che ha pubblicato. |
Scheda del canale (nome, @username, immagine, follower);
elenco dei contenuti pubblicati con data, tipo e link permanente; testo
delle didascalie, da cui derivano sentiment, parole chiave e temi.
|
instagram_manage_insights |
GET /{ig-user-id}/insightsGET /{ig-media-id}/insightsGET /{ig-user-id}?fields=business_discovery.username(...)
|
Account: follower_count, accounts_engaged,
follows_and_unfollows,
engaged_audience_demographics,
follower_demographics. Le due metriche demografiche
sono chieste con breakdown per età e genere.Contenuti: reach, views, likes,
comments, saved, shares,
total_interactions, follows; per i reel, al
posto di follows,
ig_reels_avg_watch_time e
ig_reels_video_view_total_time.
|
Ottenere gli insight di un account Instagram professionale e dei suoi contenuti; ottenere i metadati pubblici di altri account professionali tramite Business Discovery. | Grafici di andamento del canale e dei singoli contenuti; confronti fra periodi; confronto con i canali pubblici di riferimento scelti dal cliente; report. I dati demografici arrivano da Meta già aggregati per fascia (età e genere) e li usiamo solo in quella forma: non li associamo a persone e non li usiamo per dedurre caratteristiche di un individuo. |
pages_show_list |
GET /me/accountsGET /{page-id}?fields=instagram_business_account
|
id, name,
instagram_business_account{id,username}: l'elenco delle
Pagine amministrate e l'account Instagram professionale abbinato a
ciascuna. Il token di Pagina non arriva da qui: si chiede con una
chiamata a parte, e solo per le Pagine effettivamente collegate.
|
Mostrare alla persona l'elenco delle Pagine che amministra e verificare che ne sia effettivamente amministratore. |
Solo la schermata di collegamento del canale, dove l'elenco viene
mostrato per intero. Quali Pagine autorizzare si sceglie nella
finestra di autorizzazione di Facebook, e colleghiamo esattamente
quelle: la risposta di /me/accounts viene mostrata e
basta, non la salviamo.
|
pages_read_engagement |
GET /{page-id} (metadati)GET /{page-id}/feedGET /{post-id} (aggiornamento di un singolo post)GET /{post-id}/commentsGET /{ig-media-id}/comments (commenti dei contenuti
dell'account Instagram abbinato)
|
Pagina: id, name, link,
picture, fan_count. Non chiediamo i campi
di contatto della Pagina (emails, phone,
whatsapp_number, personal_info,
impressum).Post: created_time, message,
permalink_url, full_picture,
shares, attachments,
story_tags, promotable_id e i conteggi
delle reazioni per tipo (like, love, wow, haha, thankful, sad,
angry). Gli ultimi tre non vengono salvati.Commenti pubblici su Facebook: id, message,
created_time, permalink_url,
parent, like_count; su Instagram:
id, text, timestamp,
like_count, media. In nessuno dei due casi
chiediamo from, il campo che identifica chi ha scritto
il commento: i commenti entrano in archivio senza autore.
|
Fornire alla persona una vista aggregata dei contenuti e delle interazioni della Pagina che amministra. | Scheda e cronologia della Pagina; volumi di pubblicazione e di interazione; sentiment e temi calcolati sui testi dei post e dei commenti pubblici ricevuti dalla Pagina. |
Non chiediamo altri permessi. In particolare non chiediamo permessi di pubblicazione, di gestione dei messaggi privati o di lettura dei dati pubblicitari: Bellerofonte legge e basta. Non pubblica post, non risponde a commenti, non invia né legge messaggi diretti, non accede a campagne, spesa o audience pubblicitarie.
Chiamate di collegamento, rinnovo e revoca
Oltre alla lettura dei dati, l'applicazione chiama Graph per gestire il ciclo di vita del consenso. Nessuna di queste chiamate legge contenuti o dati di persone:
| Chiamata | A cosa serve |
|---|---|
POST /oauth/access_token |
Scambiare il codice restituito dalla finestra di autorizzazione con un token di accesso. |
GET /oauth/access_token (grant_type=fb_exchange_token) |
Rinnovare il token a lunga durata prima della scadenza, senza chiedere di nuovo il consenso. |
GET /debug_token |
Verificare validità, scadenza e permessi effettivamente concessi. |
GET /{page-id}?fields=access_token |
Ottenere il token di Pagina, solo per le Pagine che vengono collegate. |
DELETE /{user-id}/permissions |
Revocare il consenso su Meta quando l'utente disconnette il canale. |
C'è infine GET /pages/search, usata nella schermata in cui il
cliente cerca la Pagina Facebook da aggiungere al proprio progetto:
restituisce metadati pubblici di Pagina (id, name,
location, link, verification_status),
i risultati vengono solo mostrati, e nulla viene conservato finché il canale
non viene aggiunto.
4. Business Discovery
Business Discovery è la funzione della Graph API che permette a
un account Instagram professionale collegato di leggere i dati pubblici di
altri account professionali, indicandone il nome utente:
GET /{ig-user-id}?fields=business_discovery.username(...).
La usiamo per una cosa sola: costruire i confronti di scenario che il cliente chiede — l'andamento del proprio canale accanto a quello di altri canali pubblici dello stesso settore, per esempio un comune accanto ad altri comuni, o una testata accanto ad altre testate.
È l'unico modo legittimo di leggere quei dati. L'alternativa sarebbe raccoglierli dalle pagine pubbliche del sito, cioè fare scraping, che le Platform Terms vietano e che noi non facciamo. Preferiamo un endpoint ufficiale con dei limiti chiari a una scorciatoia senza regole.
Con quale account viene fatta la chiamata. Business Discovery non è una ricerca globale: si interroga attraverso un account professionale che si controlla. Se chi fa la ricerca ha collegato il proprio account Instagram professionale, la chiamata parte da quell'account e con il suo token: è fatta per conto del cliente. Se non ha nessun account collegato, la ricerca ricade sull'account professionale del Titolare, e la pagina lo dice con un avviso visibile. L'aggiornamento programmato dei canali pubblici di confronto usa sempre l'account del Titolare, perché gira di notte, senza nessun utente collegato.
Cosa comporta, in concreto:
- restituisce solo i dati pubblici che Meta espone di un account Business o Creator: nome, nome utente, immagine, numero di follower, numero di contenuti e i contenuti pubblicati con i relativi conteggi pubblici;
- funziona solo su account professionali (Business o Creator): non tocca account personali e non tocca account privati, che restituiscono un errore;
- non restituisce insight privati di quegli account: copertura, visualizzazioni e dati demografici restano visibili solo al titolare del canale, e infatti a noi non arrivano;
- non ci dà accesso a nessuna persona che segue o commenta quegli account.
5. Cosa non facciamo
Le Meta Platform Terms §3.a elencano gli usi vietati dei Platform Data. Qui sotto, uno per uno, cosa significano per Bellerofonte.
| Divieto (Platform Terms §3.a) | Come lo rispettiamo |
|---|---|
| Nessuna discriminazione su attributi protetti | Non deduciamo né inferiamo origine etnica, religione, opinioni politiche, appartenenza sindacale, salute, orientamento sessuale o identità di genere di nessuno, e non usiamo i dati per trattare diversamente qualcuno su queste basi. I dati demografici che riceviamo da Meta sono già aggregati per fascia e restano aggregati. |
| Nessuna decisione di idoneità | Non usiamo i dati — né in forma originale né derivata — per decidere se una persona è idonea a un lavoro, a un alloggio, a un credito, a un'assicurazione, a una prestazione pubblica o a qualunque altro beneficio, e non forniamo i dati a chi li userebbe per questo. |
| Nessuna sorveglianza | Non forniamo strumenti di sorveglianza e non trattiamo i dati per conto di forze dell'ordine o di autorità che vogliano monitorare persone, gruppi, manifestazioni o movimenti. Bellerofonte lavora su canali di organizzazioni, non su persone, e non permette di seguire un individuo nel tempo o nello spazio. |
| Nessuna vendita, licenza o acquisto di Platform Data | Non vendiamo, non concediamo in licenza, non cediamo e non compriamo Platform Data. Il divieto vale per noi anche sui dati derivati e aggregati: non commercializziamo indici di sentiment, classifiche, dataset di parole chiave o report costruiti su dati Meta. Quello che il cliente paga è l'accesso allo strumento sui propri canali, non il dato. |
| Nessun profilo di persone | Non costruiamo e non arricchiamo schede su singoli individui. Le nostre unità di analisi sono il canale, il contenuto, il periodo e il tema, e non incrociamo i dati Meta con altre fonti a livello di singolo individuo. I commenti che acquisiamo tramite le API di Meta non hanno un autore: Meta non ci fornisce l'identità di chi commenta, e noi non chiediamo il campo che la conterrebbe — né su Facebook né su Instagram. Non esiste quindi, né può esistere, una scheda per persona costruita a partire dai dati Meta. |
| Nessuna re-identificazione o de-anonimizzazione | Non tentiamo di risalire all'identità di chi ha scritto un commento, non proviamo a de-anonimizzare dati aggregati e non collegamo fra loro identificativi provenienti da fonti diverse per ricostruire una persona. |
| Nessun cambio sostanziale di trattamento senza una nuova App Review | Se in futuro volessimo usare i dati per finalità diverse da quelle descritte qui, o chiedere altri permessi, prima passiamo da una nuova App Review e aggiorniamo questa pagina. Non estendiamo l'uso di dati già raccolti in silenzio. |
| Nessun uso fuori dagli scopi consentiti | Usiamo i Platform Data solo per erogare le funzioni di analisi descritte in questa pagina al cliente titolare del canale. Non li usiamo per addestrare modelli generalisti, non li rivendiamo come materiale di ricerca e non li riusiamo per altri nostri prodotti. |
6. Chi vede cosa
Bellerofonte non ha un feed, una directory o un motore di ricerca pubblico di contenuti e commenti di origine Meta: per consultarli bisogna essere un utente autenticato del progetto a cui quel canale appartiene.
- In forma completa: solo il personale interno autorizzato del Titolare, e solo per erogare il servizio, controllare la qualità del dato e dare assistenza. L'accesso è nominale e individuale.
- Il cliente: vede i canali del proprio progetto e nient'altro. Non può vedere i canali di un altro cliente, nemmeno se si tratta di un canale pubblico presente anche in un altro progetto.
- In forma aggregata e priva di identificativi personali: i dati alimentano gli indicatori della piattaforma — analisi del sentiment, estrazione di parole chiave, individuazione dei temi, andamenti e report.
7. Separazione fra clienti
Ogni cliente lavora dentro il proprio progetto. I canali, i contenuti, gli insight e i risultati delle analisi sono legati al progetto che li ha generati, e le query dell'applicazione sono sempre limitate al progetto dell'utente che le esegue. I dati di un cliente non confluiscono in un "patrimonio comune" a disposizione degli altri clienti, e non esistono funzioni che espongano a un cliente i dati raccolti per un altro.
8. Conservazione e cancellazione
Contenuti, commenti e metriche di origine Meta sono conservati per 90 giorni, dopodiché vengono cancellati automaticamente insieme ai dati che ne derivano e che restano a essi riconducibili (per esempio il punteggio di sentiment di quel commento). Restano solo gli aggregati che non consentono più di risalire a una persona.
Prima della scadenza cancelliamo comunque i Platform Data al verificarsi di uno qualunque dei sei presupposti delle Platform Terms §3.d.i.2, che qui traduciamo in italiano corrente:
- quando non ci serve più per la finalità commerciale legittima per cui l'avevamo raccolto — ed è esattamente ciò che fa la scadenza dei 90 giorni;
- quando smettiamo di offrire la funzione per cui il dato era stato raccolto, o dismettiamo Bellerofonte: per questo caso esiste una procedura di cancellazione integrale, che elimina i dati di tutti i canali Meta senza alcuna finestra temporale;
- quando ce lo chiede Meta, anche a tutela dei propri utenti finali;
- quando l'utente ce lo chiede o cancella il proprio account Meta;
- quando lo impongono una legge o un regolamento applicabile;
- quando lo prevede la §7 delle Platform Terms, cioè se il nostro accordo con Meta viene sospeso, cessa o scade.
A questi si aggiunge un impegno che prendiamo noi, oltre a quanto le Platform
Terms ci impongono: se il titolare del canale revoca
l'autorizzazione — scollega il canale dalla piattaforma, ritira i
permessi o rimuove l'applicazione dalle impostazioni di Facebook (in
quest'ultimo caso riceviamo la notifica di deauthorization da Meta e procediamo
da soli) — cancelliamo i dati di quel canale senza attendere la scadenza.
Scollegare il canale dalla piattaforma revoca il consenso anche su Meta
(DELETE /{user-id}/permissions), cancella contenuti, commenti,
metriche e statistiche derivate del canale, azzera i token ed esegue subito la
pulizia dei record rimasti senza il dato a cui erano collegati, senza aspettare
il passaggio notturno.
Le tre strade — il pulsante di disconnessione in piattaforma, la Deauthorize Callback e la Data Deletion Request Callback — passano tutte dalla stessa procedura e lasciano una richiesta registrata, con un codice di conferma e il riepilogo di quello che è stato cancellato: è la prova di cancellazione che le Platform Terms §3.d.i.3 ci chiedono di poter fornire a Meta o all'autorità. Un'eccezione onesta: se una Deauthorize Callback arriva con un identificativo che non corrisponde a nessun collegamento che conosciamo, non c'è niente da cancellare e non registriamo nulla — quella notifica non lascia traccia.
Due precisazioni, per non dire più di quello che facciamo. La cancellazione alla scadenza gira una volta al giorno, di notte: un contenuto sparisce entro ventiquattro ore dal compimento dei 90 giorni, non nell'istante esatto. E se un contenuto o un commento viene eliminato sulla piattaforma di origine, non ce ne accorgiamo da soli: la copia che abbiamo sparisce con la scadenza, con lo scollegamento del canale o su richiesta di cancellazione, non alla prima sincronizzazione.
9. Fornitori e modelli linguistici
I fornitori che trattano dati per nostro conto sono elencati, con la loro funzione e la loro collocazione geografica, nella pagina Responsabili del trattamento. Ognuno è nominato con contratto scritto e vincolato agli stessi limiti d'uso che le Platform Terms impongono a noi.
L'infrastruttura di Bellerofonte è nello Spazio Economico Europeo. Le elaborazioni linguistiche — sentiment, parole chiave, temi, riassunti — girano su modelli ospitati sull'infrastruttura del Titolare: i testi di origine Meta non vengono inviati a servizi di intelligenza artificiale di terzi e non vengono usati per addestrare modelli di nessuno.
10. Sicurezza
- traffico cifrato in transito (HTTPS/TLS) verso l'utente e verso le API di Meta;
- token di accesso e segreti applicativi cifrati a riposo e mai scritti nei log in chiaro;
- accesso ai sistemi limitato al personale autorizzato e nominalmente identificato;
- separazione dei dati per progetto e per cliente;
- cancellazione automatica alla scadenza, verificabile;
- in caso di violazione di dati personali, notifica all'autorità di controllo entro 72 ore e a Meta senza ritardo, come previsto rispettivamente dal GDPR e dalle Platform Terms.
Per non dire più di quello che facciamo: l'autenticazione a più fattori sugli strumenti amministrativi, un registro centralizzato degli accessi con revisione periodica e un piano di risposta agli incidenti collaudato non sono ancora in esercizio. Sono lavori pianificati, non misure attive, e finché non lo saranno questa pagina non li elenca fra le nostre misure.
Il dettaglio delle misure e il canale per segnalare una vulnerabilità sono nella pagina Sicurezza.
11. Come chiedere la cancellazione
Chiunque può chiedere la cancellazione dei propri dati, anche chi non è nostro cliente e non ha mai avuto un account da noi. Il modulo è pubblico e non richiede alcuna credenziale Facebook o Instagram:
Richiedi la cancellazione dei tuoi dati
Alla richiesta viene assegnato un codice di conferma con cui seguire lo stato della lavorazione su una pagina pubblica, fino all'esito finale. Se una richiesta viene respinta, la pagina di stato ne indica il motivo.
In alternativa, se hai collegato un account Meta a Bellerofonte, ti basta rimuovere l'applicazione dalle impostazioni del tuo account Facebook (Impostazioni e privacy → Impostazioni → App e siti web). Meta ci notifica la rimozione attraverso la Deauthorize Callback e la Data Deletion Request Callback che abbiamo registrato, e la cancellazione parte in automatico: non devi fare altro.
Se sei un cliente e hai collegato tu il canale, il pulsante Disconnetti nella schermata di collegamento fa la stessa identica cosa: revoca il consenso su Meta, cancella i dati raccolti con quel collegamento e registra la richiesta di cancellazione con il suo codice di conferma.
Per qualunque altra domanda sul trattamento dei dati Meta scrivi a privacy@piavedigitalagency.it. Il quadro completo del trattamento è nell' Informativa privacy.