Built for the DPDPA, 2023 Data stays in ap-south-1 (Mumbai)

Cookie compliance you can show your work on.

ComplyMore scans your website, shows you every tracker it actually observed with the evidence behind it, and holds publishing until a person has decided the unclear cases. No dashboard green tick standing in for a legal opinion.

Try the complete workflow on one site for 14 days. No script tag needed until you publish.

app.complymore.in / sites / kirana-cart.in / scans / latest Scan complete · 5 pages

Review queue

14 trackers observed on kirana-cart.in

9
Confirmed
3
Low confidence
2
Unrecognised
Illustrative output. Every row links to the page and request that produced it.
ObservedSuggested categoryConfidenceEvidence
_ga, _ga_*
Set-Cookie · google-analytics.com
Analytics High 4 of 5 pages
_fbp
Pixel · connect.facebook.net
Advertising High /, /cart
rzp_checkout_anon_id
XHR · api.razorpay.com · reclassification needs a written reason
Strictly necessary Medium /checkout
__mrkt_sid
localStorage · tags.mrkt-cdn.net
Not in the knowledge base Unrecognised /, /offers
wzrk_uuid
Script · clevertap-prod.com
Functional Low /account

2 findings need a decision. Unrecognised and low-confidence items block publishing until someone categorises them.

TODO · social proof

Customer logo wall goes here once there are customers who have agreed to be named. Placeholder is intentionally visible — see PRODUCT.md → Evidence on Hand.

Why it is built this way

Made to keep uncertainty visible, not to hide it.

A suggested category is a guess, and this product labels it as one. Anything the classifier is not sure about stays on screen, blocks publishing, and waits for a person who can be accountable for the decision.

Start free trial
GET /GET /cart POST /collectGET /px.gif GET /tags.js unrecognised host

Evidence, not inference

Up to five public pages, each in a fresh Chromium context. Set-Cookie headers, the cookie jar, localStorage and sessionStorage keys, scripts, iframes, pixels and XHR — captured with the page and request that produced them.

NecessaryAnalytics Advertising ? undecided ready to publish blocked

A human review gate

Every finding carries a suggested category, a confidence level and a plain-language rationale. Unrecognised and low-confidence items block publishing. Moving something into Strictly necessary requires a written reason that stays on the record.

v1 · 12 Jun v2 · 03 Jul v3 · 21 Aug live pointer

Nothing rewrites history

Publishing uploads an immutable payload, writes the version row, then moves the active pointer — in that order, so a failure at any step leaves the live banner untouched. Consent receipts are append-only, with no IP address and no user agent stored.

The flow

Register a site. Reach a reviewable result in one sitting.

Six steps, in order, each one refusing to skip ahead of the last. Select a step to see what it actually does.

The URL is normalised and checked before anything is fetched. Private, loopback, link-local, cloud-metadata and non-standard-port targets are refused with the specific reason, not a generic error.
Up to five public pages, each in a fresh browser context, queued and executed away from the app. Captures cookies, storage keys, scripts, iframes, pixels and requests — plus deterministic theme tokens from the entry page.
Suggested category, confidence level, plain-language rationale, per-page evidence. Unrecognised and low-confidence items block publishing until a person decides. Reclassifying into Strictly necessary needs a written reason.
Three presets generated from your site's own colours, fonts and button shape. Every solid foreground/background pair is checked against WCAG 2.2 AA, and a failure blocks publishing rather than shipping with a warning.
One async script tag in the head. Visitors fetch the config payload from the storage CDN, not from ComplyMore, so the banner does not depend on our app being up.
Append-only consent receipts with an integrity digest, exportable as CSV. No IP address, no user agent. Every consequential action in the workspace is written to an immutable audit event.
Banner preview · pre-consent state
Contrast · 2.9:1 on “Manage preferences” Fails AA · publishing blocked
Nothing runs before a choice is made. Reject optional leaves the tag jar empty; Accept all runs the tagged scripts in document order.

Install

One script tag, and an attribute on anything that tracks.

The banner SDK is framework-free with no build step. Tagged scripts do not execute until the matching category is consented to — the mechanism is the browser's own, not a monkey-patch.

index.html · <head>
<!-- one tag, async, nothing else -->
<script async
  src="https://cdn.complymore.in/sdk/complymore.js"
  data-cm-site="ste_8f21c4"></script>

The config payload is served from the storage CDN. Your banner keeps working even if the ComplyMore dashboard is down.

Blocking an optional script
<!-- will not run until "analytics" is consented -->
<script
  type="text/plain"
  data-cm-category="analytics"
  src="https://www.googletagmanager.com/gtag/js">
</script>

On consent, tagged scripts are activated in document order. On rejection, they are never inserted at all.

TODO · metrics

Stat band — median time to first publish, sites under management, receipts retained. Awaiting real telemetry. Do not estimate.

TODO · testimonials

Two or three customer quotes with name, role and company. Needs written permission on file before it ships.

Pricing

Straightforward pricing.

Start with the permanent Free plan, or explore paid features with a 14-day free trial.

14-day free trial

Try the complete paid workflow before choosing Plus or Pro.

Evaluate ComplyMore on one production site from workspace activation through publishing and evidence export.

1 site 25,000 page views Manual rescans One scheduled-scan evaluation All 23 languages Consent CSV export
Start free trial

Free

For one small site that needs essential scanning and consent-history tools.

₹0/ month
Free, with no expiry No subscription charge
  • 1 production site
  • 5,000 included page views
  • Up to 5 manual scans
  • Manual scans only; no scheduled scans
  • 3 months of online consent history
  • Rollback to 1 previous version
  • Knowledge base only; no direct support
  • Shopify integration not included
Start Free

Plus

For a small business operating one production website or Shopify store.

₹999/ month
₹11,988/year (₹999 × 12) ₹10,200/year with annual billing Equivalent to ₹850/month Save ₹1,788 per year
  • 1 production site
  • 75,000 page views per month
  • Monthly scheduled scans
  • 12 months of online consent history
  • Standard blocking-verification report
  • Rollback to 3 previous versions
  • Shopify Customer Privacy API integration
  • Priority email support
Choose Plus

Included with both paid plans

Initial and manual scans, tracker discovery and review, all 23 supported languages, theme matching, banner editing, accept/reject/customize/withdraw controls, explicit and known-source blocking, consent CSV export, Google Tag Manager and Consent Mode integration, material-change alerts, removable ComplyMore branding and an approval-gated cookie-policy draft.

Prices are in Indian rupees. Any applicable GST is shown at checkout and on the invoice.

Get started

Find out what your site
is actually doing.

Register one site, run a scan, and read the findings before you decide anything. The first scan is enough to judge whether the approach fits.

14 consecutive days · 1 site · 25,000 page views during the trial.