Consenti

Jurisdiction Coverage Map

Consenti ships an embedded map of 211 countries and territories, each pre-assigned to one of the 8 built-in compliance groups — the model that decides opt-in vs. opt-out behaviour, GPC handling, and legitimate-interest rules. It's the reference for the type field in UI / Backend configuration, and for the compliance array shown on every compliance guide.

ℹ️The 8 groups and the map below are convenience defaults, tuned for the most common regulatory shapes so most sites never need to touch them. They're not a ceiling: any site can author its own profile — banner copy, categories, GPC handling, everything — against a custom compliance group (see item 9 below) and route to it explicitly with compliance.type, no built-in group required. See the Geo-Routing & Auto-Detection guide for how country resolution feeds into this map.

Compliance Groups

  1. Standard Opt-in (GDPR)opt-in

    GDPR / ePrivacy style: prior consent required before non-essential cookies. Granular consent, easy reject, easy withdrawal.

  2. Opt-out (US State Laws)opt-out

    US state privacy laws. Collect first, allow opt-out of sale/share. Covers CCPA and all state-level equivalents.

  3. Opt-out Strict (CPRA / California)opt-out-strict

    California CPRA: opt-out with sale/sharing/sensitive categories required. GPC must be honored. Stricter than general US state laws.

  4. Opt-in (India DPDPA)opt-in-dpdpa

    India's Digital Personal Data Protection Act. Opt-in consent with data fiduciary disclosure. No legitimate interest basis.

  5. Opt-in (China PIPL / DSL)opt-in-china

    China PIPL + DSL + CSL: strict opt-in with purpose specification, data minimisation, and cross-border transfer controls.

  6. Opt-in (Brazil LGPD)opt-in-brazil

    Brazil LGPD: opt-in consent required. Legitimate interest is a valid basis. Analytics and advertising may differ in treatment.

  7. General Privacy Consentgeneral-privacy-consent

    Privacy notice or consent rules exist but the jurisdiction does not have a GDPR/PECR-style strict cookie banner law. Documenting legal basis is best practice.

  8. Notice Onlynotice-only

    A privacy notice is generally sufficient. No dedicated cookie banner law is encoded for this jurisdiction.

  9. Custom compliance groups

    The 8 groups above cover every country in the map, but a profile is not limited to them. Every profile has an optional customComplianceGroup field — a free-form, lower-kebab-case string that stands in for complianceGroup when a site needs a consent model that doesn't map to any built-in group (a bespoke internal policy, a jurisdiction not yet in the map, an A/B test variant, etc.).

    AspectBehaviour
    Where it's setAdmin dashboard profile wizard, Step 1 — choose None / Custom instead of one of the 8 built-in radio options, then type the identifier. See the Admin Dashboard guide.
    How it's targetedSet the widget's compliance.type to the same string. Consenti resolves it exactly like a built-in group, fetching whichever profile is active for that name.
    RequirementAPI mode only (api.enabled: true). There is no pre-built/offline fallback for a custom group name — resolution throws if nothing is active for it server-side.
    ValidationNone of the COMPLIANCE_VALIDATION_RULES (legal-basis requirements, GPC recommendations, CPRA categories) apply to a custom group — you own correctness.
    💡A related but distinct mechanism: instead of a new custom group, you can also override one of the 8 built-in groups everywhere it's resolved — geo-detected or fixed — by registering a ConsentiProfile with a matching complianceGroup (optionally deepMerge: true to patch instead of replace). See Overriding a built-in compliance group.

Jurisdiction Coverage Map

Click a column header to sort.

