c15t
Version:
Headless JavaScript consent management platform for cookie banners, privacy preferences, consent storage, and script gating.
75 lines (54 loc) • 2.19 kB
Markdown
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