Clickwrap platform features
ClickTerm is a clickwrap agreement management platform that lets you create, deliver, and track consent across web and mobile. Every acceptance is recorded with a tamper-proof Certificate of Acceptance.





Manage clickwrap agreements at scale
ClickTerm's clickwrap management toolkit includes dynamic placeholders, multi-language support, end-user tracking, version control, team roles, and a tamper-evident audit log — covering the full agreement lifecycle from creation to compliance.
Dynamic Placeholders
Inject user-specific data — 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.
Clickwrap compliance built for legal enforceability
ClickTerm uses PAdES digital signatures and HMAC-SHA256 verification to make every clickwrap acceptance legally defensible. Every layer is designed to produce evidence that holds up — from cryptographic signatures to regulation-ready audit trails.
PAdES Digital Signatures
Certificates of Acceptance are signed with PAdES (PDF Advanced Electronic Signatures), the EU standard recognized under eIDAS for advanced electronic signatures.
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.
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.
Up and running in four steps
ClickTerm integrates into any web or mobile app through a lightweight SDK and REST API, with most teams going live in under an hour. Add Clickterm to your web or mobile app with a flow similar to reCAPTCHA — your users never leave your UI.
Create an app
Add an integration in the Clickterm dashboard. Get your App ID and App Key.
Build a template
Write your agreement in the editor, add placeholders, and publish a version.
Show the modal
Include the SDK and call ClicktermDialog.show() in your frontend.
Verify & record
Send the signature to your backend, call the Verify API, and get a Certificate of Acceptance.
// Include the SDK script from CDN // cdn.clickterm.com/sdk/clickterm-widget-2.0.0.min.js const { ClicktermClient, ClicktermDialog } = window.Clickterm; // Initialize with your App ID ClicktermClient.initialize("YOUR_CLICKTERM_APP_ID"); // Show the clickwrap modal const result = 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
// 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 modal ClickwrapTemplate contentRequestBody = new ClickwrapTemplate( "YOUR_CLICKTERM_TEMPLATE_ID", endUserID, new HashMap<>(), "en" ); ClicktermDialog.show(this, contentRequestBody, null, new ClicktermDialog.OnAgreementResultListener() { @Override public void onSuccess(String clicktermSignature) { Log.i("Clickterm", clicktermSignature); // Send signature to your backend for verification } @Override public void onError(String message) { Log.e("Clickterm", message); } } );
# Verify a clickwrap signature curl -XPOST \ -H 'X-APP-ID: {YOUR_APP_ID}' \ -H 'X-APP-KEY: {YOUR_APP_KEY}' \ -H "Content-type: application/json" \ -d '{ "clicktermSignature": "{SIGNATURE}" }' \ 'https://api.clickterm.com/public-client/v1/clickwrap/verify' # Response { "clickwrapEventStatus": "ACCEPTED", "clickwrapEventId": "123e4567-e89b-12d3-a456-426614174000", "clickwrapTemplateId": "987e6543-e21b-45d3-b321-426614174999", "endUserId": "423e4567-e89b-12d3-a456-426614174000", "actionAt": "2025-08-20T14:30:00Z" } # Download Certificate of Acceptance curl -XGET \ -H 'X-APP-ID: {YOUR_APP_ID}' \ -H 'X-APP-KEY: {YOUR_APP_KEY}' \ 'https://api.clickterm.com/public-client/v1/clickwrap-events/{eventId}/certificate'
What we're building next
Clickterm is growing fast. Here's a look at what's coming — from features already in development to our longer-term vision.
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 developmentAgreement 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 developmentLegal 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 developmentOn the horizon
E-Signature Documents
Go beyond clickwrap with full electronic signature support. Collect legally binding signatures on contracts, proposals, and agreements.
PlannedContract Lifecycle Management
A unified workspace to manage all document types — clickwrap, e-signature, and uploaded contracts — from creation through renewal.
PlannedPre-Signed PDF Support
Upload previously signed PDF documents and manage them alongside your digital agreements. Track, store, and reference legacy contracts in one place.
PlannedDon't see what you need?
We ship what you ask for. Share your idea and help shape the next release.
Request a featureCommon questions about clickwrap features
Everything you need to know about clickwrap consent, legal enforceability, and getting started.
Yes. Clickwrap 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 — making it easy to demonstrate valid consent to regulators. The Certificate of Acceptance 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.
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 — 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 — giving you 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.
