Your startup runs on unproven assumptions. Find out which ones are true before they cost you.

Capture the beliefs behind your plan. Weigh the real evidence for each one. Decide with receipts. Work in the app, or let Claude and Cursor keep the ledger from your meeting transcripts.

No card needed. AI agents connect on every plan.

The Assumption Mapper dashboard: 44 open assumptions, peak risk 5.0 of 5.0, a ranked list of top risks with risk and confidence scores, and a category-by-domain coverage cross-tab.

What we can prove today

13
MCP tools
From ingest_transcript to decide_assumption.
6
Levels of evidence
What customers did counts far more than what they said.
0–100
Confidence, computed
Moves only when real evidence lands.
0
Scores an agent can write
Every score comes from the database, not the model.

Works with Claude Code, Claude Desktop, and Cursor. Free plan included.

The loop

Capture, weigh, confront, decide

Four moves, run continuously. Your agent can drive all of them, or you can work the queue by hand. Same ledger, same scoring.

01Capture

It enters the ledger while it is still a belief

A transcript pasted into the app, a claim typed straight into the queue, or your agent handing over the meeting it just sat through. Each one arrives as a triage item with a category, a domain, and an importance. Not a bullet in a doc nobody reopens. Triage is keyboard-driven: j/k to move, 1–5 to set priority, e to log evidence, . to decide.

The triage queue: assumptions sorted by risk, each with a risk score and a P1–P5 priority, and a peek panel open on the right.
02Weigh

Evidence is graded by what people did, not what they said

Every piece of evidence lands on a six-rung ladder, from repeated behavior at the top down to opinion and analogy at the bottom. Ten enthusiastic quotes are still worth less than one renewal, and the ledger says so out loud.

Evidence cards on an assumption dossier, each tagged with its strength rung and weight: repeated behavior 1.00, opinion 0.15.
03Confront

The dashboard is built to make you uncomfortable

Risk is importance × max(uncertainty, contradiction), so a belief people keep arguing with stays at the top instead of averaging out into safety. Evidence against you is not evidence you are safe. Below the risks, a category × domain cross-tab names the whole columns you have never questioned.

The dashboard: open, peak risk, ready and stale tiles above a ranked top-risks list with risk and confidence badges.
04Decide

Record the call, keep the receipts

Each dossier plots risk and confidence per snapshot, so you can see whether a belief is firming up or quietly drifting. An assumption becomes decision-ready when enough real evidence lands, or earlier when it is decisively contradicted. Decide it, and the reasoning stays on record forever, including for your agent.

An assumption dossier: the Make decision button above a trajectory chart plotting risk and confidence across four snapshots.

The wedge

One command, and the agent you already have starts keeping the ledger

Assumption Mapper ships a published MCP server with thirteen tools. Add it to Claude Code, Claude Desktop or Cursor and your agent can capture assumptions from a meeting, grade the evidence, plan a test, and report what actually moved.

your project — zsh
$ claude mcp add assumption-mapper \
    --env ASSUMPTION_MAPPER_API_KEY=am_your_key \
    -- npx -y assumption-mapper-mcp

Create a key under Settings → Account → API keys, paste it in, restart the client. Claude Desktop and Cursor take the same server as a JSON block; the exact config lives on the connect page.

Claude Code — assessment brief, excerpt

You

Here’s the transcript from this morning’s Delphi call. Log it against NovaKit.

Claude

→ ingest_transcript(projectId: novakit, extraction: 2 assumptions, 2 evidence)

Ingested delphi-2026-07-24.txt · 1 source · 2 evidence items

Assessment:
  Evidence logged: 2 items · 1 independent source
  Strength mix: stated intent ×2
  Assumptions moved (1):
    • confidence 50 → 59 · risk 4.00 → 3.20 · 2 new (2 supports)
      Usage-based pricing beats per-seat for expansion revenue
  Drift flags (1) — stated as settled fact, still undecided:
    • "EU data residency is table stakes for mid-market" —
      named as a requirement, not as a hypothesis.
  Cautions:
    ⚠ All 2 new items trace back to a single source — that is
      one independent data point, not 2.
    ⚠ All 2 new items are stated intent — what people say they
      would do, not what they did.

Both signals are stated intent from one call, so I’ve left the pricing assumption in triage rather than moving it to active. If you want to test it, give me the kill criterion first — “we abandon this if … by …” — I can’t log an experiment without one.

Works on every plan

Your agent extracts with its own model, so agent-side ingestion carries no plan gate. Server-side extraction — pasting a transcript into the app — is the part that needs Pro or Team.

Your tokens, not ours

On the agent-side path our server runs no AI call at all. It validates, stores, scores, and hands back the brief. The only model that reads your transcript is the one you already pay for.

Scores stay server-side

The write schema rejects risk, confidence and evidence mass outright, and rejects unknown keys with a 400 rather than dropping them quietly. Your agent submits raw evidence; Postgres does the arithmetic.

Why it holds up

Three things a doc cannot do for you

A Notion page will hold any belief you put in it, at any confidence you claim, for as long as you like. That is the whole problem.

Evidence that can’t flatter you

Supporting and contradicting evidence are counted separately, and stronger evidence counts for more. A belief with six warm quotes and two hard contradictions does not average out to fine. It stays loud until you decide.

Your agent will just fill it with AI slop.

It can’t. An agent submits raw evidence: a quote, a direction, a strength, a source. Every score is computed on our side, and there is no field an agent can use to talk itself into a better number.

Evidence strength

