// portfolio / analystos

AnalystOS

An operating system for the analyst’s core loop. Every figure in a report is a verbatim quote checked against the source, or a calculation the software recomputes itself. The report is sealed, so anyone can re-verify it offline.

800+
Automated tests passing
5
File formats read
2
Quality gates
10
Seal checks

Proven by code, not taken on a model’s word.

A model can propose a figure. Ordinary code then checks it against the source document, and discards anything it cannot prove. The writing step cites facts by index and cannot type a number of its own.

A weak draft lowers the quality of a report. It never lowers the proof behind each figure.

01 · Source

Store it once

Every source is stored by a hash of its content and never changed. CSV, Excel, Word, PowerPoint and PDF are read into typed data.

02 · Prove

Verify every figure

A model proposes facts. Code checks each as a quote, a recomputed calculation, an event or prose, and drops the rest.

03 · Write

Two blind gates

A narrator writes only from verified facts. One gate checks correctness and a separate one proofreads the prose, each blind to the other’s inputs.

04 · Seal

Check it offline

The report ships with a signed bundle. Anyone can re-verify it with a standalone verifier and no access to AnalystOS.

Watch a report get proven.

A 15-second tour of what happens to a document: from upload to a sealed report, and what happens if someone tampers with it afterwards.

Ready

Press play to watch it work.

Example on a synthetic document. The steps and the checks are the real ones. The figure the model proposes and AnalystOS refuses is illustrative.

Read the steps as text
  1. Pick a document: a report, spreadsheet or deck.
  2. AnalystOS checks every number against the source.
  3. You get a report. Every number links back to its source.
  4. The report is sealed. Anyone can check the seal.
  5. Change one number and the seal breaks.
For developers: run a real check against the live service

This sends a sealed sample report to AnalystOS’s real verification service and shows the raw result.

Source document
Loading the sample…
Sealed report: facts
    Run the same check from a terminal
    curl -s -X POST https://analystos.dev/api/v1/verify \
      -H 'Content-Type: application/json' \
      --data @analystos-demo.json

    Download analystos-demo.json, the exact request body used above.

    The sample was signed with a throwaway demo key, not AnalystOS’s production key, and “authentic” means the signature matches the public key this page supplies. In real use you pin the key yourself. A seal proves a report was built from the sealed facts. It does not prove those facts are the important ones.

    Callable by software, not just by people.

    AnalystOS has an agent-callable API with an OpenAPI 3.1 description, a stateless endpoint that verifies any seal bundle with no account, and an index written for AI agents.

    Early stage. Not for confidential documents yet.

    Built
    Evidence store, readers for five formats, fact verification, quality gates, HTML and PDF reports, sealed reports, agent-callable API
    Not built
    Analyst workspace, multi-tenant accounts, per-user access, policy engine, SOC 2
    Limits
    Every figure is proven. Only some relationships between figures are checked. Sealing proves a report was built from the sealed facts, not that they are the important ones.
    As of
    2026-09-29, from the project’s own tests and documents