Knowledge Base
API referenceOpen app
KB-218Updated October 15, 2026

Proofs, signed evidence that your company is who it says it is

Prove your domain, add one script tag, optionally verify your business with Stripe, and publish a signed proof backed by real usage. Everything public is a count; no payment is ever read.

Proofs publishes one signed proof about your company: you are who you say you are, and real data backs it. Anyone evaluating you, including an AI agent, can fetch it and check the signature instead of taking your word for it.

The proof says two things:

  • Who you are. How you proved your domain (by DNS, or by your script on a page there), and, if you connect Stripe, the business Stripe has verified behind your own Stripe account.
  • What backs it. How many companies were seen signing in to your product over the last 30 days, and how many sessions.

Setting up

The first time you open Proofs, enter your company name and your domain, then click Set up Proofs. The Setup tab then shows the setup steps. You can open all of them at once, so your developer can add the script while DNS is still catching up.

  1. Prove you control the domain (optional, but it matters). There are two ways. Site verified: once your script is live, Letterprove finds your key on a page of your domain, automatically or when you click Check. Verified by DNS: publish the TXT record shown, then click Check now; this is the strongest and is needed for tier 3 and logo verification. Without either, your proof says Domain not verified and sits at tier 0. Both are re-checked every day.

  2. Add the script to your site. Click Copy snippet and paste it into the <head> of your product, on every page where people are signed in.

  3. Tell the script who signed in. Loading the script sends nothing by itself. Add one call wherever your code already knows the signed-in user:

    // after sign-up
    Letterprove.signup(user.email)
    
    // after sign-in
    Letterprove.login(user.email)
    
    // or on any signed-in page
    Letterprove.identify(user.email)
    

    Only the part after the @ leaves the browser. The address and the person never do. Free-mail domains like Gmail are counted separately and never treated as a company.

    If your code might call Letterprove before the script has loaded, use the short stub included with the snippet. It holds those calls and sends them once the script is ready. Copy prompt gives you the same instructions written for a coding agent.

  4. See your first sign-ins. The step updates on its own while you test: first that the script loaded on your site, then the first sign-in. To see what the script is doing, add data-debug to the script tag and open your browser console.

  5. Publish your proofs. See Publishing below.

With DNS verification, subdomains of your domain (for example app.yourcompany.com or www.yourcompany.com) are accepted automatically. If people sign in on a different domain, add it under Other sign-in hosts. If the script sees sign-ins from a host you haven't added, the Setup tab says so and lets you add it in one click.

Every step can be reopened later, for a redeploy or a second site. Install reference keeps your key and snippet handy.

Tiers

The proof carries a tier that says how strong the evidence is. You can't set it. It comes from the evidence alone.

  • Tier 0: your domain isn't proven yet, or nothing has been observed.
  • Tier 1: companies were seen signing in on your proven domain (DNS or site verified).
  • Tier 3: tier 1 on a domain verified by DNS, plus a business Stripe has verified behind your own Stripe account, with its website on your domain. Tier 3 confirms who you are; it says nothing about payments.

Tier 2 is reserved for a network check that isn't available yet, so it is never issued.

Verifying your business with Stripe

Stripe is optional, and with a DNS-verified domain it's what gets you to tier 3. Letterprove uses Stripe for one thing: confirming you are a real, verified business at your domain. It never reads payments, invoices, subscriptions or revenue.

In the Verify your business with Stripe panel, paste a Stripe restricted key and click Connect Stripe. Create the key in your Stripe dashboard under Developers, API keys, Create restricted key, with one permission set to Read: Accounts, which Stripe lists under Connect.

Letterprove reads your Stripe account itself:

  • whether Stripe has verified your business (the account can accept payments, which Stripe allows only after checking your business),
  • your business name, country and website.

Your proof shows these as Verified by Stripe. A few things to know:

  • The account has to be yours. The website or support email on your Stripe account must use your domain. If it doesn't (for example, a parent company holds the account), click Request review and we'll look at it.
  • The website must be on your domain for tier 3, unless we approved the account.
  • It stays fresh. Letterprove re-reads the account every hour. Refresh does it now. Repeated failed reads clear it.
  • Test keys never verify. An rk_test_ key reads the account so you can check your setup, but never counts as a verified business.

Disconnect removes the key and the business details read with it.

Connecting PostHog

If you use PostHog, the Company history panel can show how long companies have been using your product, from before you installed the script. Letterprove only reads from PostHog. It never sends anything to it.

Create a personal API key in PostHog (Settings, Personal API keys) with:

  • Organization & project access: choose Projects and select your product's project.
  • Product analytics: Read.
  • Events, people & data model: Read.
  • Everything else left on No access.

Paste the key and your project id (the number after /project/ in your PostHog address), choose your region, and click Connect PostHog.

Letterprove reads which company email domains PostHog has identified people from, since when, and how active they were in the last 30 days. The split from address to domain happens inside PostHog, so no address or name reaches Letterprove. It syncs once a day.

Your proof shows this as history you report, clearly labelled, and it never changes your tier. It appears only while your PostHog project records traffic on your verified domain. The proof also shows how many of the companies Letterprove observed itself appear in your PostHog history.

Publishing

Your proof stays private until you publish it. Collection and signing run either way, so your history is already there on the day you go public.

  1. Check what it will say. Before you publish, the Publication panel on Setup lists what your proof page will show, and Customize shows a live preview of the page.
  2. Click Publish proofs. Your proof page goes live at the link shown.
  3. Share it. Copy the link, add the footer badge to your site, and use the short paragraph provided to post it.

To serve the proof on your own address, add a proof domain such as proof.yourcompany.com under Your own domain on Connections and create the CNAME record shown. Verification links always point back to Letterprove, which is what keeps a proof on your domain checkable.

Make private stops serving your proof pages. It can't take back what was already read: anything fetched while public stays signed and verifiable.

Alerts

We email you when something needs your attention:

  • your DNS record can't be found,
  • nothing has been collected for two days,
  • reading your Stripe account or syncing PostHog keeps failing.

Each email says what happened and how to fix it.

Billing

During the beta, Proofs is free for you.

Outside the beta, you pay only when AI agents read your proof. The first 25 verified agent reads each month are free, and after that each read is billed. The Billing panel on Settings shows this month's reads and what they would cost.

Turning things off

  • Disconnect in the Stripe or PostHog panel removes the key and everything read with it.
  • Make private takes your proof offline.
  • Removing the script tag stops collection. Your proof keeps its signed history but shows nothing new.

The tabs

  • Overview: your current proof (the same summary anyone else sees once you publish) and every company domain the script has seen signing in, which only you see.
  • Customize: which optional sections the public proof shows, with a live preview. The domain, tier, company count and verify link are always shown.
  • Connections: Stripe business verification, PostHog, the logo wall, and your own domain.
  • Setup: the setup steps, publishing, and other sign-in hosts.
  • Settings: your account (name, domain, alert email, collector key), the badge, and billing.

Related