Method

Seven principles, one locked protocol

TORNEO is operated by Tempo AI LLC, which is responsible for every figure published here. Competing tools run on the same real task, and we publish what we observed: the estimate, its uncertainty, the cost, the limits. The rules below are policy, written by people. Everything on a result page that looks like a result, a number, a rank, a status, a date, comes from the run bundle. None of it is written by hand.

1 The protocol is locked before the first call

Each category has a written analysis plan and a protocol lock: objective, primary metric, secondary metrics (full cost, latency, incidents), eligible population, assignment rule, budget per tool, time window, exclusions, stopping rules. Its hash is committed before the first call, and the verification command proves the lock came before every recorded event.

2 Same task, same budget, same care

All tools run on the same frozen dataset, or on disjoint, matched, randomly assigned blocks when the task consumes its data, with the same budget, the same window and the same operator care. A tool without a machine interface is recorded as such rather than silently excluded.

3 Uncertainty is part of the result

Every estimate carries an interval. When the precision is insufficient, the status says so and no rank is published. A rank requires replication on at least two blocks or windows; a single block is published as locally valid only, never as evidence for the category.

4 Everything is reproducible

A run is a bundle: protocol, event log, scoring code, costs, conflicts, hashes. One command recomputes the published result from the published, pseudonymized data, with no explanation needed from us. Raw events that could identify a person never enter the public bundle. Where a run publishes an audit sample, the record, the draft and the verdict are shown side by side, names masked.

5 Operated by Tempo AI LLC, conflicts on the table

No vendor money enters a public comparison, and funding is disclosed per run. Any product tied to the operator is excluded from rankings and marked as such in the conflict register. Terms of service are read before each category; a tool whose terms restrict measurement is recorded as blocked and reported as market state, never worked around.

6 Legal preflight is part of the method

Before any category runs, we read the terms of every candidate vendor from a downloaded, hashed, dated archive, and a written preflight records two verdicts per vendor: may we run the test, and may we publish it. The verdicts are published with their evidence on each category's market page (for example the sdr-agents market state), with the recorded reason when a vendor is not tested. Vendors named anywhere get a public right of reply, verbatim and dated, on a separate page.

7 One canonical result, three projections

The JSON bundle is the source of truth. The command line, the MCP server and this site are projections of the same file, and a contract test verifies that they answer identically. The rule on every surface: no tool is declared ahead of the others. We report what we observed for this task, this population, at this date, with interval, cost, conflicts and limits.

Information notice on the processing of prospect data

Data-protection packet, version 1.0, . Values below are the packet's own words, unedited.

Controller
devlo LLC
Role
Responsable de traitement pour tous les runs GLADIATOR phase 1; responsable indépendant pour les données obtenues via les outils d'enrichissement (cf. clause Hunter §11) ou conjoint selon le DPA de l'outil (cf. Snov.io JCA)
Data protection contact
emea@devlo.ch
Applicable law
nLPD (Suisse); RGPD (UE) pour les personnes concernées dans l'UE

emailfind