Weight

  • Repeated behavior1.00

    Renewals, recurring usage or purchases.

  • Committed behavior0.80

    Pre-order, signed LOI, paid pilot, deposit.

  • Engagement0.60

    Return visits, referrals, unsolicited requests.

  • Stated intent0.30

    “I would use it / pay for it / switch.”

  • Opinion0.15

    Expert, advisor or team opinion. Secondhand reports.

  • Analogy0.05

    Reasoning by analogy, with no external data.

Ten enthusiastic quotes weigh about the same as one renewal, one signed pilot, and one referral.

The experiments block on an assumption: “No experiment planned. Commit to a kill criterion before you test.”

Kill criteria, pre-committed

An experiment cannot be recorded without a written kill criterion: “we abandon this if <observable> by <date>”. It is a NOT NULL column, a required field on the API, and an instruction the agent is told not to satisfy on your behalf. Closing the experiment does not decide the assumption; it only makes it ready to decide.

We already do this in Notion.

Notion never refuses. It will happily hold an experiment with no exit condition, and a criterion agreed after you have seen the result is not a criterion. This one asks you first and will not proceed without it.

The coverage cross-tab: assumption categories down the side, business domains across the top, with empty rows and columns visible.

Your blind spots, named out loud

Four categories (desirability, viability, feasibility, adaptability) crossed with ten domains, from ICP to pricing to competition. A single empty cell in a 44-cell grid means nothing. An empty column means you have never questioned pricing at all, and the dashboard says so in as many words: Never questioned: Pricing, Team, Competition.

We know what we haven’t looked at.

Nobody does. The gap is invisible precisely because nothing in it ever comes up. That is what makes it a blind spot rather than a backlog item.

Where your data sits

Row-level security, on every path
The API enforces the same RLS as the web app: an API key is exchanged for a short-lived, RLS-scoped token, so it sees exactly what its owner sees. A key cannot mint, list or revoke keys.
Encrypted in transit and at rest
TLS on the wire, encryption at rest in the database. Operated from the EU by TheMotionBridge; every subprocessor is named in the privacy policy.
Your transcript can stay with your model
When your agent extracts, our server makes no AI call. It validates, stores and scores. Server-side extraction is the one path that sends text to Anthropic, our AI subprocessor.
No ad trackers, no data sale
We run no third-party advertising trackers and we do not sell personal data. Delete your account and your data is removed within 30 days.

Full detail in the privacy policy.

Pricing

The agent works on the free plan

Paid tiers buy volume and seats, not the method. The strength ladder, honest scoring, kill criteria, and coverage are on every plan.

Free

€0forever

Get started. No credit card needed.

  • 30 active assumptions
  • 1 project · 3 team members
  • MCP server and agent-side ingestion
  • Evidence logging and strength grading
  • Risk scoring, coverage and staleness
  • Decision log and export
Start free

Pro

Most useful
€6/month

For builders running multiple ventures.

  • Everything in Free
  • Unlimited assumptions
  • 20 projects
  • In-app AI extraction from transcripts
  • Export and reporting
  • Priority support
Start free, upgrade in-app

Team

€29/month

For venture studios and innovation teams.

  • Everything in Pro
  • 20 team members
  • Shared assumption library
  • Admin dashboard
Start free, upgrade in-app

The free cap counts active assumptions, so deciding one frees a slot.

Questions

The ones that actually come up

What counts as evidence?
Anything you can attribute to a source: a quote from a call, an analytics figure, a signed pilot, an advisor’s take. Each item gets a direction (supports, contradicts or ambiguous) and a strength rung, from repeated behavior at 1.00 down to reasoning by analogy at 0.05. Unclassified evidence is scored as stated intent, 0.30. An assumption becomes decision-ready at 3.0 of weighted mass, or earlier when it is decisively contradicted.
Do you train on my data?
We do not train models. We do not build any. If you paste a transcript into the app, the text is sent to Anthropic for extraction; Anthropic is named as a subprocessor in the privacy policy alongside Supabase, Vercel, PostHog, Sentry and Resend. If your own agent does the extraction, our server makes no AI call at all and forwards nothing. We run no third-party advertising trackers and do not sell personal data.
Which agents work with it?
Claude Code, Claude Desktop and Cursor are the documented clients, and any MCP client that speaks stdio will work. It is one npx command or a four-line JSON block. The server exposes thirteen tools across capture, assess, act and recall. There is also a companion skill that teaches your agent the method, not just the tool names, and a CLI (am) for piping a directory of transcripts in from the terminal.
Can my team use it without an agent?
Yes. The app is the shared surface and works on its own. Triage queue, risk dashboard, coverage cross-tab, per-assumption dossiers with evidence trajectories, experiments, decision log, export. The agent is an ingestion path and a second opinion, not a dependency. The free plan covers three members on one project.
What happens to my transcripts?
Each ingest is stored as a source record, the provenance trail behind every piece of evidence, so months later you can ask what you learned from a specific call and get the quotes back. The content is hashed, so re-ingesting the same file returns the original brief instead of double-counting it. Encrypted in transit and at rest; removed within 30 days of account deletion. There is a 300,000-character cap per ingest.
Can the agent inflate its own scores?
No, and that is the design. Risk, confidence, evidence mass and the assessment brief are computed in the database from the evidence rows. The write schemas are strict: those fields are absent, and an unknown key returns a 400 rather than being silently dropped, so a caller never believes something landed when it did not. An agent can also not mark an assumption decided through the update tool, and it cannot log an experiment without a kill criterion you wrote.

Name the beliefs your business is betting on. Then let something other than optimism grade them.

Start with one project and the assumptions you already argue about. Connect your agent when you want the meetings to file themselves.

€0 forever · 30 assumptions · MCP on every plan