Build clickwrap agreements into your product with templates, multi-language modals, version control, and tamper-proof Certificates of Acceptance for every user.
Author your legal document and drop in placeholders for the data you collect. Preview resolves the whole document with each signer's real details.
Drop in placeholders for names, dates, and fields
Hover any placeholder to see exactly where it lands
Preview fills in each signer's real data
Terms of ServiceVersion 2.0
Versions
v2.0Jun 26, 2026Draft
v1.0Jun 1, 2026Effective
Showing data forplaceholders filled with this signer's real data
Insert — hover to locate, drag to place
1. Acceptance of Terms
By accessing this website, you, Full Name (Job Title at Company Name), accept and agree to be bound by the terms and provisions of this agreement, effective Date.
2. Use License
Permission is granted to temporarily download one copy of the materials on the Company's website for personal, non-commercial transitory viewing only.
3. Notices
Service notices and the Certificate of Acceptance will be delivered to Email Address.
4. Signature
Agreed and accepted by Full Name, Job Title, on Date.
Clickwrap type
Acceptance Modal
The exact moment consent is captured
This is the dialog your users see, with placeholders resolved to real values. Check the box and choose.
Placeholders resolved to each signer's real data
Read, tick the box, then Accept or Decline
Every choice captured as a timestamped, signed event
Terms of Service
Version 5.0·Effective at 16/04/25
Powered by
Audit Trail
Every clickwrap event is a complete legal record
Who accepted, what they accepted, when, and how, captured for every event. A record opens into a full, tamper-evident document once its signature is cryptographically verified.
Every Accept, Decline, and pending event logged
Records unlock only after the signature is verified
Verified events link straight to their certificate
Recent events4 of 154
Accepted 142Declined 8Pending 3Unverified 1
evt_4f9c2a18b7
Terms of Service v3.1
Accepted
End user
End User ID
usr_4f9c2a18
Name
Sarah Mitchell
Email
sarah.mitchell@example.com
Company
ClickTerm Inc.
Technical metadata
IP address
84.23.118.40
Device
Chrome 126 · macOS
Timeline
Presented
2026-06-26 09:42:05 UTC
Accepted
2026-06-26 09:42:17 UTC
evt_7b3e9d52a1
Privacy Policy v2.0
Pending
End user
End User ID
usr_7b3e9d52
App
Mobile App
Timeline
Presented
2026-06-18 16:08:40 UTC
Action
—
evt_2c81f0aa9d
Data Processing Agreement v1.4
Unverified
End user
End User ID
usr_2c81f0aa
Name
James Carter
Email
james.carter@example.com
Company
Globex Corporation
Technical metadata
IP address
203.0.113.77
Device
Safari 17 · iOS
Timeline
Presented
2026-05-29 11:26:55 UTC
Signed
2026-05-29 11:27:03 UTC
evt_d52199e3c4
Terms of Service v3.1
Declined
End user
End User ID
usr_d52199e3
Name
Maria Lopez
Email
maria.lopez@example.com
Company
Initech LLC
Technical metadata
IP address
198.51.100.23
Device
Firefox 128 · Windows
Timeline
Presented
2026-05-03 22:14:20 UTC
Declined
2026-05-03 22:14:39 UTC
Certificate of Acceptance
A tamper-evident certificate for every acceptance
Every verified acceptance produces a signed, immutable Certificate of Acceptance. Proof of who agreed, to what, and when.
Cryptographically sealed with a SHA-256 content hash
Immutable, stored under AWS S3 Object Lock
Records who accepted, which version, and the exact time
ClickTerm covers the full clickwrap lifecycle: localization, placeholders, version control, team roles, and a tamper-evident audit log.
Dynamic Placeholders
Inject user-specific data like name, email, company, VAT, and 5 custom fields into every agreement at runtime. Each value appears in the modal, the certificate, and the API response.
Multi-language
Serve clickwrap modals in 7 languages: English, German, French, Spanish, Chinese, Hindi, and Russian. Maintain separate localized content versions for each template.
End User Management
Track every end user across all your apps. View their acceptance history, event statuses, placeholder values, and consent timeline in one place.
Effective At & Must Accept By
Schedule when an agreement becomes active and set a deadline for acceptance. Ideal for rolling out updated terms on a specific date or enforcing time-bound consent.
Team & Roles
Invite team members and assign roles (Owner, Admin, or Member) with granular permissions for template management, publishing, billing, and user administration. All roles are included in every ClickTerm plan at no extra cost.
Audit Log
A tamper-evident chronological record of every action in your organization: events, template changes, user management, and integration updates.
Compliance & Security
Clickwrap compliance built for legal enforceability
ClickTerm uses PAdES digital signatures and HMAC-SHA256 verification to make every clickwrap acceptance legally defensible. Every record is cryptographically signed, stored immutably, and audit-ready for regulators.
PAdES Digital Signatures
Certificates of Acceptance are signed with PAdES (PDF Advanced Electronic Signatures), the EU standard recognized under eIDAS for advanced electronic signatures.
eIDASPAdESPDF/A
End-to-End Integrity
Every event is protected by HMAC-SHA256 signatures and SHA-256 content hashing. Verification confirms the event was not tampered with between the user's action and your backend.
HMAC-SHA256SHA-256TLS 1.3
Regulation-Ready Records
Full audit trail with timestamped records, IP addresses, device metadata, and exact agreement text. Ready for GDPR data subject requests, CCPA, and regulatory audits. Have specific compliance questions? Reach out to our team.
GDPRCCPAAudit-ready
Made in Europe
Built and operated under the world's strictest privacy laws. Your data physically resides in the EU and is governed by GDPR.
Dublin, IrelandAWS eu-west-1
EU jurisdictionFull GDPR compliance
EU data residencyData stays in the EU
Simple Integration
Set up clickwrap software in four steps
Add ClickTerm to your web or mobile app in under an hour with a lightweight SDK and REST API. The acceptance flow opens inside your product, similar to reCAPTCHA, so users can accept terms without leaving your UI.
1
Create an app
Create an integration in the ClickTerm dashboard and copy your App ID and Key.
2
Build a template
Write your agreement in the editor, add placeholders, and publish the live version.
3
Show the modal
Include the SDK and call ClicktermDialog.show() in your frontend.
4
Verify & record
Send the signature to your backend, call the Verify API, and get a Certificate of Acceptance.
JavaScript
// Include the SDK script from CDN// cdn.clickterm.com/sdk/clickterm-widget-2.0.0.min.jsconst { ClicktermClient, ClicktermDialog } = window.Clickterm;
// Initialize with your App ID
ClicktermClient.initialize("YOUR_CLICKTERM_APP_ID");
// Show the clickwrap modalconstresult = await ClicktermDialog.show({
endUserId: "user-123",
clickwrapTemplateId: "tmpl-456",
language: "en",
templatePlaceholders: {
fullName: "Alice Example",
email: "alice@example.com",
company: "Acme Corp",
},
});
console.log("Accepted:", result.signature);
// Send result.signature to your backend for verification
Java
// build.gradle — add the dependency// implementation 'com.clickterm:android-sdk:2.0.0'// 1. Initialize the SDK
ClicktermClient.initialize("YOUR_CLICKTERM_APP_ID");
// 2. Show the clickwrap modalClickwrapTemplate contentRequestBody = newClickwrapTemplate(
"YOUR_CLICKTERM_TEMPLATE_ID",
endUserID,
new HashMap<>(),
"en"
);
ClicktermDialog.show(this, contentRequestBody, null,
new ClicktermDialog.OnAgreementResultListener() {
@Overridepublic voidonSuccess(String clicktermSignature) {
Log.i("Clickterm", clicktermSignature);
// Send signature to your backend for verification
}
@Overridepublic voidonError(String message) {
Log.e("Clickterm", message);
}
}
);
TypeScript
// npm install @clickterm/react-native-sdk// Expo: add the plugin, then `npx expo prebuild`import * as Clickterm from'@clickterm/react-native-sdk';
// Initialize once, early in your appawait Clickterm.initialize("YOUR_CLICKTERM_APP_ID");
// Show the clickwrap dialogconstsignature = await Clickterm.show({
clickwrapTemplateId: "tmpl-456",
endUserId: "user-123",
language: "en",
templatePlaceholders: {
fullName: "Alice Example",
email: "alice@example.com",
},
});
if (signature) {
// Send signature to your backend for verificationawaitsendToBackend(signature);
}
Here's what's shipping next, and what's further out on the roadmap.
Coming soon
Bundled Templates
Present multiple agreements in a single modal, each with its own checkbox. Users accept or decline each document individually in one step.
In development
Agreement Links via Email
Send clickwrap agreements directly to end users by email. Recipients click a link to view and accept. No SDK integration required.
In development
Legal Hub
A single public page listing all your organization's published documents. One URL for your entire legal library: terms, policies, NDAs, always current.
In development
On the horizon
E-Signature Documents
Go beyond clickwrap with full electronic signature support. Collect legally binding signatures on contracts, proposals, and agreements.
Planned
Contract Lifecycle Management
A unified workspace to manage all document types (clickwrap, e-signature, and uploaded contracts) from creation through renewal.
Planned
Pre-Signed PDF Support
Upload previously signed PDF documents and manage them alongside your digital agreements. Track, store, and reference legacy contracts in one place.
Planned
Don't see what you need?
We ship what you ask for. Share your idea and help shape the next release.
What clickwrap software is, when it holds up in court, and how ClickTerm fits into your stack.
Yes. Clickwrap agreements, also called clickthrough agreements, are widely recognized as enforceable contracts in the US, EU, and many other jurisdictions. Courts consistently uphold clickwrap consent when the user is presented with the terms, required to take an affirmative action (such as clicking "Accept"), and the acceptance is properly recorded. ClickTerm captures all of this (the exact text, the user's action, timestamp, IP, and device) in a PAdES-signed Certificate of Acceptance.
ClickTerm records explicit, timestamped consent for each end user along with the exact version of the agreement they accepted. Every event includes full metadata: IP, timestamp, device, and a content hash, providing the audit trail required to demonstrate valid consent under the GDPR. The Certificate of Acceptance also serves as a standalone compliance record for data subject access requests.
A Certificate of Acceptance (CoA) is a digitally signed PDF generated after each accepted clickwrap event. It contains the event ID, user details, timestamp, IP address, agreement version, and a SHA-256 hash of the content. The PDF is signed using PAdES (PDF Advanced Electronic Signatures), an EU standard under eIDAS, ensuring tamper-proof integrity.
You can validate the signature using either Adobe Acrobat Reader or the DSS Demonstration WebApp.
In Adobe Acrobat Reader:
Open the PDF file.
Look for the signature panel or visible seal/signature.
The document will indicate that it has not been modified since it was signed.
In the DSS Demonstration WebApp:
Upload the PDF file for validation.
The tool will display the signature status.
Minimal changes. Include the ClickTerm SDK script, initialize it with your App ID, and call ClicktermDialog.show() wherever you need consent. The modal runs in an isolated Shadow DOM, so it won't conflict with your styles or scripts. A backend call to the Verify API confirms the result. Most teams integrate in under an hour.
Published versions are immutable. When you update your agreement, you publish a new version. Existing acceptance records remain tied to the original version the user saw. You can then prompt returning users to accept the latest version, creating a new event with a new certificate. You get a complete version-by-version consent timeline for every end user.
Yes. Every organization starts with 500 free verified events per month. No credit card required. Beyond the free tier, pay-as-you-go pricing starts at €0.05 per event and decreases with volume. All features are available from day one, including PAdES certificates, multi-language support, and the full API.