A legal centre in your brand, kept current for you.
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.
Terms of Service
1. About these terms
These terms apply to your use of the Northwind service. By creating an account you agree to them…
Powered by Policy Controls
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.3to show exactly what someone saw then. - Markdown or JSON
format=mdreturns 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.
- Create an API keyScoped to clickwrap, shown once, revocable at any time.
- Make a groupThe documents to show together, and the addresses of the sites it may run on.
- Paste the script tagOne tag in your sign-up form. About 4 KB, no cookies, fine under a Content Security Policy.
- Confirm from your serverWhen you create the account, send us the token with your API key. Only then is the acceptance recorded.
- 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.
We're updating our Terms of Service
What changed: refunds are now processed within 14 days of your request, not 30.
The new version takes effect on 01/11/2026. You accepted version 2.0.
Read Terms of Service v2.1
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.
“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.”
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 daysBring 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