UNPKG

c15t

Version:

Headless JavaScript consent management platform for cookie banners, privacy preferences, consent storage, and script gating.

75 lines (54 loc) 2.19 kB
--- title: Overview description: Reference page for overview. group: reference --- > ⚠️ **Warning:** > Must be used within a ConsentManagerProvider. Throws an error if used outside the provider. ## State Properties |Property|Value| |:--|:--| |Type Name|\`StoreRuntimeState\`| |Source Path|\`./packages/core/src/store/type.ts\`| \*ExtractedTypeTable: Could not extract "StoreRuntimeState" from "./packages/core/src/store/type.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\* ## Action Methods |Property|Value| |:--|:--| |Type Name|\`StoreActions\`| |Source Path|\`./packages/core/src/store/type.ts\`| \*ExtractedTypeTable: Could not extract "StoreActions" from "./packages/core/src/store/type.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\* ## Key Types ### ConsentState A record mapping consent category names to their boolean values: ```ts type ConsentState = Record<AllConsentNames, boolean>; // Example: { necessary: true, measurement: true, marketing: false } ``` ### ConsentInfo Metadata about when and how consent was recorded: ```ts interface ConsentInfo { time: number; // Epoch timestamp when consent was recorded subjectId?: string; // Client-generated subject ID (sub_xxx format) externalId?: string; // External user ID linked via identifyUser() identityProvider?: string; // Identity provider (e.g. 'clerk', 'auth0') } ``` ### LocationInfo Detected geographic location from the c15t backend: ```ts interface LocationInfo { countryCode: string; // ISO 3166-1 alpha-2 (e.g. 'DE') regionCode: string; // Region/state code (e.g. 'BY') jurisdiction: string; // Applicable jurisdiction (e.g. 'GDPR', 'CCPA') } ``` ### Model The active consent model: ```ts type Model = 'opt-in' | 'opt-out' | 'iab' | null; ``` * `'opt-in'` Explicit consent required before tracking (GDPR) * `'opt-out'` Tracking allowed by default, user can opt out (CCPA) * `'iab'` IAB TCF 2.3 compliance mode * `null` No jurisdiction detected yet