AfghanistanAFfa-AFnotice-only
AlbaniaALGDPRsq-ALopt-in
AlgeriaDZDPA-DZar-DZ, fr-DZnotice-only
AndorraADGDPRca-ADopt-in
AngolaAOpt-AOnotice-only
Antigua and BarbudaAGennotice-only
ArgentinaARLPDP-ARes-ARgeneral-privacy-consent
ArmeniaAMhy-AMnotice-only
AustraliaAUPRIVACY-AUengeneral-privacy-consent
AustriaATGDPR, EPRIVACYde-ATopt-in
AzerbaijanAZaz-AZnotice-only
BahamasBSennotice-only
BahrainBHPDPL-BHar-BHgeneral-privacy-consent
BangladeshBDbn-BDgeneral-privacy-consent
BarbadosBBennotice-only
BelarusBYbe-BY, ru-BYnotice-only
BelgiumBEGDPR, EPRIVACYnl-BE, fr-BEopt-in
BeninBJfr-BJnotice-only
BermudaBMennotice-only
BhutanBTdz-BTnotice-only
BoliviaBOes-BOgeneral-privacy-consent
Bosnia and HerzegovinaBAGDPRbs-BA, sr-Latn-BAopt-in
BotswanaBWDPA-BWengeneral-privacy-consent
BrazilBRLGPDpt-BRopt-in-brazil
British Indian Ocean TerritoryIOennotice-only
BruneiBNPRIVACY-BNms-BN, engeneral-privacy-consent
BulgariaBGGDPR, EPRIVACYbg-BGopt-in
Burkina FasoBFfr-BFnotice-only
BurundiBIfr-BInotice-only
Cabo VerdeCVpt-CVnotice-only
CambodiaKHkm-KHnotice-only
CameroonCMfr-CM, ennotice-only
CanadaCAPIPEDA, LAW25en, fr-CAgeneral-privacy-consent
Central African RepublicCFfr-CFnotice-only
ChadTDfr-TD, ar-TDnotice-only
ChileCLLAW19628-CLes-CLgeneral-privacy-consent
ChinaCNPIPL, DSL-CN, CSL-CNzh-CNopt-in-china
ColombiaCOLAW1581-COes-COgeneral-privacy-consent
ComorosKMar-KM, fr-KMnotice-only
Costa RicaCRLPDP-CRes-CRgeneral-privacy-consent
Côte d'IvoireCIfr-CInotice-only
CroatiaHRGDPR, EPRIVACYhr-HRopt-in
CubaCUes-CUnotice-only
CyprusCYGDPR, EPRIVACYel-CYopt-in
CzechiaCZGDPR, EPRIVACYcs-CZopt-in
DenmarkDKGDPR, EPRIVACYda-DKopt-in
DjiboutiDJfr-DJ, ar-DJnotice-only
DominicaDMennotice-only
Dominican RepublicDODATA-PROTECTION-DOes-DOgeneral-privacy-consent
DR CongoCDfr-CDnotice-only
EcuadorECLOPDP-ECes-ECgeneral-privacy-consent
EgyptEGDPA-EGar-EGgeneral-privacy-consent
El SalvadorSVes-SVnotice-only
Equatorial GuineaGQes-GQ, fr-GQnotice-only
EritreaERti-ERnotice-only
EstoniaEEGDPR, EPRIVACYet-EEopt-in
EswatiniSZennotice-only
EthiopiaETam-ETnotice-only
FijiFJPRIVACY-FJennotice-only
FinlandFIGDPR, EPRIVACYfi-FIopt-in
FranceFRGDPR, EPRIVACYfr-FRopt-in
French GuianaGFfr-GFnotice-only
French PolynesiaPFfr-PFnotice-only
GabonGAfr-GAnotice-only
GambiaGMennotice-only
GeorgiaGEka-GEnotice-only
GermanyDEGDPR, EPRIVACYde-DEopt-in
GhanaGHDPA-GHengeneral-privacy-consent
GibraltarGIUK-GDPRenopt-in
GreeceGRGDPR, EPRIVACYel-GRopt-in
GreenlandGLGDPRda-GLopt-in
GrenadaGDennotice-only
GuatemalaGTes-GTnotice-only
GuernseyGGGDPRenopt-in
GuineaGNfr-GNnotice-only
Guinea-BissauGWpt-GWnotice-only
GuyanaGYennotice-only
HaitiHTfr-HTnotice-only
Holy SeeVAit-VAnotice-only
HondurasHNes-HNnotice-only
Hong KongHKPDPL-HKzh-HKgeneral-privacy-consent
HungaryHUGDPR, EPRIVACYhu-HUopt-in
IcelandISGDPR, EPRIVACYis-ISopt-in
IndiaINDPDPAhi-IN, en, bn-IN, ta-INopt-in-dpdpa
IndonesiaIDPDP-IDid-IDgeneral-privacy-consent
IranIRfa-IRnotice-only
IraqIQar-IQnotice-only
IrelandIEGDPR, EPRIVACYenopt-in
IsraelILPRIVACY-ILhe-IL, ar-ILgeneral-privacy-consent
ItalyITGDPR, EPRIVACYit-ITopt-in
JamaicaJMennotice-only
JapanJPAPPIja-JPgeneral-privacy-consent
JordanJOar-JOgeneral-privacy-consent
KazakhstanKZkk-KZ, ru-KZnotice-only
KenyaKEDPA-KEsw-KE, engeneral-privacy-consent
KiribatiKIennotice-only
KuwaitKWPRIVACY-KWar-KWgeneral-privacy-consent
KyrgyzstanKGky-KG, ru-KGnotice-only
LaosLAlo-LAnotice-only
LatviaLVGDPR, EPRIVACYlv-LVopt-in
LebanonLBar-LBnotice-only
LesothoLSennotice-only
LiberiaLRennotice-only
LibyaLYar-LYnotice-only
LiechtensteinLIGDPR, EPRIVACYde-LIopt-in
LithuaniaLTGDPR, EPRIVACYlt-LTopt-in
LuxembourgLUGDPR, EPRIVACYfr-LU, de-LUopt-in
MacauMOPDPA-MOzh-MO, pt-MOgeneral-privacy-consent
MadagascarMGfr-MGnotice-only
MalawiMWengeneral-privacy-consent
MalaysiaMYPDPA-MYms-MY, zh-MY, engeneral-privacy-consent
MaldivesMVdv-MVnotice-only
MaliMLfr-MLnotice-only
MaltaMTGDPR, EPRIVACYmt-MT, enopt-in
Marshall IslandsMHennotice-only
MauritaniaMRar-MRnotice-only
MauritiusMUDPA-MUen, fr-MUgeneral-privacy-consent
MexicoMXLFPDPPPes-MXgeneral-privacy-consent
MicronesiaFMennotice-only
MoldovaMDro-MDgeneral-privacy-consent
MonacoMCGDPRfr-MCopt-in
MongoliaMNmn-MNnotice-only
MontenegroMEGDPRsr-Latn-MEopt-in
MoroccoMADPA-MAar-MA, fr-MAgeneral-privacy-consent
MozambiqueMZpt-MZnotice-only
MyanmarMMmy-MMnotice-only
NamibiaNAennotice-only
NauruNRennotice-only
NepalNPPRIVACY-NPne-NPnotice-only
NetherlandsNLGDPR, EPRIVACYnl-NLopt-in
New CaledoniaNCfr-NCnotice-only
New ZealandNZPRIVACY-NZengeneral-privacy-consent
NicaraguaNIes-NInotice-only
NigerNEfr-NEnotice-only
NigeriaNGNDPA-NGengeneral-privacy-consent
NiueNUennotice-only
Norfolk IslandNFennotice-only
North KoreaKPko-KPnotice-only
North MacedoniaMKGDPRmk-MKopt-in
Northern Mariana IslandsMPennotice-only
NorwayNOGDPR, EPRIVACYnb-NOopt-in
OmanOMPDPL-OMar-OMgeneral-privacy-consent
PakistanPKur-PK, ennotice-only
PalauPWennotice-only
PalestinePSar-PSnotice-only
PanamaPADATA-PROTECTION-PAes-PAgeneral-privacy-consent
Papua New GuineaPGPRIVACY-PGennotice-only
ParaguayPYes-PYgeneral-privacy-consent
PeruPELPDP-PEes-PEgeneral-privacy-consent
PhilippinesPHDPA-PHfil-PH, engeneral-privacy-consent
PolandPLGDPR, EPRIVACYpl-PLopt-in
PortugalPTGDPR, EPRIVACYpt-PTopt-in
Puerto RicoPRes-PR, ennotice-only
QatarQAQPDL-QAar-QAgeneral-privacy-consent
Republic of CongoCGfr-CGnotice-only
RomaniaROGDPR, EPRIVACYro-ROopt-in
RussiaRUru-RUnotice-only
RwandaRWDPA-RWrw-RW, engeneral-privacy-consent
Saint BarthélemyBLfr-BLnotice-only
Saint Kitts and NevisKNennotice-only
Saint LuciaLCennotice-only
Saint Pierre and MiquelonPMfr-PMnotice-only
Saint Vincent and the GrenadinesVCennotice-only
SamoaWSennotice-only
San MarinoSMGDPRit-SMopt-in
São Tomé and PríncipeSTpt-STnotice-only
Saudi ArabiaSAPDPL-SAar-SAgeneral-privacy-consent
SenegalSNfr-SNgeneral-privacy-consent
SerbiaRSGDPRsr-RSopt-in
SeychellesSCfr-SC, engeneral-privacy-consent
Sierra LeoneSLengeneral-privacy-consent
SingaporeSGPDPA-SGzh-SG, ms-SG, ta-SG, engeneral-privacy-consent
SlovakiaSKGDPR, EPRIVACYsk-SKopt-in
SloveniaSIGDPR, EPRIVACYsl-SIopt-in
Solomon IslandsSBennotice-only
SomaliaSOso-SOnotice-only
South AfricaZAPOPIAen, af-ZAgeneral-privacy-consent
South KoreaKRPIPA-KRko-KRgeneral-privacy-consent
South SudanSSennotice-only
SpainESGDPR, EPRIVACYes-ESopt-in
Sri LankaLKPRIVACY-LKsi-LK, ta-LKgeneral-privacy-consent
SudanSDar-SDnotice-only
SurinameSRnl-SRnotice-only
SwedenSEGDPR, EPRIVACYsv-SEopt-in
SwitzerlandCHREVFADPde-CH, fr-CH, it-CHopt-in
SyriaSYar-SYnotice-only
TaiwanTWPDPL-TWzh-TWgeneral-privacy-consent
TajikistanTJtg-TJnotice-only
TanzaniaTZsw-TZ, engeneral-privacy-consent
ThailandTHPDPA-THth-THopt-in
Timor-LesteTLpt-TLnotice-only
TogoTGfr-TGnotice-only
TongaTOennotice-only
Trinidad and TobagoTTennotice-only
TunisiaTNDPA-TNar-TN, fr-TNgeneral-privacy-consent
TürkiyeTRKVKKtr-TRopt-in
TurkmenistanTMtk-TMnotice-only
TuvaluTVennotice-only
UgandaUGDPA-UGengeneral-privacy-consent
UkraineUAuk-UAnotice-only
United Arab EmiratesAEUAE-PDPL, DIFC-DPL, ADGM-DPRar-AEgeneral-privacy-consent
United KingdomUKUK-GDPR, PECRenopt-in
United StatesUSCCPA, CPRA, VCDPA, CPA-CO, CTDPA, UCPA, ICDPA-IA, ICDPA-IN, TIPA, MCDPA-MT, MCDPA-MN, OCPA, TDPSA, DPDPA-DE, NJDPA, NHPA, NDPA-NE, MODPA, KCDPA, RIDTPAen, es-USopt-out
UruguayUYLAW18331-UYes-UYgeneral-privacy-consent
UzbekistanUZuz-UZnotice-only
VanuatuVUfr-VU, ennotice-only
VenezuelaVEes-VEnotice-only
VietnamVNPDPD-VNvi-VNgeneral-privacy-consent
YemenYEar-YEnotice-only
ZambiaZMDPA-ZMengeneral-privacy-consent
ZimbabweZWDPA-ZWengeneral-privacy-consent

