FL-P/01
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.
Protocol register, drafts in development
How we work
An expert report is a technical document, and its value is for the judge to assess. Forensis Lab works to a written method: draft protocols, still in development, with the texts on request; a public report schema; a cryptographic fingerprint of the report file, which anyone can recompute.
The photo check does not reach any of these outcomes: it gives a preliminary result, with or without visible anomalies, which is not an expert report. This applies to the check carried out by the expert, for businesses and the authorities, and it will apply to the Forensis Lab Verify™ pre-analysis, coming soon for consumers.
Below, the protocol register: drafts still in development, with the texts on request.
Four commitments
Each commitment has a practical consequence for whoever receives one of our reports, and says what is already in use and what is still in draft.
01
Every level of analysis has a written protocol, currently in draft. The register below describes what each one covers; we send the texts, in their working version, on request, even before an engagement. The method applied to each case is described in the report.
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 has a cryptographic fingerprint: the SHA-256 of its file, exactly as issued. Whoever has the file recomputes it with standard tools and, for reports in the public register (not yet fully active), compares it with the one on the verification page: an altered file stops matching.
04
Protocols change when counterfeiting changes, and a report must be read against the protocol of its time. With formal deposit, every version will stay on the register with its date and its amendments; today the register holds drafts in development, without versions or dates.
Register
Five protocols, from photographic recording to damage quantification, still in draft; the texts, in their working version, are available on request. The method applied to a case is described in the report and, in judicial contexts, in the technical sheet that accompanies the expert report, with the comparisons performed, the instruments used and the identification of the samples.
FL-P/01
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.
FL-P/02
Lists the quantities measured at level L2 (laboratory check), the permitted instruments, the reference tolerances, and how each single measurement stands against its tolerance: within, at the limit or beyond. The classification applies to the measurements, not to the product: the report's outcome is stated only in the terms of the Code of Ethics and the report schema, that is conforming, non-conforming or inconclusive.
FL-P/03
Chromatographic conditions, sample preparation, peak identification criteria, and the rules for comparing the profile under examination with the reference profile at level L3.
FL-P/04
Sealing, numbering, the handling register, and storage requirements for the exhibit from the moment of intake to its return or destruction.
FL-P/05
A method for estimating economic damage from counterfeiting, by reference and by channel.
Working drafts: none of the protocols is yet a text in force.
Towards deposit
Formal deposit of each protocol, as a complete text, will include an SHA-256 integrity fingerprint, the author's digital signature and a trusted timestamp.
Schema
Beyond the signed PDF, every report exists as a structured object conforming to a public JSON schema. A legal department can index it, an institution can compare it with others, a third party can validate its form without interpreting anything. The outcome states whether the sample conforms or does not conform to the reference samples, or whether the analysis is inconclusive, with the degree of certainty declared by the expert in words, never as a score.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://forensislab.com/schema/referto/1.4.json",
"title": "Referto Forensis Lab",
"description": "Il documento emesso dal laboratorio: il referto (L2, L3), firmato dal perito, o l'esito preliminare del controllo sulle fotografie (L1), che non è una perizia. L'impronta non sta nel documento: è lo SHA-256 del file JSON così come è stato emesso, byte per byte, e la pubblica la pagina di verifica del codice (e, quando sarà attivo, il registro).",
"type": "object",
"required": ["referto", "perito", "oggetto", "metodo", "esito"],
"properties": {
"referto": {
"type": "object",
"required": ["codice", "livello", "emesso"],
"properties": {
"codice": {
"type": "string",
"pattern": "^FL-(443-[0-9]{2}|DEMO)-L[123]-[0-9A-F]{4}$",
"$comment": "Nei referti emessi il codice porta il numero d'albo del perito (443) e l'anno, in due cifre. Il prefisso FL-DEMO è riservato ai documenti dimostrativi: nessun referto emesso lo porta."
},
"livello": { "enum": ["L1", "L2", "L3"] },
"emesso": { "type": "string", "format": "date" },
"dimostrativo": {
"const": true,
"description": "Solo nei documenti dimostrativi (prefisso FL-DEMO), che hanno dati simulati."
}
}
},
"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",
"description": "Le bozze di protocollo applicate (FL-P/nn): identificano la bozza di lavoro, non un testo in vigore; il numero di versione (FL-P/nn vN.N) si aggiunge con il deposito formale. Il metodo applicato al caso è descritto nel referto; nei contesti giudiziari la perizia è accompagnata dalla scheda tecnica con il metodo, i confronti eseguiti, gli strumenti utilizzati e l'identificazione dei campioni (Codice Etico 3.2 c).",
"items": {
"type": "string",
"pattern": "^FL-P/[0-9]{2}( v[0-9]+\\.[0-9]+)?$"
},
"minItems": 1
},
"esito": {
"type": "object",
"description": "Le conclusioni del perito sul campione esaminato, al livello indicato in referto.livello e nei limiti dichiarati. Nel referto (L2, L3) la perizia accerta la conformità o la non conformità ai campioni di riferimento (conclusione); il controllo sulle fotografie (L1) dà solo un esito preliminare (esito_preliminare), che non è una conclusione di conformità e non ha valore di perizia. L'attribuzione di responsabilità spetta all'autorità competente e il valore del referto lo valuta il giudice.",
"required": ["grado_di_certezza", "limiti", "elementi"],
"properties": {
"conclusione": {
"enum": ["conforme", "non_conforme", "non_concludente"],
"description": "Solo nel referto (L2, L3). conforme: nessuna difformità rispetto ai campioni di riferimento, per quanto esaminato. non_conforme: difformità documentate rispetto ai campioni di riferimento. non_concludente: gli elementi non bastano ad accertare né la conformità né la non conformità; il referto indica quale livello di analisi servirebbe."
},
"esito_preliminare": {
"enum": ["nessuna_anomalia_visibile", "con_anomalie_visibili"],
"description": "Solo nel controllo sulle fotografie (L1): che cosa mostrano le fotografie esaminate. Non è una conclusione di conformità e non ha valore di perizia; per un accertamento sul prodotto serve la verifica in laboratorio (L2)."
},
"grado_di_certezza": {
"type": "string",
"description": "Il grado di certezza raggiunto, dichiarato dal perito a parole. Non è un punteggio né una percentuale."
},
"limiti": {
"type": "string",
"description": "Che cosa l'analisi non ha potuto verificare, e perché."
},
"elementi": {
"type": "array",
"description": "Fatti osservati e risultati delle analisi su cui si fonda l'esito, ciascuno con il protocollo che lo ha prodotto.",
"items": {
"type": "object",
"required": ["titolo", "gravita", "protocollo"],
"properties": {
"titolo": { "type": "string" },
"gravita": { "enum": ["alta", "media", "bassa"] },
"protocollo": { "type": "string" }
}
}
}
}
}
},
"allOf": [
{
"$comment": "L1: solo l'esito preliminare, mai una conclusione. L2 e L3: la conclusione, mai l'esito preliminare.",
"if": {
"required": ["referto"],
"properties": {
"referto": {
"required": ["livello"],
"properties": {
"livello": { "const": "L1" }
}
}
}
},
"then": {
"properties": {
"esito": {
"required": ["esito_preliminare"],
"not": { "required": ["conclusione"] }
}
}
},
"else": {
"properties": {
"esito": {
"required": ["conclusione"],
"not": { "required": ["esito_preliminare"] }
}
}
}
}
]
}The demonstration reports on this site conform to the schema: FL-DEMO-L3-9F2A, FL-DEMO-L2-4C71, FL-DEMO-L1-2B08.

Integrity check
A report's fingerprint is the SHA-256 of its JSON file, exactly as issued. Whoever has the file recomputes it with tools they already have and compares the result with the public verification page, for reports in the register (not yet fully active).
The report's JSON file, exactly as issued: the fingerprint is computed on that file, byte for byte, with no conversions and no fields to reorder. If the file is reformatted, even just in its spacing, the fingerprint changes.
With any tool: a line of shell, a library, an offline service. The algorithm is standard and it is not ours.
If the two fingerprints match, the file is the one issued. If the file differs by even a single character, the two fingerprints do not match.
Example · from a terminal
shasum -a 256 referto-FL-DEMO-L3-9F2A.json
6ef9182199227e00a0d0d269542eef6fe624b219f303ffc3f213362e7417e685 referto-FL-DEMO-L3-9F2A.jsonThe draft protocols are open to reasoned comment from experts, law firms, chemists and anti-counterfeiting departments: the laboratory reads every comment and decides what to take into the next version.