Fonti e licenze
Da dove vengono i dati che questo sito usa, con quale licenza, e come riprodurli. Le fonti che chiedono di essere citate sono citate qui.
Cosa entra in Moonzah senza essere stato scritto da noi, da dove viene e a quali condizioni.
Cosa sta in questa pagina, dal 16 agosto 2026. Ci sta quello che una licenza obbliga a dichiarare, e quello la cui provenienza non si ricostruirebbe da nessun’altra parte. Le fonti che non chiedono niente e che non aggiungono niente sono uscite: una pagina di attribuzioni piena di attribuzioni non dovute è una pagina in cui non si distingue più quale riga è un adempimento e quale è cortesia.
Comuni italiani — municipalities
7.896 comuni.
La fonte, e cosa chiede
ISTAT — Codici statistici delle unità amministrative territoriali
https://www.istat.it/it/archivio/6789
File: Elenco-comuni-italiani.csv
Licenza: Creative Commons Attribuzione 4.0 Internazionale (CC BY 4.0) — https://creativecommons.org/licenses/by/4.0/deed.it
La pagina del dataset non dichiara una licenza propria, quindi vale la nota legale del sito: «Salvo diversa indicazione, tutti i contenuti pubblicati su questo sito sono soggetti alla licenza Creative Commons – Attribuzione – versione 4.0» (https://www.istat.it/it/note-legali).
È l’anagrafe ufficiale: se un comune nasce, cambia nome o passa di provincia, succede prima qui che altrove. Da ISTAT vengono denominazione, codice, provincia, sigla, regione e il flag capoluogo.
⚠ Il dato è stato modificato, e CC BY 4.0 chiede di dirlo
La licenza chiede tre cose, non una: la menzione della paternità, il link alla licenza, e l’indicazione se sono state effettuate delle modifiche. Le prime due sono qui sopra. La terza è questa.
Il dato pubblicato da ISTAT non è il dato che sta nel nostro database. È stato:
- arricchito con le coordinate geografiche e la popolazione, che il file
ISTAT non contiene, prese da Wikidata — proprietà
P635(codice ISTAT),P625(coordinate),P1082(popolazione), rilasciate in CC0 1.0, pubblico dominio, nessun obbligo nemmeno di attribuzione; - riconciliato sul codice ISTAT: 7.759 comuni su 7.896 si agganciano direttamente. I 136 rimanenti sono quasi tutti sardi — la riorganizzazione delle province ha cambiato i codici — e si risolvono per nome. Un solo caso resta ambiguo (San Teodoro, che esiste in provincia di Sassari e di Messina) e viene sciolto scegliendo il candidato più vicino al centro degli altri comuni della stessa provincia;
- riscritto in una tabella PostGIS, con la coppia di coordinate trasformata
in un punto
geography.
Perché Wikidata è nominata qui e non ha un blocco suo: CC0 non chiede niente, quindi come attribuzione sarebbe zavorra. Ma la modifica del dato ISTAT consiste esattamente nell’averlo unito a Wikidata, e la modifica CC BY 4.0 obbliga a dichiararla. Sta qui perché è dovuta qui, non perché Wikidata lo chieda. Chi la spostasse in un blocco di attribuzioni la rimetterebbe fra le cortesie, e nel farlo toglierebbe a ISTAT una delle tre cose che chiede.
Una fonte scartata, e perché
opendatasicilia/comuni-italiani ha coordinate complete, pulite e già allineate ai codici ISTAT: sarebbe stata la strada più corta. Ma il repository non dichiara alcuna licenza, e in assenza di licenza il default legale è "tutti i diritti riservati" — nessun permesso di redistribuzione.
Per 7.896 righe incorporate nel database di un prodotto la differenza fra "probabilmente andrebbe bene" e "esiste una licenza che lo consente" vale il tempo in più speso a interrogare Wikidata.
Riprodurre il dato
node scripts/fetch-municipalities.mjs # scarica e unisce → data/istat/comuni.json
node scripts/parse-municipalities.mjs # genera la migration di seed
Il primo script tocca la rete e si lancia a mano; il secondo è puro. Se una riga è malformata — codice non a sei cifre, sigla assente, coordinate fuori dall’Italia — lo script si ferma invece di importarla.
Catalogo giochi — games
977 voci da docs/CATALOGO.md, compilato a mano dal team. Nessuna fonte
esterna, nessuna licenza di terzi.
⚠ Come è stato ottenuto quel numero, il 22 agosto 2026: contato a mano
sul file generato (lib/games.ts) e confrontato con select count(*) from games. Due misure che tornano, e nessuna delle due è il controllo che
esiste per farle — npm run check:fonti è cieco sul catalogo dal 18
agosto: cerca export const GAMES: Game[] = [, una forma sparita quando il
catalogo è passato a una stringa a separatori.
Finché quel controllo non conta di nuovo, questo numero è esatto quanto
l’attenzione di chi l’ha scritto, e va riverificato a mano a ogni modifica
del catalogo. Un numero senza provenienza invecchia senza saperlo.
CODA 72 · CODA 77
I nomi dei giochi citati su Moonzah sono marchi dei rispettivi titolari e compaiono a scopo descrittivo, per indicare a cosa si gioca a un tavolo. Moonzah è un servizio indipendente e non è affiliato, sponsorizzato né approvato da nessun editore o produttore di giochi.
Il conteggio è quello di lib/games.ts. Fino al 16 agosto 2026 questa
riga diceva 539, che era il numero di un catalogo di due manopole
prima. Un numero pubblico che nessun controllo verifica invecchia senza
che nessuno se ne accorga.
⛔ E dal 18 agosto 2026 quel controllo non guarda più. check:fonti
cerca export const GAMES: Game[] = [ in lib/games.ts, forma sparita
quando il catalogo è passato a una stringa a separatori (CODA 29, strada
D). Dichiara «FONTE IRRAGGIUNGIBILE» invece di mentire — ma il numero
qui sopra, dal 18 agosto, lo aggiorna solo chi si ricorda. Il 975 è stato
messo a mano il 22 agosto, ed è esattamente il gesto che questa nota diceva
di non dover più fare. La voce è CODA 68.
Caratteri
Tutti e tre sotto SIL Open Font License 1.1 (https://openfontlicense.org/documents/OFL.txt), e le tre righe che seguono sono l’avviso di copyright che la licenza chiede:
- Cinzel — Copyright 2020 The Cinzel Project Authors (https://github.com/NDISCOVER/Cinzel) — i titoli
- Cinzel Decorative — Copyright (c) 2012 Natanael Gama (info@ndiscovered.com), with Reserved Font Name 'Cinzel' — il marchio
- Literata — Copyright 2017 The Literata Project Authors (https://github.com/googlefonts/literata) — il testo corrente
⛔ L’8 settembre 2026 sono usciti in due: Fredoka e Inter. Fredoka era il
carattere dei titoli dal 28 agosto — quel giorno era uscito Marcellus, con
la stessa mossa — e Inter era il testo corrente dall’inizio. Adesso i
titoli sono in Cinzel 700 e il corpo in Literata.
ⓘ Il prodotto non condivide più nessun carattere col prototipo, ed è una
decisione scritta: CODA 198.
La riga di copyright si toglie solo quando il font non è più distribuito, e
qui non lo è più: --font-display e --font-sans sono due variabili sole,
quindi cambiate in layout.tsx i due caratteri hanno smesso di essere
scaricati e serviti nello stesso commit. Verificato col comando prima di
togliere le righe e i file: nessun Fredoka e nessun Inter in app/,
components/, lib/ fuori dai commenti — e i commenti che li nominano sono
il verbale di misure fatte allora, che restano vere di allora.
⛔ E CINZEL DECORATIVE È STATO SERVITO PER UN GIORNO SENZA LA SUA
LICENZA. È entrato l’8 settembre col commit del marchio, e quel commit non
ha toccato né questa pagina né public/fonts/: il .woff2 partiva dal nostro
dominio — cioè era distribuito, nel senso della condizione 2 qui sotto —
senza l’avviso di copyright e senza il testo della licenza accanto. Riparato
nel commit dei titoli, che è quando qualcuno ha riaperto questa sezione.
⚠ Nessun controllo l’ha detto, e la ragione vale più del caso.
check:fonti una sonda sulle licenze ce l’ha — pretende che ogni file in
public/fonts/ esista e che la sua prima riga stia in questa pagina — ma
l’elenco dei file era scritto a mano. Un elenco così protegge dal file
che sparisce, non dalla famiglia che arriva: chi aggiunge un carattere e
non tocca public/fonts/ non incontrava nessun rosso.
✓ Dall’8 settembre sera quel verso è chiuso: la stessa sonda legge gli import
next/font/google di app/layout.tsx e pretende che ogni famiglia
caricata abbia il suo file qui. Chi aggiunge una famiglia aggiunge tre
cose insieme: il carattere, il file della licenza, e la riga di copyright.
Cosa chiede davvero la OFL, che non è un credito
La OFL non chiede che il carattere sia riconosciuto in pagina: i documenti creati con un font sono esplicitamente esclusi («The requirement for fonts to remain under this license does not apply to any document created using the fonts»), e la FAQ ufficiale risponde «No … but that is not required» proprio alla domanda sul credito.
Quello che chiede è un’altra cosa, e ci riguarda: next/font/google
auto-ospita i file .woff2 e li serve dal nostro dominio, e la FAQ 2.1
qualifica quell’ospitalità come distribuzione («this is … explicitly allowed
by the licensing model because it is distribution»). Per la condizione 2
della licenza, ogni copia distribuita del font software deve portare con sé
l’avviso di copyright e il testo della licenza: «Original or Modified
Versions of the Font Software may be bundled, redistributed and/or sold with
any software, provided that each copy contains the above copyright notice and
this license.»
Ecco perché questa sezione ha il testo del copyright e il link al testo della licenza, e non la formula «Cinzel, Google Fonts». E perché la licenza è servita insieme ai caratteri, non solo citata:
Sono i due file originali, copiati byte per byte dal repository
google/fonts senza riscriverne una riga: un testo di licenza ritrascritto a
mano è un testo di licenza diverso.
Immagini
Nessuna fotografia di terzi, nessuna copertina di gioco, nessun asset da
CDN. Le immagini della home sono generate per Moonzah con
Higgsfield: 8 sorgenti (2 hero + 4 card
categoria + 2 segnaposto), e 11 servite — le
sorgenti stanno in docs/, le varianti AVIF/WebP in public/immagini/.
⚠ Otto sorgenti e undici servite: la differenza sono tre categorie uscite
30 agosto 2026. Le sorgenti di larp, storico e videogame sono state
tolte da docs/Immagini Categorie/: quelle tre categorie non esistono più
nell’interfaccia — CATEGORIE_VISIBILI ne elenca quattro — e continuare a
dichiarare come sorgente del prodotto una fotografia di una cosa che il
prodotto non mostra sarebbe una dichiarazione falsa.
ⓘ Le tre varianti servite restano in public/immagini/, e non sono
referenziate da nessuna riga di codice: verificato, cat-larp, cat-storico
e cat-videogiochi non compaiono fuori dal manifesto generato. Sono file
vivi senza una sorgente e senza un lettore. Toglierli è un’altra decisione —
le categorie restano a database e i tavoli già pubblicati continuano ad avere
un nome — e sta in CODA 142.
Le tre arrivate il 28 agosto 2026
| file servito | sorgente | resa | a cosa serve |
|---|---|---|---|
ingresso-920.webp | docs/Immagine Hero/hero.png | 920×878 | la fotografia accanto al riquadro d’accesso |
profilo-256.webp | docs/Immagini per profilo/profilo.png | 256×263 | segnaposto di chi non ha caricato una faccia |
copertina-900.webp | docs/Immagini per profilo/copertina.jfif | 900×285 | segnaposto di copertina |
Provenienza: le stesse delle altre — generate per Moonzah con Higgsfield, stessa licenza e stesse condizioni del blocco qui sopra. Non vengono da banche di immagini: nessuna delle tre è stata scaricata, e non c’è un’attribuzione dovuta a terzi.
⛔ ingresso-920.webp è un INGRANDIMENTO di 2,8×, ed è dichiarato. La
sorgente è 332×317 e la resa ne chiede 920: il risultato è sgranato, ed è
una scelta presa sapendolo. Si sostituisce quando arriva una sorgente più
grande — e il giorno che arriva, questa riga va via con lei.
⚠ Il 30 agosto 2026 questo numero è PEGGIORATO apposta, e la ragione non è la grana
Era ingresso-840.webp, ×2,53, per una scatola da 418px CSS. La scatola è
passata a 460 — la fotografia è l’unica cosa a destra del modulo d’accesso
e a 418 lasciava 142px vuoti su 1120 — e il file servito con lei, da 840 a
920 (460 × 2). Allargare la scatola tenendo il file da 840 sarebbe stato
un secondo ingrandimento, quello sì non dichiarato.
⛔ Quindi la voce «serve una sorgente da ≥900» NON è decaduta con la hero a
tutta larghezza: è cresciuta. Chi legge «la hero è uscita, quindi il
problema è chiuso» sta leggendo due file diversi come se fossero uno —
hero-scuro.png alimentava la hero ed è morta con lei; hero.png alimenta
questa fotografia, che resta ed è appena diventata più grande.
ⓘ La qualità WebP è 88, scelta per tenere i byte per pixel sotto quelli del file che sostituisce: 0,1484 contro 0,1508. Un file più largo e più denso avrebbe cambiato due cose insieme.
⚠ E non passano da docs/palette/genera-immagini.mjs. Quel generatore ha
due muri, uno sul rapporto 8/5 delle card e uno sul 2:1 dell’hero: queste tre
stanno a 1,05, 0,97 e 3,16, e nessuno dei due le descrive.
Condividono con le altre l’unica cosa che conta per chi le serve — lo schema
del nome e l’impronta, scritti da scripts/impronta-immagini.mjs.
⚠ La nona è arrivata il 28 agosto 2026, e sorgenti e servite hanno smesso
di coincidere. È docs/Immagine Hero/hero.png, la hero nuova col bordo a
pennello: entra nel conto delle sorgenti appena tocca la cartella, e non
entra in quello delle servite finché non c’è un derivato in
public/immagini/. Il rosso di check:fonti non descriveva un errore: era
un file comparso e un numero fermo.
⛔ E non sarà servita presto. La sorgente è 332×317 e la resa chiesta è 418px CSS, cioè 836px a due volte: ingrandirla è sgranarla di ×2,52. Aspetta un riesporto, e fino ad allora questi due numeri restano diversi apposta — chi li vede divergere non deve «pareggiarli», deve chiedere il file.
⚠ Il 30 agosto 2026 la resa chiesta è passata a 460px CSS, cioè 920. Il ×2,52 di questo riquadro è diventato ×2,77: il numero qui sopra resta scritto perché è la forma del ragionamento, non perché sia ancora il valore.
Dal 25 agosto 2026 sorgenti e servite coincidevano, e prima non era così.
Erano 9 e 7: le due tenute e non servite erano Giochi di società e Carte e
giochi classici, due categorie aperte il 20 agosto e rientrate il 22 — le
loro sorgenti sono uscite dalla cartella, e le parole che le contavano sono
state riscritte con loro. La settima card è la Rievocazione storica, che
aspettava in docs/Immagini Categorie/in-attesa/ e adesso ha una categoria
a cui appartenere.
Le sorgenti del tema chiaro, ritirato, non sono più fra queste: stanno in
docs/Immagini non usate, con la ragione scritta accanto.
La regola di prodotto che le ammette — nostro e specifico, mai repertorio,
mai copertine — sta in docs/DESIGN.md §4; le misure in
docs/palette/IMMAGINI.md.
Le condizioni, dai termini di Higgsfield
https://higgsfield.ai/terms-of-use-agreement
| proprietà | §4.4 — «Company does not claim ownership of any of your Inputs or Outputs» |
| uso commerciale | §4.4 — «nor does it restrict your commercial use of Outputs», e i diritti «survive cancellation of your subscription or deletion or termination of your Account». Non è legato a un piano |
| attribuzione | non dovuta. Questa riga è per chi verrà dopo |
| esclusiva | ⚠ nessuna. §4.4 — «Outputs generated by the Service may not be unique across users. Other users may receive an Output that is similar or possibly identical to yours. Company does not guarantee the uniqueness, originality, or exclusivity of any Output» |
| garanzie | ⚠ nessuna, e nessun indennizzo. §13.2 — «Company makes no representation or warranty as to the originality, uniqueness, legality, accuracy, or fitness of any Output», e «You are solely responsible for conducting any necessary rights clearances» |
Le ultime due righe sono quelle che contano per un marketplace, e vanno lette insieme: possiamo usarle e venderci sopra, non possiamo impedire a qualcun altro di avere immagini uguali, e se un output somigliasse a un’opera protetta il problema sarebbe nostro.
Video di sfondo dell’hero — ⏸ fuori dalla pagina dal 20 agosto 2026
Il video non si vede più su nessuna rotta. <HeroVideo /> è uscito da
app/page.tsx quel giorno; il componente resta intatto e rimetterlo è una
riga. Questa voce non descrive più quello che la home mostra, e resta
qui per la ragione opposta: i due file sono ancora serviti a chi ne
conosce l’indirizzo, e un’attribuzione che copre un file pubblico non si
toglie perché la pagina ha smesso di usarlo.
Il giorno che i file escono da public/, esce anche questa sezione. Fino
ad allora ha un soggetto.
public/hero/hero-tavolo.av1.mp4 e .h264.mp4, 7,58 secondi in loop, muto.
Generato con Higgsfield a partire dal poster
dell’hero. Valgono le stesse condizioni della tabella qui sopra.
⚠ Il sorgente porta un manifesto C2PA (Content Credentials), i due file
serviti no — non per scelta di risparmio, ma perché nessuna ricodifica lo
trasporta. Il sorgente col manifesto intatto resta pubblico e scaricabile:
/hero/hero-tavolo.mp4. La clausola dei termini che
riguarda i segnali di provenienza, la sua ambiguità e la misura che ha
chiuso la questione stanno in docs/ASSET.md.
Audio — ⏹ uscito dal sito il 20 agosto 2026
Non c’è più nessun audio. Il comando, il provider e l’elemento
<audio> sono usciti insieme al file: components/home/ambiente.tsx è
stato cancellato, e public/audio/ con lui. I due file non sono buttati
— stanno in docs/audio/, fuori da quello che il sito serve.
⚠ Questa sezione resta, e la ragione è la stessa della voce del video: descrive un file che è entrato nel repository e ci sta ancora. La licenza Pixabay non obbliga all’attribuzione, quindi non è un obbligo che cade; è un pezzo di provenienza, e la provenienza di un file che il repository conserva non si cancella perché la pagina ha smesso di suonarlo.
Quello che cambia è il tempo del verbo: era l’audio ambientale della home, non lo è più.
Era l’audio ambientale della home la traccia «Fantasy Trailer» di The_Mountain, pubblicata su Pixabay il 31 gennaio 2023:
https://pixabay.com/music/main-title-fantasy-trailer-137043/
Licenza: Pixabay Content License — la pagina della traccia riporta «Free for use under the Pixabay Content License» (https://pixabay.com/service/terms/). Consente l’uso commerciale e non obbliga all’attribuzione: «You do not need to credit Pixabay or the contributor».
L’originale dura 2:00; da noi ne suonavano 18 secondi in loop, ricodificati in Opus e AAC. Non è quindi una ridistribuzione standalone — la licenza vieta di distribuire il contenuto «where no creative effort has been applied … and it remains in substantially the same form».
L’URL è la ragione per cui questa riga esiste, e la licenza non c’entra. Fino al 16 agosto 2026 qui c’erano solo titolo e autore, e con quelli la provenienza non era verificabile da niente: due nomi non dimostrano che quel file venga da lì, e l’autore ha 1.544 tracce. Un’attribuzione che non si può seguire non è un’attribuzione, è una rassicurazione.
Data di ingresso nel repository: 15 agosto 2026 (commit 5615164). Non è
la data di scarico — quella non è stata registrata e non la inventiamo.
Il dettaglio tecnico — i due formati, perché non si sommano mai, la
ricodifica a 48 kHz e le misure di sonorità — sta in docs/ASSET.md.