Question to claim, nothing quietly skipped

StudyVahti Vault

A local Obsidian workspace for observational studies. Keep the question, variables, estimand, plan, decisions, outputs, claims, and audit trail on your own computer.

Get StudyVahti Vault - EUR 49 ONE PAYMENT / LOCAL FILES
StudyVahti Vault showing a dark study tree, Start Here note, 16-check report, a human-edited exclusion decision, and a claim linked to its current output
THE FABRICATED DEMO SHOWS THE TRAIL FROM QUESTION TO CLAIM · SWIPE TO INSPECT

Follow one estimate all the way through

The vault is organized by study stage. Each number in the draft should still have a route back through the output, decision, plan, variable, and question that produced it.

01-02

Define the question and variables

Pin the population, exposure, outcome, time horizon, roles, definitions, and allowed values.

03-04

Point to the data and name the estimand

Keep row-level data outside the vault. Record its fingerprint, then declare the quantity, model, and adjustment set.

05-07

Record choices and challenge them

Log decisions and deviations, then test the interpretation under plausible alternative assumptions.

08-09

Link outputs to claims

Build tables and figures from the declared analysis. Keep manuscript wording linked to current outputs.

10-11

Read the trail

Run 16 deterministic checks, inspect every flag, and export the reporting and provenance record.

A useful check can say “not checkable”

StudyVahti does not turn missing documentation into a green tick. Each check returns ok, flag, or not checkable.

A flag points to a concrete mismatch. Not checkable means the notes needed to judge it do not exist yet. Neither status decides whether the science is good.

The demo study reaches 16 ok after the question, dictionary, estimand, plan, decisions, data fingerprint, outputs, and claims have been reconciled.

OK

Question alignmentExposure and outcome match the dictionary roles.

OK

Estimand firstAn estimand is on record for the locked plan.

OK

DAG adjustmentConfounders are included; no mediator or collider is adjusted for.

OK

Claim to resultEvery claim points to a current output with a matching number.

No score for “valid”The checks assess consistency and traceability. They do not certify causal identification, statistical adequacy, or scientific truth.

The decision remains human

The demo does not hide model involvement. It records what was suggested, what changed, and who made the consequential choice.

The local assistant proposed dropping every record with any missing field. The researcher rejected that broad rule, excluded 19 records with unknown stage for a stated reason, and handled pack-years through a planned imputation analysis.

SOURCE / AI SUGGESTEDDrop all incomplete records

Too broad for the declared estimand and missing-data plan.

DISPOSITION / EDITEDExclude unknown stage only

Stage was a prespecified confounder and could not be credibly imputed from available fields.

ALTERNATIVE / RETAINEDImpute pack-years

The deviation and sensitivity analysis remain linked to the final claim.

What the scripts can do. What stays yours.

Scripts and models can

Check the study record

Compare question, dictionary, plan, decisions, outputs, and claims.

Fit declared common models

Risk ratio, odds ratio, hazard ratio, or mean difference from your plan.

Draw study figures

Participant flow, missingness maps, DAGs, tables, and sensitivity forests.

Draft from your notes

Methods, results, STROBE gaps, and sensitivity-analysis suggestions for review.

You remain responsible for

The estimand and design

The software cannot decide which scientific question matters or whether the design identifies it.

Variable and model choices

Definitions, measurement validity, confounding assumptions, and statistical adequacy remain research judgments.

Consequential deviations

You approve exclusions, transformations, imputation choices, and departures from the plan.

The claim

You decide what the result means, how uncertainty is stated, and what belongs in the paper.

Inside the vault

The folders arrive in working order: structure, scripts, and a complete fabricated study.

00_Start_Here/

Study dashboards, demo tour, script guides, glossary, and explicit limits.

01_Protocol/ - 07_Sensitivity_Analyses/

The path from research question and variable dictionary through estimand, plan, decisions, deviations, and sensitivity analyses.

08_Outputs/ - 11_Exports/

Output records, linked claims, STROBE coverage, methods and results scaffolds, check report, audit trail, and exports.

_templates/

Question, protocol, variable, data pointer, estimand, DAG, plan, decision, deviation, sensitivity, claim, reporting, and memo templates.

_scripts/

