Documentation
Everything VialTome does, and — where it matters — why it behaves the way it does. The same material is built into the application under Help, so it is available offline.
Installation
VialTome ships as a Windows installer, a Windows MSI, a Debian package and a Linux portable archive. Full step-by-step instructions, checksums and system requirements are on the download page.
On Windows the installer is per-user and needs no administrator rights. It registers a Start Menu entry,
an optional desktop shortcut, an uninstall entry, and file associations for .vialtome
project bundles and .vtbackup backup archives.
Where your data lives
On Windows: %APPDATA%\\VialTome. On Linux: ~/.config/VialTome. Inside it you
will find Database, Attachments, Backups, Exports
and Logs. Uninstalling VialTome never touches any of it.
First launch
The first run asks for three things: your name (used as the author on notes, revisions and audit entries), which mode to start in, and an acknowledgement of the research-use statement. It then offers four ways to begin.
If you would rather see VialTome working before committing to your own data, choose Explore the demonstration project. It creates a complete fictional three-arm study with eight subjects, nine protocols including a titration and a cycled arm, inventory with lots, measurements, laboratory results, a safety event, a protocol deviation, logbooks, notes and a saved calculation. Everything in it is invented; you can delete it at any time.
Simple and Advanced Mode
Simple Mode is the default. It reduces the interface to projects, subjects, protocols, timelines, calendar, inventory, documents, logbooks, reports, Knowledge and the calculator.
Advanced Mode adds:
- Groups, group comparison and the assignment tools
- Measurements, laboratory results and reference-interval charts
- Safety events and protocol deviations
- The audit viewer and the data-quality review
- Template design, custom report sections and advanced export options
- Inventory lots, movement history and forecasting
- Protocol overlap analysis
Switching modes changes only how much of the interface is shown. It never deletes, hides or alters a record — every field you filled in while in Advanced Mode is still there when you return. Ctrl Shift M toggles it.
Creating a project
A project is the container for everything else. Only a name is required. The rest — identifier, purpose, research question, hypothesis, study design, methodology, inclusion and exclusion criteria — can be filled in as the work develops.
The purpose field appears at the top of every project report. It is worth writing properly: it is what makes a report legible to someone reading it months later.
Advanced Mode adds governance fields: ethics or IRB identifier, approval and expiry dates, study registration, sponsor and consent status. These record information. Filling them in does not make a study compliant with any standard, and VialTome makes no such claim.
Adding subjects
Subjects can be human participants, animals, cell cultures, specimens, samples or in-silico subjects.
Only a research identifier is required, and VialTome generates the next free one from a format you
choose (SUB-000 becomes SUB-001, SUB-002 and so on).
Four identities, stored separately
| Identity | Purpose |
|---|---|
| Research identifier | Always present. The least identifying way to refer to a record. |
| Real / legal name | Optional. Never shown when an alias or blinded identity is selected. |
| Alias | A generated pseudonym. Five naming styles; regenerate as often as you like before saving. |
| Blinded identifier | Used by blinded reports and exports. |
You choose independently which identity the interface shows and which one exports default to. Changing either writes a critical audit entry, so a change of blinding state is never lost among routine edits.
Substances and classification
Substances sit under three optional levels — structural type, subclass, and mechanism or target. Only the substance itself is required; the levels above it are filters, not obligations.
How the filtering behaves
- Choose a structural type and only compatible subclasses, mechanisms and substances remain.
- Choose a subclass and, if it belongs under exactly one structural type, that type is filled in.
- Choose a mechanism and, if it points to exactly one type or subclass, those are filled in.
- Choose a substance and every level it determines uniquely is filled in, with any additional mechanisms shown as secondary tags.
Ambiguity is stated, not guessed
Biology does not fit a strict tree. Where a mapping is genuinely ambiguous — testosterone is both a steroid and a hormone; a monoclonal antibody sits under three structural types — VialTome leaves the field unset and tells you why, rather than inventing a classification to make the form look complete. You can always override anything it filled in, and the change is recorded.
The catalogue ships with 97 substances across peptides, proteins, steroids, small molecules, biologics, antibodies, nucleic acids, vitamins, minerals, lipids, botanicals and more. You can add your own at any point, with aliases, identifiers, sequences, targets and notes.
Named blends
The library covers the peptide blends sold under trade names — GLOW, KLOW, Wolverine and the growth-hormone-axis combinations — because researchers encounter them and a reference that omits them is less useful than one that covers them honestly.
They are covered honestly by being covered as what they are. Every source that exists for these products is a vendor listing, so every blend page carries an explicit statement that no trial of the blend was located, records the composition as vendor-stated and varying between suppliers, and links to the component monographs where the actual evidence lives at whatever tier it earned. No blend page carries a published exposure, because there is no published study to take one from, and no vendor is named or linked anywhere in VialTome.
Creating a protocol
A protocol records what a specific subject is intended to receive: substance, amount, route, schedule and any titration or cycling. The editor walks through five steps — subject, substance, dose and schedule, details, review — and previews the resulting timeline as you type.
Schedules
Once, daily, several times per day, every N hours, every N days, specific weekdays, weekly, every N weeks, monthly, an explicit list of dates, event-based, or continuous exposure. Administration times are explicit, and calendar arithmetic is performed on local civil dates — a protocol that runs "every 3 days at 08:00" keeps landing on 08:00 across a daylight-saving transition rather than drifting by an hour.
Presentation and reconstitution
Optionally record the physical product: container type, count, content, volume, unit strength, manufacturer, lot, expiry, received and opened dates, and the syringe graduation. For lyophilised material you can record the dry amount, the diluent and its volume; VialTome computes the resulting concentration from what you entered. The beyond-use date is entered, never derived.
Planned and actual are different things
The protocol describes intent. Recorded events describe what happened. VialTome never overwrites one with the other — which is exactly what makes planned-versus-actual reporting mean anything.
Titration
Three designs are available.
| Design | What it does |
|---|---|
| Fixed | One amount throughout. |
| Staircase | Start at an amount, change by a fixed quantity or a percentage every N days, stop at a target, hold for a period (or indefinitely), and optionally taper back down. |
| Step table | Write out each phase explicitly with its own amount, unit and duration. The final phase can be open-ended. |
The engine never overshoots the target: the last increase is clamped to it. Each phase carries a label that appears on the timeline, in the dose chart and in reports.
Cycles and interruptions
A cycle is a repeating on/off pattern with an optional washout after the final cycle. Set the on days, the off days, the number of repeats (or leave it blank to repeat until the protocol ends) and the washout length.
By default a titration pauses during off periods and resumes where it left off, because that is usually what a researcher means. A setting makes it keep advancing instead.
A recorded interruption is different again: it describes something that actually happened. It suppresses planned events for that period and appears on the timeline as a distinct band, without altering the protocol's stated intent.
Revisions and history
Editing a saved protocol writes a new version with an effective date, an author and a reason. Earlier versions are preserved exactly as they were.
This matters most at reporting time. A report covering January to March is rebuilt from the version that was in effect during January to March — not from today's. Revise a protocol three times and last quarter's report still reads correctly.
Any two versions can be compared side by side, with changed fields highlighted and the recorded reason shown beneath.
Timelines and charts
The timeline shows protocol bands across time, with markers where a protocol was revised. Off periods, washouts and pauses each carry a distinct hatch pattern as well as a distinct colour, so the distinction survives greyscale printing and colour-vision differences.
- Dose staircase — a step chart of planned amount, with off periods shaded behind it
- Calendar — planned events, recorded events, inventory expiry and project milestones
- Heatmap — a year of recording activity at a glance
- Matrices — subjects × substances, groups × substances
- Planned versus actual — two bands, never merged
- Measurement charts — with laboratory reference intervals and protocol periods shaded behind
Any timeline exports as a PNG or copies as an SVG with theme colours resolved, so it renders correctly outside the application.
Adjacency is not causation
Showing a measurement alongside a protocol period tells you when things happened. VialTome says so explicitly on the chart, and never asserts that one caused the other.
Measurements and laboratory results
Define the measures your project uses — weight, heart rate, a symptom score, an animal measurement, a culture readout, anything — then record values against subjects over time. Sixteen common definitions ship by default.
Laboratory results are recorded with the panel, analyte, unit and the reference interval supplied with the result. Charts shade that interval, and out-of-interval values are flagged as above or below — a statement about the interval, not a diagnosis.
Both accept CSV import with a mapping wizard, a preview and full validation. The import runs in a single transaction: if any row fails, nothing is written and every problem is listed.
Inventory
Stock is accounted for in individual units, with packages as a convenience layer on top. Three packs of ten plus four loose is thirty-four units, and cost per unit follows from cost per package.
- Movements — receipt, consumption, adjustment, opening, reconstitution, discard and expiry, each with a reason
- Lots — code, quantity, received, opened and expiry dates, with status
- Alerts — at or below reorder level, and lots expiring within 60 days
- Forecasting — projected use per day, days of supply, run-out date and 90-day cost, computed from your own protocols
- Labels — printable, with a code that encodes a VialTome-local identifier only
Nothing changes silently. Every movement writes a transaction, and the movement history is exportable.
The calculator
The calculator answers exactly one question: given the values you entered, what does this target correspond to? It uses decimal arithmetic rather than floating point, and shows every step under Show the maths.
A worked example
A vial containing 1 mg, reconstituted into 10 mL, gives 1000 mcg ÷ 10 mL = 100 mcg per mL. A 100 mcg target is therefore 1 mL, which on a confirmed U-100 barrel is 100 marked units. That exact case is covered by the automated test suite, precisely because factor-of-ten errors in this arithmetic are the ones that matter.
A syringe "unit" is not a universal measure
A U-100 barrel carries 100 marks per millilitre. A U-40 veterinary barrel carries 40. A U-500 barrel carries 500. A tuberculin barrel carries none at all. VialTome will not translate a volume into marked units until you state which barrel you are using — until then it reports physical volume and stops there, and says why.
What it covers
- Reconstituted vials, liquid vials, pre-filled devices and known concentrations
- Tablets, capsules, sprays, drops, patches and sachets
- Doses per container, container duration, waste and residual after N preparations
- Multi-component blends, where one draw volume fixes every component at once
- Whole-protocol requirement: total material, containers needed, surplus and projected cost
Any result attaches to a project, subject or protocol along with its full arithmetic trace, so a reviewer can audit it later.
What it will not do
It will never choose an amount, suggest one, or assess whether one is appropriate for any subject. That judgement is yours.
The Knowledge library
Knowledge is a reference library, not a recommendation engine. Every claim belongs to exactly one evidence tier, and the tiers are never combined in a single list.
| Tier | What it means |
|---|---|
| ◆ Study-Reported | Recorded in peer-reviewed literature, registered research or regulatory documentation, with the study model stated — because a finding in a rodent is not a finding in a person. |
| ▲ Theorized / Mechanistic | Inference from receptor biology, pathways or structural class. An argument, not an observation — and one that has repeatedly failed to predict measured outcomes. |
| ● Grey Market & Community | Uncontrolled self-reports, forum accounts and vendor literature. Recorded because it describes what is being done, not because it establishes that anything works. |
Search
By substance name, alias, brand name, research code, mechanism, molecular target, structural class, blend, stack, protocol or condition — with fuzzy matching across all of it.
What a monograph contains
- Identification, aliases, identifiers and an at-a-glance panel
- Overview, mechanism of action and pharmacology
- Claims grouped strictly by tier, each with a study model, a confidence and a citation
- Published exposures with population, route, amount, frequency and duration
- Contraindications, interactions, regulatory status and anti-doping status with the date checked
- Handling, storage, stability and reconstitution notes as reported in sources
- Explicitly stated evidence gaps
Adding a substance to your project
The Add to a project button transfers the substance identity and its classification. It never copies a published or community-reported amount into your project — the protocol editor opens empty and you enter what your own protocol specifies. The Knowledge reference is recorded alongside it.
The library is a versioned pack, independent of the application binary. Every page shows the pack version, when it was updated and when its sources were reviewed. You can add your own notes to any article; they are stored as User Knowledge and are clearly distinguished from the curated content, which is never modified.
Reports
Choose a scope (whole project, selected groups, selected subjects, or inventory), a date range, and a template. The preview rebuilds as you change anything.
A report is assembled once as a structured document and then rendered to the preview, the print job, the PDF, the Word file and the spreadsheet exports. There is no second implementation to drift, so what is on screen is what comes out.
Saved snapshots
Saving a report stores the rendered document, not just the filters. A saved report for a past quarter stays accurate even after the protocols it describes have been revised. Saved reports are listed against the project and can be reopened, printed or exported at any time.
Templates
Eleven templates ship built in:
- Research Technical Report — the comprehensive record
- Subject Protocol Summary — condensed, researcher-facing
- Subject-Friendly Instruction Sheet — the entered protocol restated in plain language, adding nothing
- Blind Trial Subject Sheet — blinded identifiers throughout
- Group Comparison Report
- Project Overview
- Protocol Timeline Report
- Inventory Report
- Research Log Report
- Minimal Protocol Card
- Full Research Binder — everything, assembled as one printable package
The template designer lets you choose sections and their order, identity and blinding handling, page setup, and branding — organisation name, logo, accent colour, header, footer, contact details, confidentiality notice and disclaimer text.
Applying a template never alters it: building a report copies the configuration. Editing a template never changes a report you already saved.
Printing
Print preview shows the paginated document exactly as it will print. Orientation, paper size (Letter, A4, Legal, A3), margins and scale are all adjustable, and a greyscale-friendly mode strengthens contrast and removes any reliance on colour alone.
Tables repeat their header across pages, rows do not split, and section page breaks are honoured. Individual sections can be included or excluded, so you can print one component or a full binder as a single job.
Exports
| Format | Produced by | Notes |
|---|---|---|
| Chromium itself | Charts, tables and page breaks exactly as previewed. | |
| DOCX | Office Open XML | Opens directly in Word, LibreOffice and Google Docs. |
| XLSX | Office Open XML | Every table becomes a sheet with filters. Opens in Google Sheets. |
| CSV | UTF-8 with BOM | Opens correctly in Excel, including accented characters. |
| HTML | Self-contained | Styles inlined; nothing external to fetch. |
| JSON | Structured | The full report document for downstream processing. |
| PNG / SVG | Charts and timelines | Theme colours resolved so they render anywhere. |
Google Docs and Sheets
VialTome deliberately does not write a placeholder .gdoc file — such a file contains no
document, only a pointer. The DOCX and XLSX files it writes are standard Office Open XML and open
directly in Google Docs and Google Sheets. Uploading into a Google account would require credentials
VialTome does not ask for and does not store.
Blinding
Every protocol can carry a blinded display name alongside the true substance, and every group can carry a blinded label. Each report template chooses independently whether to show true names, blinded names, or no substance identity at all — and which subject identity to use.
The choice applies to the interface, exports and printouts separately, so you can work with true names on screen while every document that leaves is blinded. Changing a subject's identity mode or a protocol's blinding writes a critical audit entry; the audit trail is append-only.
Backups
VialTome backs up automatically each time it starts, keeping a rotating set whose size you choose. A
backup is a single .vtbackup file: a manifest plus the complete database, with a SHA-256
checksum.
A restore verifies the checksum before touching your live data, and takes a safety copy of the current database first — so a restore is reversible. If an archive is truncated or altered, it is refused rather than restored.
Project bundles
A .vialtome bundle carries one project and everything attached to it, with optional
de-identification. Import always allocates fresh identifiers, so a bundle can be imported repeatedly —
including alongside the project it came from — without collisions.
Privacy
Everything is stored on your computer. There is no account, no cloud service, no sync, no telemetry and no analytics. Nothing leaves the machine unless you export a file or follow a web link yourself.
The one network request VialTome can make is the update check, and only when you press Check for updates in Settings or About. It reads a single published file from this site, sends no identifier and does not report the version you are running — the comparison happens on your machine. There is no startup check, no timer and no setting that enables one. If you never press it, VialTome never opens a connection.
When an update exists it can download the installer for you and verify it against the SHA-256 published beside it, which catches a corrupted or interrupted download. That checksum comes from the same site as the file, so it is not a signature and does not prove the site itself is untampered — the application says so where it shows the result. VialTome never runs an installer for you.
- Diagnostic logs record operation names and errors — never record content
- The de-identification panel previews exactly what will leave before it does
- Attachments are confined to VialTome's own store; path traversal is rejected
- Researcher-authored rich text is sanitised before it reaches a report or a PDF
- Ad-hoc queries are restricted to a single SELECT, and every value is parameterised
- Ctrl Shift P hides everything instantly; it can also engage on a timer
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Ctrl K | Command palette and global search |
| Ctrl Shift A | Quick add |
| Ctrl Shift M | Switch Simple / Advanced Mode |
| Ctrl Shift P | Privacy screen |
| Ctrl N | New project |
| Ctrl P | Print / print preview |
| Ctrl 1–5 | Home, Projects, Knowledge, Calculator, Inventory |
| F1 | Help |
| Esc | Close a dialog |
Troubleshooting
Windows SmartScreen warns about the publisher
The installer is not code-signed — a signing certificate is a recurring commercial cost, and VialTome is free. Verify the SHA-256 checksum from the download page, then choose More info → Run anyway if you are satisfied.
The Linux portable archive complains about the sandbox
Either make the sandbox helper setuid — sudo chown root:root chrome-sandbox && sudo chmod 4755 chrome-sandbox
— or start it with ./vialtome --no-sandbox. The .deb handles this for you
automatically.
A document shows as changed or missing
VialTome records a SHA-256 checksum when a document is attached, and the Documents page can verify every one of them. A linked file lives wherever you left it, so moving or editing it is reported. A copied file lives inside VialTome's attachment store and should not change.
Something went wrong and you want to report it
Open Settings → Diagnostics and choose Copy. The copied text contains version numbers, paths and record counts — never project, subject or protocol content. The log folder is one click away in the same place.
You want to start over
Every record can be archived rather than deleted, and archived records stay searchable. If you genuinely want to start again, take a backup first, then delete the database file — VialTome recreates and reseeds it on the next launch.