Clickwrap withsigned proof.

Add an "I agree" box to your sign-up form. Every acceptance gets a signed proof of record, locked for seven years and checkable by anyone. Your legal centre and an API for the current terms come with it, so Legal updates them with no deploy.

Next up1 of 4

Publish your legal centre

4 Public documents ready

  • Then: Link it from your website
  • Then: Fetch the current version by API
  • Then: Earlier versions stay one click away
See the legal centre and API

A legal centre in your brand, always the current version, every earlier one still readable. So you can show exactly what a customer agreed to. Pull the same text into your app with one request.

One request. The current version.

Show your terms in your own sign-up flow, help pages or app, straight from the approved record. When Legal approves a new version, your app shows it on the next request.

  • Latest by defaultWithout a version, you get the latest approved one.
  • Any earlier versionAdd ?v=1.3 to show exactly what someone saw then.
  • Markdown or JSONformat=md returns just the text; JSON adds the version, dates, hash and history.
  • Only what's publicDrafts are never served. Internal and Confidential documents answer as if they don't exist.
  • Ready for the browserOpen to any origin, cached for 5 minutes (latest) or an hour (a named version).
GET /api/v1/public/companies/northwind
    /documents/PC-LEG-001

200 OK
{
  "docNumber": "PC-LEG-001",
  "title": "Terms of Service",
  "version": "2.1",
  "isLatest": true,
  "approvedAt": "2026-09-01",
  "effectiveDate": "2026-09-01",
  "contentHash": "9f3c51e0…44c2b9",
  "versions": [ … ],
  "markdown": "## 1. About these terms…"
}

"I agree", on the record

Add one script tag to your sign-up form. It shows a tick box naming the current version of each document, and your server confirms it with one request. Policy Controls keeps who agreed, to which version, and when.

  • Inline or in a windowA tick box in your form, or a window that shows each document in full with Accept and Decline.
  • Required and optionalTerms required, marketing consent optional, each with its own tick box and record.
  • Declines kept tooSomeone who says no is recorded, with the version they declined.
  • Who's behind?A status request says whether a user has accepted the latest major version, so you can ask again at their next sign-in.

Four steps to set up

Everything is under Sharing → Clickwrap in the app. Nothing is recorded until your server confirms, so the only public part can't be spammed.

  1. Create an API keyScoped to clickwrap, shown once, revocable at any time.
  2. Make a groupThe documents to show together, and the addresses of the sites it may run on.
  3. Paste the script tagOne tag in your sign-up form. About 4 KB, no cookies, fine under a Content Security Policy.
  4. Confirm from your serverWhen you create the account, send us the token with your API key. Only then is the acceptance recorded.
Proof of recordPOR-7K2M-Q9XD-4HFA-R3TB
User
ana@acme.example
Agreed to
Terms of Service v2.1, Privacy Notice v1.4
When
11/10/2026 14:32 UTC (15:32 in Europe/London)
From
Chrome 141 on macOS, desktop · Leeds, United Kingdom
Signed
Digitally signed by Policy Controls

Example proof, demo data

A signed proof for every acceptance

Each acceptance gets a PDF proof of record, digitally signed and stored so it can't be changed or deleted for seven years. Anyone holding it can check it at our verify page, without seeing who accepted.

A tick box is easy. The record isn't.

A checkbox and a database row take an afternoon. Here's what it takes for that row to still mean something when someone asks, years later, what a user agreed to.

  • Versions that never changeThe exact text each person saw, kept after every edit, with a hash to prove it.
  • The evidence, captured onceTime, IP address and location, browser and device, time zone and language, and the sentence they ticked.
  • Signed and lockedA signing key kept out of your code, and storage that even you can't change or delete.
  • Asking againKnowing who accepted an older major version, and prompting them at their next sign-in.
  • Telling people about changesEmails when the terms change, with what changed and when, and who they reached.
  • Finding it laterOne user's whole history, a CSV for an audit, and a proof anyone can check.

Tell customers when the terms change

Approve a new version and choose a day to email everyone who accepted an earlier one. The email comes from your company, in your colours, with a plain summary of what changed and when it takes effect. You see who it reached and whose address bounced.

From: Northwind Analytics via Policy Controls

What is a clickwrap agreement?

What it is

Terms someone accepts online with a deliberate action, usually by ticking a box or clicking "I agree" before they sign up or buy. The name comes from shrink-wrap licences, which you accepted by opening the box.

How it differs from browsewrap

Browsewrap is terms linked from a footer that you're said to accept just by using the site. There's no moment of agreement and nothing to show for it. Clickwrap asks for one, and records it.

What makes one easier to rely on

The terms shown clearly before the user acts, a box they tick themselves rather than one ticked for them, and a record of exactly which version they accepted, when and from where, that no one can alter afterwards. Policy Controls handles the record; how the terms are shown in your sign-up is yours to get right, and the window mode helps by showing each document in full.

Free to start. Documented in full.

The legal centre, the public document API and the sign-up clickwrap are on the Free plan, with a signed proof of record for every acceptance. Read exactly what you'd build against, then pick the plan that fits.

Read the docsSee pricing

greatspace
“We had our policies written, reviewed and published in days, not months. Our terms live on one clean legal page, our sign-up links straight to it, and we didn't have to build any of it. One less thing for a small team to worry about.”
Chris ConnellCo-founder, Great Space

Start with the folder you already have.

Drop in your Word, PDF and text files, archived versions included. Approve them as version 1.0, send them to your team, and every acceptance gets a signed proof of record.

Try Business free for 30 days
Next upYour first afternoon

Bring your policies folder

Word, PDF and text files, archived versions included

  • Then: Review and approve them as version 1.0
  • Then: Send to your team and track acceptance
  • Then: Publish your public policies on your website
  • 30 days free, cancel any time
  • No logins or accounts needed for your staff
  • Hosted in London