Protocol register, drafts in development

How we work

A method you can read beforehand and check afterwards

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.

What a report says

Conforming
On the points examined, the sample matches the reference samples, with the degree of certainty the report states. The report also says at which level the analysis stopped: to find out more, for example about the composition, the next level can be requested.
Non-conforming
The sample shows differences from the reference samples, which the report describes and documents. Whoever requested the analysis can pass the report to their lawyer or to the competent authority, whose task it is to assess responsibility; if a health risk comes to light, we explain how to report it to the authorities.
Inconclusive
The findings are not enough to call the sample conforming or non-conforming, and the report explains why. The expert indicates whether a further level of analysis could clarify the case: work proceeds only with the agreement of whoever requested the analysis.

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

What you can check, and how

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

The method is written down; texts on request

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 schema is public

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

The fingerprint can be recomputed

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

Revisions will be tracked

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

The protocols, still in draft

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

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.

draft · in development

FL-P/02

Comparative physical examination

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.

draft · in development

FL-P/03

Gas-chromatography analysis of the fragrance

Chromatographic conditions, sample preparation, peak identification criteria, and the rules for comparing the profile under examination with the reference profile at level L3.

draft · in development

FL-P/04

Chain of custody

Sealing, numbering, the handling register, and storage requirements for the exhibit from the moment of intake to its return or destruction.

draft · in development

FL-P/05

Damage quantification

A method for estimating economic damage from counterfeiting, by reference and by channel.

draft · in development

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

The report is a machine-readable document

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 version1.4
FormatJSON Schema 2020-12
LicenceCC BY 4.0
FingerprintSHA-256 of the JSON file, byte for byte
{
  "$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.

Documenti tecnici color avorio impilati su fondo blu notte, con riga metallica e fermaglio d'ottone.
Illustrative image

Integrity check

Three steps, with standard tools

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).

  1. 01

    Take the report file

    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.

  2. 02

    Compute the SHA-256

    With any tool: a line of shell, a library, an offline service. The algorithm is standard and it is not ours.

  3. 03

    Compare against the public page

    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.json

Download the example file (JSON)FL-DEMO-L3-9F2A

Do you have objections to the method? They are welcome.

The 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.