Readable Python and R scripts plus local-model prompts. The scripts are also licensed under Apache-2.0.

quickstart.pdf

A visual first-hour guide to the workflow, three-way checks, setup, and product boundaries.

A complete fabricated cohort ships inside.It moves from performance status and one-year mortality to a declared estimand, reconciled cohort, sensitivity analyses, linked manuscript claims, and a 16-check report. No real patient data is included.

What you need

Mac, Windows, or Linux. Obsidian is enough for the study record. Python 3 and R run the checks, analysis, and figures. Ollama or Claude Code is optional.

After setup, the included workflow can run without an internet connection. No StudyVahti account is required.

LevelSoftware
DocumentObsidian
Check and calculatePython 3 and R
Local assistantOllama and a local model
Data locationOutside the vault; pointer and SHA-256 fingerprint only

Technical details

The exact formats, scripts, and dependencies, for the researcher, the IT review, or the AI agent evaluating the vault.

format

An Obsidian vault of plain Markdown files. Row-level data never enters it: the Data Room holds a path and a SHA-256 fingerprint. Any text editor opens the record.

delivery

Zip download through Polar checkout. Version 1.1, 176 files. One personal licence; 1.x updates included.

checks

16 deterministic checks, each returning ok, flag, or not checkable: question alignment, estimand-first, lock integrity, DAG adjustment, cohort reconciliation, data fingerprint, claim-to-output, causal language, and more. _scripts/DEFENSIBILITY.md in the box documents every check and the roadmap.

scripts

9 Python and 7 R scripts plus the studyvahti.py command-line entry point for locking and checking. fit_model.R fits the declared risk ratio, odds ratio, hazard ratio, or mean difference with sensitivity variants, including multiple imputation pooled by Rubin's rules. Script runs append to a hash-chained audit trail you can check.

dependencies

Python: requests and auditlite, nothing else. R: dplyr, tidyr, readr, ggplot2. The optional local assistant talks to Ollama on localhost.

prompts

5 local-model prompt files, editable Markdown: draft methods from vault notes, check dictionary against plan, propose sensitivity analyses, STROBE gap check, second-opinion chat.

agent-ready

The vault ships a Claude Code skill (.claude/skills/studyvahti/): a buyer's AI agent reads it and works inside the vault under the same rules, drafting from notes and running checks while the consequential decisions stay recorded as yours.

Where StudyVahti stops

It does not validate the design.

Consistency is not causal identification, measurement validity, or freedom from bias.

It does not replace a statistician.

The included engine covers common models. Complex designs and consequential analyses still need appropriate expertise.

Local does not mean risk-free.

Your ethics approval, data-management plan, paths, backups, and operating-system sync settings still govern the work.

It does not guarantee correctness or publication.

The workspace makes the path inspectable. It does not make the scientific claim for you.

The method is free to read

The vault runs on working habits these free guides teach: dictionary first, clean data, a changelog, citable code. Read them before you decide.

Keep the estimate close to the decisions that made it.

One personal licence, the complete local vault, and all 1.x updates. Built by Heidi Andersén, MD, PhD.

Get StudyVahti Vault - EUR 49

Questions

Does research data enter the vault?

No row-level data is needed in the vault. The Data Room records the dataset path, metadata, and SHA-256 fingerprint. You remain responsible for where that path points, operating-system services, backups, and access controls.

Do I need to know R or Python?

You can use the study record and templates in Obsidian without coding. Python and R are needed for the deterministic checks, included analysis engine, and figures. The setup guide uses copyable commands, but the vault does not replace statistical understanding.

Is this a replacement for Stata, SAS, or my statistics team?

No. It is the workspace that keeps the question, analysis decisions, outputs, and claims coherent and traceable. You can use its included common models or link outputs from another analysis environment.

How is this different from QualiVahti Local?

QualiVahti Local is for qualitative interview studies. StudyVahti Vault is for quantitative observational studies, where the unit of work is the variable, estimand, analytic decision, output, and claim.

Can a lab or doctoral school use it?

The EUR 49 licence is personal. Lab, teaching, and doctoral-school licences are available from hello@vahtian.com.

Next steps: write the paper with the Manuscript Kit, and record what AI you used with the AI Disclosure Kit.