Skip to main content
Attensira ships changes to your site and beyond it. Proof is how you find out whether those changes did anything. Each surface below answers one question, and they all read the same checks and the same answers, so they cannot disagree.

The rules every proof surface follows

  • Inside the noise is not a change. A difference the significance test cannot separate from sampling noise is never called a change, never drawn in green and never announced. See When is a change real?
  • Every number carries its sample. Counts read “named in 3 of 10 answers”, never a percentage on its own. See Reading the numbers.
  • Not measured is not zero. An engine or week we could not read says so in words. It is never shown as 0.
  • Observed, not caused. Moved says the answers moved after a change shipped. It does not say the change caused it, and no proof surface says “we won” or puts a money figure on a result.
  • A first is “since we started reading”. A win is the first time an engine named you since Attensira started reading that question, not the first time ever.

When is a change real?

Checks after a change, the Scoreboard’s change per engine and the scorecard’s verified receipts all use one rule:
  • Both windows have at least 30 observations: the change must pass a two-proportion z-test at 95%.
  • Either window has fewer than 30: the change must pass Fisher’s exact test, two-sided, at p ≤ 0.05.
The z-test is an approximation that needs a large enough sample. Fisher’s exact test computes the answer exactly, so it is valid at the small samples a week of readings often has. How we collect data explains both tests and what an observation is on each surface.

Over MCP and REST

Every proof surface is readable without the app. A receipt or a scorecard can be shared with someone who has no account through POST /v1/shares or the MCP share verb, and every item in Results already carries its own share_url. The receiver sees a read-only page with no ids.