Personal data
Nom, prénom, entreprise, email professionnel trouvé, statut de vérification
Data subjects
Contacts B2B du jeu gelé L3
Legal basis
Intérêt légitime (art. 6(1)(f) RGPD / art. 31 al. 2 nLPD): mesurer si un outil retrouve l'adresse professionnelle que l'employeur publie déjà sur son propre site, sans aucune prise de contact, données minimisées (prénom, nom, domaine employeur versés; rien d'autre), bundle public sans aucune donnée personnelle. Test de mise en balance: legal/balancing_test_emailfind.md. Corrigé le 2026-09-04 (OPS-111): ce champ affirmait auparavant un test « documenté dans le coffre d'audit avant le gel du jeu »; ce test n'existait pas, et celui qui existe désormais est postérieur au gel, au run et à la publication, ce qu'il dit lui-même en tête.
Information
Pas de notification individuelle pour le run interne N1 (dérogation art. 14(5)(b) RGPD, effort disproportionné, aucune décision ni contact concernant la personne); mention publique du dispositif sur la page méthode du site dès publication
No contact
Aucune adresse trouvée n'est jamais contactée dans un run emailfind. Vérifiable par construction: aucun adaptateur d'envoi n'est câblé dans la catégorie.
Recipients (processors)
Dropcontact (prénom, nom, domaine de l'employeur; rien d'autre); Lusha (prénom, nom, domaine de l'employeur; rien d'autre)

sdr-agents

Personal data
Fiches de prospects B2B: nom, prénom, titre, employeur, localisation, année d'entrée en poste, plus des faits publics de l'employeur (offre, événement public); atomes A01-A12 de SDR-011
Data subjects
Contacts professionnels dont l'identité et le rôle sont publiés par leur propre employeur sur son site public (même population que emailfind)
Legal basis
Intérêt légitime (art. 6(1)(f) RGPD / art. 31 al. 2 nLPD): évaluation technique d'outils SDR sur données professionnelles publiées par l'employeur, sans aucune prise de contact (phase A sans envoi, vérifiable par construction: l'appel d'approbation n'est jamais câblé, SDR-008), pseudonymisation en sortie de bundle, minimisation aux atomes de la fiche; test de mise en balance rédigé et daté dans legal/balancing_test_sdr-agents.md
Information
Pas de notification individuelle (art. 14(5)(b) RGPD: aucun contact, aucune décision concernant la personne, effort disproportionné); dispositif décrit publiquement sur la page méthode du site
No send
Aucun draft n'est envoyé, aucun prospect n'est contacté en phase A; l'adaptateur ne câble jamais l'action d'envoi (case A20)
Recipients (processors)
Gojiberry (atomes de la fiche gelée nécessaires à la production du draft); FuseAI (atomes de la fiche gelée nécessaires à la production du draft); Google (Gemini, juge secondaire) (propositions UNSUPPORTED_CANDIDATE + atomes de la fiche)

transcription

Personal data
Voix et propos des locuteurs du corpus
Data subjects
Membres de l'équipe devlo uniquement (ou corpus sous licence ouverte sans tiers identifiable)
Legal basis
Consentement écrit de chaque locuteur devlo, recueilli AVANT le gel du corpus, archivé dans le coffre d'audit; pour un corpus ouvert: licence archivée
Information
Chaque locuteur reçoit la liste des outils destinataires de son audio et la mention de la licence ML de Speechmatics sur les transcripts avant de consentir

Minimization, retention, deletion

  • Seuls les champs nécessaires à l'estimand entrent dans un outil
  • Aucun email, nom ou domaine en clair dans un artefact public: pseudonymes contact_XXXX / company_XXXX
  • Table de correspondance uniquement dans le coffre d'audit à accès contrôlé (AUDIT_VAULT_INDEX.json)
  • Les DPA de chaque outil sont acceptés à l'ouverture du compte et archivés dans legal/<outil>/
Raw events (vault)
24 months
Pseudonymized bundles
Indéfinie (reproductibilité publique)
Correspondence table
24 months
Data in trial accounts
Purge des listes importées dans chaque outil à la fin de l'essai ou du run, preuve de purge journalisée
Suppression list
Liste commune à tous les bras et tous les outils: opt-out, clients existants, concurrents, domaines protégés, demandes d'opposition (propagation 24 h)
Deletion request
Demande d'une personne concernée, d'un client, ou fin de rétention; answered within 30 days
  1. 1. Ajouter l'identifiant à la liste de suppression commune (propagation 24 h, tous outils, tous bras)
  2. 2. Supprimer la ligne de la table de correspondance du coffre; le pseudonyme devient orphelin, le bundle public reste valide
  3. 3. Demander la suppression dans chaque outil tiers ayant reçu la donnée (API de suppression ou support, reçu archivé)
  4. 4. Consigner l'opération (date, périmètre, opérateur) dans le coffre d'audit

What a result cannot tell you

Every result expires, is bound to its population and can decline to conclude. The global list, then the limits each current bundle declares: Limits. The machine surfaces, MCP server, canonical JSON and llms.txt: For agents. What a validator attests about the conduct of an event, and what a signature does not cover: Panel.