FL-P/01
v1.2
Photographic recording of the sample
Defines the eight required shots, the shooting geometry, the lighting, the metric scale and the metadata every record must contain for level L1 to be repeatable by a third party.
2026-06-18
Open protocol
FL·2026
04 / 10
La perizia forense vive di un paradosso: è un documento tecnico che decide questioni legali, e quasi sempre nessuno può verificarne il metodo. Forensis Lab lo pubblica. Protocolli numerati, schema del referto aperto, impronta crittografica su ogni documento.
Four commitments
Not a marketing word: four concrete commitments, each with a practical consequence for whoever receives one of our reports.
01
Every level of analysis has a written, numbered, dated protocol. Anyone receiving our report can read exactly how it was produced, before even commissioning it.
02
The report is not just a PDF: it is a structured document with a public schema. Anyone can read it with their own tools, index it, compare it with others, check its required fields.
03
Every report carries a cryptographic fingerprint computed over its contents. Checking does not go through us: you recompute the fingerprint and compare. An altered report stops matching.
04
Protocols change when counterfeiting changes. Every version stays available with its date and its amendments: a 2026 report must be read against the 2026 protocol.
Register
Cinque documenti governano tutto ciò che il laboratorio produce. Ognuno ha un numero, una versione e una data: una perizia va sempre letta con il protocollo vigente al momento in cui è stata redatta.
FL-P/01
v1.2
Defines the eight required shots, the shooting geometry, the lighting, the metric scale and the metadata every record must contain for level L1 to be repeatable by a third party.
2026-06-18
FL-P/02
v1.1
Lists the quantities measured at level L2, the permitted instruments, the reference tolerances, and how a deviation is classified as compliant, marginal or non-compliant.
2026-05-30
FL-P/03
v1.0
Chromatographic conditions, sample preparation, peak identification criteria, and the rules for comparing the profile under examination with the reference profile at level L3.
2026-07-02
FL-P/04
v1.3
Sealing, numbering, the handling register, and storage requirements for the exhibit from the moment of intake to its return or destruction.
2026-07-21
FL-P/05
v0.9
A method for estimating economic damage from counterfeiting, by reference and by channel. Out for consultation: reasoned comments accepted until the revision closes.
2026-08-04
Full texts available on request · licensed CC BY 4.0
Towards deposit
Formal deposit of each protocol includes an SHA-256 integrity fingerprint, the author's digital signature and a trusted timestamp.
Schema
Oltre al PDF firmato, ogni referto esiste come oggetto strutturato conforme a uno schema JSON pubblico. Un ufficio legale può indicizzarlo, una Procura può confrontarlo con altri, un terzo può validarne la forma senza interpretare nulla.
referto.schema.json
v1.2
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://forensislab.com/schema/referto/1.2.json",
"title": "Referto peritale Forensis Lab",
"type": "object",
"required": ["referto", "perito", "oggetto", "metodo", "esito", "impronta"],
"properties": {
"referto": {
"type": "object",
"required": ["codice", "livello", "emesso"],
"properties": {
"codice": { "type": "string", "pattern": "^FL-443-26-L[123]-[0-9A-F]{4}$" },
"livello": { "enum": ["L1", "L2", "L3"] },
"emesso": { "type": "string", "format": "date" }
}
},
"perito": {
"type": "object",
"required": ["nome", "albo", "tribunale"],
"properties": {
"nome": { "type": "string" },
"albo": { "type": "integer" },
"tribunale": { "type": "string" }
}
},
"oggetto": {
"type": "object",
"required": ["marchio", "referenza", "canale"],
"properties": {
"marchio": { "type": "string" },
"referenza": { "type": "string" },
"canale": { "enum": ["boutique", "profumeria", "marketplace",
"social", "fiera", "privato"] },
"lotto": { "type": "string", "pattern": "^[A-Z0-9]{4,8}$" }
}
},
"metodo": {
"type": "array",
"items": { "type": "string", "pattern": "^FL-P/[0-9]{2} v[0-9]+\\.[0-9]+$" },
"minItems": 1
},
"esito": {
"type": "object",
"required": ["classificazione", "punteggio", "elementi"],
"properties": {
"classificazione": { "enum": ["contraffatto", "anomalo", "conforme"] },
"punteggio": { "type": "integer", "minimum": 0, "maximum": 100 },
"attendibilita": { "type": "integer", "minimum": 0, "maximum": 100 },
"elementi": {
"type": "array",
"items": {
"type": "object",
"required": ["titolo", "gravita", "protocollo"],
"properties": {
"titolo": { "type": "string" },
"gravita": { "enum": ["alta", "media", "bassa"] },
"protocollo": { "type": "string" }
}
}
}
}
},
"impronta": {
"type": "object",
"required": ["algoritmo", "valore"],
"properties": {
"algoritmo": { "const": "SHA-256" },
"valore": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
}
}
}
}I referti dimostrativi di questo sito rispettano lo schema: FL-443-26-L3-9F2A, FL-443-26-L2-4C71, FL-443-26-L1-2B08.

Independent verification
La verifica di un referto non passa da noi. È un procedimento che chiunque può eseguire con strumenti che ha già.
Il referto contiene i campi che entrano nel calcolo, nell'ordine fissato dal protocollo FL-P/01. Nessuna ambiguità su cosa includere.
Con qualunque strumento: una riga di shell, una libreria, un servizio offline. L'algoritmo è standard e non è nostro.
Se le due impronte coincidono, il documento è quello emesso. Se differiscono anche di un carattere, il documento è stato alterato.
Example · from a terminal
shasum -a 256 referto-FL-443-26-L3-9F2A.jsonRevisions
Counterfeiting evolves; the protocols follow it. Every change stays on the register with its date, because a report must always be judged by the rules of its time.
I protocolli in bozza restano aperti ai commenti motivati di periti, avvocati, chimici e uffici anticontraffazione. Le osservazioni accolte entrano nella revisione successiva, con menzione.