Regional overrides

Some countries route sub-nationally instead of by country alone — most notably the United States (state-level laws) and Canada (Quebec's Law 25). When a resolver returns a region, Consenti checks this table before falling back to the country's base group above.

CanadaQuebecQCopt-inQuebec — Law 25 (GDPR-style opt-in)
United StatesCaliforniaCAopt-out-strictCalifornia — CPRA/CCPA
United StatesVirginiaVAopt-outVirginia — VCDPA
United StatesColoradoCOopt-outColorado — CPA
United StatesConnecticutCTopt-outConnecticut — CTDPA
United StatesUtahUTopt-outUtah — UCPA
United StatesTexasTXopt-outTexas — TDPSA
United StatesDelawareDEopt-outDelaware — DPDPA
United StatesNew JerseyNJopt-outNew Jersey — NJDPA
United StatesOregonORopt-outOregon — OCPA
United StatesMinnesotaMNopt-outMinnesota — MCDPA
United StatesMarylandMDopt-outMaryland — MODPA
United StatesKentuckyKYopt-outKentucky — KCDPA
United StatesTennesseeTNopt-outTennessee — TIPA
United StatesNebraskaNEopt-outNebraska — NDPA
United StatesIowaIAopt-outIowa — ICDPA
United StatesIndianaINopt-outIndiana — ICDPA
United StatesMontanaMTopt-outMontana — MCDPA
United StatesNew HampshireNHopt-outNew Hampshire — NHPA
United StatesRhode IslandRIopt-outRhode Island — RIDTPA

Supported locales

188 locale codes appear across the map above (BCP 47, e.g. fr-CA, zh-CN). A profile's translations map can use any of these — or any locale at all; the map only reflects what each country typically needs. Resolution order at runtime: exact locale match → language prefix → defaultLocale.

af-ZAam-ETar-AEar-BHar-DJar-DZar-EGar-ILar-IQar-JOar-KMar-KWar-LBar-LYar-MAar-MRar-OMar-PSar-QAar-SAar-SDar-SYar-TDar-TNar-YEaz-AZbe-BYbg-BGbn-BDbn-INbs-BAca-ADcs-CZda-DKda-GLde-ATde-CHde-DEde-LIde-LUdv-MVdz-BTel-CYel-GRenes-ARes-BOes-CLes-COes-CRes-CUes-DOes-ECes-ESes-GQes-GTes-HNes-MXes-NIes-PAes-PEes-PRes-PYes-SVes-USes-UYes-VEet-EEfa-AFfa-IRfi-FIfil-PHfr-BEfr-BFfr-BIfr-BJfr-BLfr-CAfr-CDfr-CFfr-CGfr-CHfr-CIfr-CMfr-DJfr-DZfr-FRfr-GAfr-GFfr-GNfr-GQfr-HTfr-KMfr-LUfr-MAfr-MCfr-MGfr-MLfr-MUfr-NCfr-NEfr-PFfr-PMfr-SCfr-SNfr-TDfr-TGfr-TNfr-VUhe-ILhi-INhr-HRhu-HUhy-AMid-IDis-ISit-CHit-ITit-SMit-VAja-JPka-GEkk-KZkm-KHko-KPko-KRky-KGlo-LAlt-LTlv-LVmk-MKmn-MNms-BNms-MYms-SGmt-MTmy-MMnb-NOne-NPnl-BEnl-NLnl-SRpl-PLpt-AOpt-BRpt-CVpt-GWpt-MOpt-MZpt-PTpt-STpt-TLro-MDro-ROru-BYru-KGru-KZru-RUrw-RWsi-LKsk-SKsl-SIso-SOsq-ALsr-Latn-BAsr-Latn-MEsr-RSsv-SEsw-KEsw-TZta-INta-LKta-SGtg-TJth-THti-ERtk-TMtr-TRuk-UAur-PKuz-UZvi-VNzh-CNzh-HKzh-MOzh-MYzh-SGzh-TW