Skip to main content

Audit trail

Delphi studies are frequently subject to scrutiny from journal reviewers, institutional review boards (IRBs), replication teams, and internal collaborators. Delphi Studio maintains a tamper-evident system audit trail for governed actions across the study lifecycle, plus a separate study event log for researcher-recorded narrative context. Together they provide structured evidence for transparency and reproducibility; investigators remain responsible for recording material off-platform events and explaining the study's conduct.

System audit log vs study event log

RecordWho writes itPurpose
System audit logPlatform (automatic)Tamper-evident hash chain of invitations, ratings, rule edits, AI runs, exports, unmasks, role changes
Study event logResearch team (manual)Dated narrative of things a reader needs to interpret results: external evidence between rounds, service outages, data incidents, protocol deviations

Both appear in reports and the trace bundle. Do not use the audit log as a substitute for study events — reviewers need the human story as well as the system chronology.

Why it matters

A robust audit trail answers critical questions from different stakeholders:

StakeholderKey question it answersValue
Journal reviewerWere consensus rules pre-specified and consistently applied?Supports methodological transparency and reduces requests for raw data
IRBWho accessed panelist identities and under what circumstances?Demonstrates compliance with privacy and consent requirements
Replication teamCan the final classifications be reproduced from the raw ratings and rules?Enables independent verification of results
Co-investigatorWho changed item wording, consensus thresholds, or dispositions — and why?Maintains internal accountability and team trust

Hash chain

The audit log is implemented as a hash chain. Each entry contains:

  • A namespaced action (e.g., study.consensus_rules.updated)
  • The payload (before/after values, IDs, and relevant metadata)
  • The SHA-256 hash of the previous entry (prevHash)
  • Its own SHA-256 hash

An advisory database lock prevents concurrent writes from creating conflicting chains. Because each entry is cryptographically linked to the one before it, any attempt to alter or delete earlier records would break the chain and be immediately detectable.

This design provides strong protection against tampering while remaining efficient for day-to-day use.

Study audit log with hash-chained events and timestamps
The audit log lists every study event with action names, timestamps, and actor pseudonyms — never raw panelist identities.

What gets logged

Delphi Studio records events across the entire study lifecycle.

Design phase

ActionExample information logged
study.method.updatedChanges to planned number of rounds or Delphi type
study.consensus_rules.updatedBefore-and-after values for thresholds and zones
study.item.revisedLink to parent item and new wording
study.warning_acknowledgedWhich warning was acknowledged and the researcher's rationale

Operations

ActionExample information logged
round.opened / round.closedTimestamps and the set of items included
round.feedback_config.updatedChanges to feedback settings
panelist.invitePseudonym (real identity kept separate)
panelist.consentProtocol hash at time of consent
panelist.withdrawTimestamp of withdrawal
panelist.marked_unavailableReason and actor (incapacity, not disengagement)
panelist.stakeholder_role_updatedPrimary role changes that affect analytic strata

Analysis & AI

ActionExample information logged
rating.submitPseudonym, item, round, and dimension values
disposition.overrideResearcher rationale and previous vs. new disposition
ai_run.created / ai_run.completedProvider, model, purpose, prompt or payload provenance, and state transition
qual_adjudication.decidedWhich gate was decided and by whom

Study event log (researcher-recorded)

Record study events from the study’s integrity / protocol surfaces when something happens that methods or results readers should know about:

KindExamples
External evidence / co-interventionA national guideline published between rounds
Service outagePlatform or email delivery downtime during a round window
Data / confidentiality incidentSuspected disclosure; containment steps taken
Protocol deviationUnplanned change in process that still requires transparent reporting
OtherCatch-all with free-text description

Each event has a title, optional description, occurred-at timestamp, and optional link to a round. Events are append-only for the study record and feed the manuscript report and trace bundle (study_events.csv).

Frozen snapshots

In addition to the audit and study-event records, Delphi Studio captures immutable snapshots at key moments:

SnapshotWhen it is capturedPurpose
Launch snapshotWhen the study is activatedFreezes the complete methodology for the entire study
Consensus rule snapshotEach time a round closesRecords the exact rules used to classify items in that round
Feedback snapshotWhen feedback packets are lockedCreates the immutable view each panelist saw
Protocol versionWith every protocol amendmentTracks section-level changes over time

These snapshots allow researchers and external reviewers to know exactly what rules were in effect at any point in the study.

Trace bundle export

The Trace Bundle (/export/trace-bundle) is a comprehensive reproducibility package that includes:

  • The complete audit log (in JSONL format)
  • Researcher-recorded study events
  • The Launch snapshot
  • Per-round consensus rule snapshots
  • Derived re-analysis versions (when present)
  • A signed reproducibility manifest

A third party can use this bundle, together with the exported ratings CSV, to independently verify the hash chain and re-run the classification logic to confirm that the published dispositions match what the rules and data would produce.

Offline verification

To verify a study externally:

  1. Export the trace bundle and ratings CSV from Delphi Studio.
  2. Verify the hash chain using the provided manifest script or manual SHA-256 checks.
  3. Re-run the classification logic using the analytics engine against the raw ratings and frozen rules.
  4. Compare the resulting dispositions with those reported in the study.

If the rules were not changed after data collection, the results should match.

Identity access

Real panelist identities are stored in an encrypted table separate from ratings and audit events. Authorized identity reveal requires a reason and generates panelist.unmask before identity is returned. Routine analytic and directory views do not include real names or contact details.

IRB closeout package

For IRB closeout or regulatory submission, the following artifacts are recommended:

ArtifactFormatPurpose
Audit logJSONLComplete record of all study events
Consent and protocol versionsIn-app view + exportEvidence of informed consent over time
Panel stateCSVSummary of participation and withdrawals
Methodology snapshotLaunch snapshot (JSON)Frozen rules and settings at study start
Trace bundleSigned archiveComprehensive reproducibility package

Next steps