@consentera/consent-sdk 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +245 -0
  2. package/LICENSE +21 -0
  3. package/README.md +489 -0
  4. package/dist/consentera-consent.cjs +4919 -0
  5. package/dist/consentera-consent.cjs.map +1 -0
  6. package/dist/consentera-consent.min.js +2 -0
  7. package/dist/consentera-consent.min.js.map +1 -0
  8. package/dist/consentera-consent.mjs +4864 -0
  9. package/dist/consentera-consent.mjs.map +1 -0
  10. package/dist/react/index.cjs +2731 -0
  11. package/dist/react/index.cjs.map +1 -0
  12. package/dist/react/index.mjs +2724 -0
  13. package/dist/react/index.mjs.map +1 -0
  14. package/dist/types/consent/CallbackHandler.d.ts +246 -0
  15. package/dist/types/consent/ConsentManager.d.ts +128 -0
  16. package/dist/types/consent/ConsentSession.d.ts +127 -0
  17. package/dist/types/consent/ConsentValidator.d.ts +63 -0
  18. package/dist/types/consent/artifactRead.d.ts +48 -0
  19. package/dist/types/consent/consentPopup.d.ts +115 -0
  20. package/dist/types/core/ConsentEraClient.d.ts +106 -0
  21. package/dist/types/core/ConsenteraConsent.d.ts +163 -0
  22. package/dist/types/core/errors.d.ts +108 -0
  23. package/dist/types/core/http.d.ts +176 -0
  24. package/dist/types/core/version.d.ts +36 -0
  25. package/dist/types/df/DFConfigClient.d.ts +59 -0
  26. package/dist/types/gcm/ConsentModeBridge.d.ts +54 -0
  27. package/dist/types/gpp/GPPManager.d.ts +62 -0
  28. package/dist/types/index.d.mts +5 -0
  29. package/dist/types/index.d.ts +28 -0
  30. package/dist/types/principal/PrincipalClient.d.ts +34 -0
  31. package/dist/types/react/ConsentEraProvider.d.ts +58 -0
  32. package/dist/types/react/ConsentGate.d.ts +40 -0
  33. package/dist/types/react/index.d.mts +4 -0
  34. package/dist/types/react/index.d.ts +10 -0
  35. package/dist/types/react/useConsentEra.d.ts +65 -0
  36. package/dist/types/react/useConsentValidation.d.ts +23 -0
  37. package/dist/types/storage/ConsentStorage.d.ts +39 -0
  38. package/dist/types/tcf/TCFManager.d.ts +46 -0
  39. package/dist/types/types/consent-lifecycle.d.ts +804 -0
  40. package/dist/types/types/index.d.ts +311 -0
  41. package/dist/types/ui/ConsentBanner.d.ts +22 -0
  42. package/dist/types/ui/PreferenceCenter.d.ts +24 -0
  43. package/dist/types/utils/EventEmitter.d.ts +32 -0
  44. package/dist/types/utils/Logger.d.ts +16 -0
  45. package/dist/types/utils/browserStorage.d.ts +35 -0
  46. package/dist/types/utils/context.d.ts +81 -0
  47. package/dist/types/utils/helpers.d.ts +48 -0
  48. package/package.json +132 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/core/errors.ts","../../src/consent/artifactRead.ts","../../src/utils/browserStorage.ts","../../src/core/version.ts","../../src/core/http.ts","../../src/consent/consentPopup.ts","../../src/consent/ConsentSession.ts","../../src/utils/context.ts","../../src/consent/ConsentValidator.ts","../../src/consent/ConsentManager.ts","../../src/consent/CallbackHandler.ts","../../src/df/DFConfigClient.ts","../../src/principal/PrincipalClient.ts","../../src/utils/EventEmitter.ts","../../src/utils/Logger.ts","../../src/core/ConsentEraClient.ts","../../src/react/ConsentEraProvider.tsx","../../src/react/useConsentEra.ts","../../src/react/useConsentValidation.ts","../../src/react/ConsentGate.tsx"],"names":["_jsx","_Fragment"],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Consentera Consent SDK — Callback Handler
3
+ *
4
+ * ─── THIS ROAD FAILS CLOSED, AND BEFORE 2.0.0 IT DID NOT ───────────────────
5
+ *
6
+ * The 1.x handler read `session_id`, `artifact_id` and `status` out of
7
+ * `window.location.search`, looked up the stored session, logged
8
+ * "Callback verified against stored session" — and then verified NOTHING. It
9
+ * never parsed the record it had stored, never compared the nonce, never
10
+ * compared the notice hash, and returned `status: 'completed'` for any URL
11
+ * carrying an `artifact_id` (the `normalizeStatus` default). A link to
12
+ *
13
+ * https://your-site.example/consent/done?session_id=x&artifact_id=y
14
+ *
15
+ * made `consent.handleCallback()` answer "completed" with no consent given.
16
+ * The log line said "verified" the whole time, which is why it survived review.
17
+ *
18
+ * What replaces it:
19
+ *
20
+ * 1. The stored record is PARSED. Its session id must equal the one in the
21
+ * URL, and the `state` THIS SDK minted and put on callback_url at create
22
+ * must come back on the return. A mismatch, an absence, or an
23
+ * unparseable record is `unverified`.
24
+ *
25
+ * IT IS THE SDK'S OWN STATE, NOT THE SERVER'S challengeNonce. Until the
26
+ * callback-contract fix this compared the create response's
27
+ * `challengeNonce` with a `nonce` on the return — and the platform's
28
+ * return never carries one (collection.go:4225-4288 adds session_id,
29
+ * artifact_id, status, pending and, when signed, sig). challengeNonce is
30
+ * the hosted page's own credential: it rides consent_url
31
+ * (`/collect/<id>?nonce=…`, :2010) and comes back on the page's submit
32
+ * (:3509-3543). So every genuine web redirect came back `unverified`.
33
+ * The state survives because the platform builds the return ON TOP of
34
+ * callback_url's existing query — the mobile SDKs' binding, the same way.
35
+ * 2. `completed` is only ever reached by CONFIRMING THE ARTIFACT with the
36
+ * platform — `GET /consent/artifacts/{id}` through the same road the rest
37
+ * of the SDK uses, which in a browser is the Data Fiduciary's proxy. The
38
+ * URL is a claim; the artifact is the evidence.
39
+ * 3. Everything else is `unverified`. There is no path from a query string to
40
+ * `completed`.
41
+ *
42
+ * `parseCallback` is therefore ASYNC now. The synchronous
43
+ * {@link CallbackHandler.readCallbackParams} is kept for a caller that only
44
+ * wants to know what the URL says — it is named so that using it as a decision
45
+ * is visibly the wrong thing.
46
+ */
47
+ import { Logger } from '../utils/Logger';
48
+ import type { ConsentArtifact } from '../types/consent-lifecycle';
49
+ import type { RequestOptions } from '../core/http';
50
+ type RequestFn = <T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body?: unknown, queryParams?: Record<string, string | number | boolean | undefined | null>, options?: RequestOptions) => Promise<T>;
51
+ /**
52
+ * THE STATUS VOCABULARY THE PLATFORM ISSUES ON A CALLBACK — and only these.
53
+ *
54
+ * consent/collection.go (platform pre-main 35cd853ac7) derives it at
55
+ * :4094-4098 — `granted`; no purpose granted → `denied`; some denied →
56
+ * `partial` — and SETS it on the redirect at :4243. The hosted page's
57
+ * postMessage carries the same three (consent/consentPopup.ts). Anything else
58
+ * on a callback — `completed`, `success`, `expired`, a different case, an
59
+ * absent value — did not come from the platform, and is `unknown`.
60
+ */
61
+ export type CallbackClaimedStatus = 'granted' | 'partial' | 'denied' | 'unknown';
62
+ /** Map the raw `status` query value onto the platform's vocabulary. Exact match: the server writes lowercase. */
63
+ export declare function claimedCallbackStatus(raw: string | null | undefined): CallbackClaimedStatus;
64
+ /** What the callback URL claims, before anything has been checked. */
65
+ export interface CallbackParams {
66
+ session_id: string;
67
+ artifact_id?: string;
68
+ raw_status: string;
69
+ /**
70
+ * `raw_status` read against the platform's vocabulary. A HINT: it is a query
71
+ * parameter, and anyone can type one. Confirm by reading the consent record
72
+ * back (through your backend, or {@link CallbackHandler.parseCallback}).
73
+ */
74
+ claimed_status: CallbackClaimedStatus;
75
+ /**
76
+ * `pending=1` on the URL (collection.go:4274, walk finding F018): the consent
77
+ * was recorded and its artifact is STILL BEING WRITTEN, so a read right now
78
+ * may answer 202 + Retry-After. It is a constant on the platform's capture
79
+ * road, it is NOT signed, and a browser can add or strip it — so it only
80
+ * tells you to expect a wait, never whether a consent exists.
81
+ */
82
+ pending: boolean;
83
+ /** The `state` this SDK put on callback_url at create, echoed back by the platform. */
84
+ state?: string;
85
+ /** The platform's HMAC over `session_id|artifact_id|status`, when signed. */
86
+ sig?: string;
87
+ error?: string;
88
+ }
89
+ export type CallbackStatus =
90
+ /**
91
+ * The artifact was read back from the platform for this session. The
92
+ * callback claimed `granted` or `partial` — see `claimed_status` for which;
93
+ * the artifact's purposes are the authority on what was granted.
94
+ */
95
+ 'completed'
96
+ /** The callback claimed `denied` and the round trip verified. */
97
+ | 'denied'
98
+ /** The URL carried an `error` parameter. Not something the platform's capture road issues. */
99
+ | 'error'
100
+ /**
101
+ * The consent WAS recorded — the platform said so with a 202 on the artifact
102
+ * read for this session — but the artifact is not readable yet. It is
103
+ * written ASYNCHRONOUSLY after submit; measured 5.2–10.8s to become readable
104
+ * on a saturated box (walk finding F018). This is never a failure and never
105
+ * a `completed`: read it again with `getArtifact(id, { sessionId })` after
106
+ * `retryAfterMs`, or read it server-side.
107
+ *
108
+ * It is reached ONLY from a 202. A 404 is not a pending (WEB-033): with the
109
+ * session id on the read, a 404 means the id was never issued for it.
110
+ */
111
+ | 'pending'
112
+ /** Nothing here is proven. Treat exactly as "no consent". */
113
+ | 'unverified';
114
+ /**
115
+ * Verify the platform's `sig` parameter.
116
+ *
117
+ * ─── WHO CAN DO THIS, AND WHERE ────────────────────────────────────────────
118
+ *
119
+ * The platform signs the callback when the Data Fiduciary has registered a
120
+ * `callback_signing_secret` on its m2m_client:
121
+ *
122
+ * sig = hex( HMAC_SHA256( callback_signing_secret,
123
+ * session_id + "|" + artifact_id + "|" + status ) )
124
+ *
125
+ * (signCallbackParams in consent/collection.go, added to the URL at :4280-4288
126
+ * on platform pre-main 35cd853ac7, through the same setter as `status`.)
127
+ *
128
+ * THE KEY IS THE DF'S SHARED SECRET, so it cannot live in a browser — verifying
129
+ * there would mean publishing it to every visitor, which is the same mistake as
130
+ * a secret API key in a bundle. In a browser, point this at your own server:
131
+ *
132
+ * new ConsentEraClient({ …, verifyCallbackSignature: async (p) =>
133
+ * (await fetch('/api/consentera/verify-callback', {
134
+ * method: 'POST', body: JSON.stringify(p) })).ok })
135
+ *
136
+ * On a server, {@link verifyCallbackSignature} computes it directly.
137
+ *
138
+ * Return false and the result is `unverified`. Configure nothing and a callback
139
+ * that CARRIES a sig is also `unverified` — a signature nobody checks is not a
140
+ * control, and silently ignoring one the platform bothered to produce is how a
141
+ * spoofed redirect gets accepted.
142
+ */
143
+ export type CallbackSignatureVerifier = (params: {
144
+ sessionId: string;
145
+ artifactId: string;
146
+ status: string;
147
+ sig: string;
148
+ }) => boolean | Promise<boolean>;
149
+ /**
150
+ * Compute and compare the platform's callback signature. SERVER-SIDE ONLY —
151
+ * the secret must never reach a browser.
152
+ *
153
+ * The canonical string is `session_id + "|" + artifact_id + "|" + status`, in
154
+ * that order, with the raw values as they appear on the URL.
155
+ */
156
+ export declare function verifyCallbackSignature(secret: string, params: {
157
+ sessionId: string;
158
+ artifactId: string;
159
+ status: string;
160
+ sig: string;
161
+ }): Promise<boolean>;
162
+ export interface CallbackResult {
163
+ session_id: string;
164
+ artifact_id?: string;
165
+ /** What the URL claimed (`granted|partial|denied`, else `unknown`). A hint, never proof. */
166
+ claimed_status: CallbackClaimedStatus;
167
+ /** Whether the URL carried `pending=1` — the record was still being written. A hint, never proof. */
168
+ claimed_pending: boolean;
169
+ /**
170
+ * `completed` means the artifact was fetched from the platform and belongs to
171
+ * this session. Everything unproven is `unverified` — never `completed`.
172
+ */
173
+ status: CallbackStatus;
174
+ /** Why it is not completed, when it is not. */
175
+ reason?: string;
176
+ /** Whether the platform's `sig` was present and verified. */
177
+ signature?: 'verified' | 'unverifiable' | 'absent' | 'invalid';
178
+ error?: string;
179
+ /** The artifact, when status is `completed`. */
180
+ artifact?: ConsentArtifact;
181
+ /** When status is `pending`: when to read the artifact again, in ms. */
182
+ retryAfterMs?: number;
183
+ }
184
+ export interface CallbackHandlerOptions {
185
+ /** See {@link CallbackSignatureVerifier}. */
186
+ verifySignature?: CallbackSignatureVerifier;
187
+ /**
188
+ * How long to wait for the artifact to become readable, in ms. The artifact
189
+ * is written asynchronously after submit; while it is, the platform answers
190
+ * 202 with a Retry-After (measured 5.2–10.8s on a saturated box). Default
191
+ * 15000. Set 0 to not wait, which returns `pending` on the first 202.
192
+ */
193
+ artifactWaitMs?: number;
194
+ }
195
+ export declare class CallbackHandler {
196
+ private logger;
197
+ private request;
198
+ private options;
199
+ constructor(logger: Logger, request?: RequestFn, options?: CallbackHandlerOptions);
200
+ /**
201
+ * Read the callback URL's claims. THIS IS NOT A DECISION — the values come
202
+ * from the address bar and anyone can type them. Use {@link parseCallback}.
203
+ */
204
+ readCallbackParams(searchParams?: string | URLSearchParams): CallbackParams;
205
+ /**
206
+ * Verify a consent callback. Resolves `completed` ONLY when the stored
207
+ * session matches and the artifact was confirmed with the platform.
208
+ */
209
+ parseCallback(searchParams?: string | URLSearchParams): Promise<CallbackResult>;
210
+ /**
211
+ * Read the artifact back FOR THIS SESSION, waiting while the platform says
212
+ * it is still being written.
213
+ *
214
+ * THE READ CARRIES ?session_id=, AND THAT DECIDES WHAT A 404 MEANS (WEB-033).
215
+ * With it the platform answers 202 + Retry-After while the projection is
216
+ * owed and 404 only when the id was never issued for this session (or will
217
+ * never be written). Until WEB-033 the read went out without it, so every
218
+ * absence was a 404, and this method polled every 404 as "maybe pending" — a
219
+ * forged artifact_id came back `pending` instead of refused.
220
+ *
221
+ * 200 the artifact. Then it must name the person this browser's session
222
+ * was created for (below). Then `completed`.
223
+ * 202 recorded, not readable yet: wait Retry-After inside the budget, else
224
+ * `pending`.
225
+ * 404 `unverified`, at once. Not polled: it is an answer, not a delay.
226
+ * else `unverified` (403, network, timeout — unproven is unproven).
227
+ *
228
+ * THE BINDING IS THE PERSON, NOT A RESPONSE FIELD (WEB-034). This method used
229
+ * to compare `consent_session_id` on the artifact with the callback's
230
+ * session. The platform's artifact carries no such field (measured on
231
+ * setup.consentera.in, fixtures/platform-wire/artifact-read.200.*.json), so
232
+ * the check was skipped on every real response and bound nothing. What the
233
+ * artifact does carry is `data_principal_id`, and the session create
234
+ * returned the same field for the person the session is about. They must be
235
+ * equal. This matters because the platform's 200 path does not check the
236
+ * session (walk finding F077, measured: the same artifact read with a random
237
+ * session_id is still 200), so without it a callback carrying someone
238
+ * else's artifact_id would confirm.
239
+ */
240
+ private confirmArtifact;
241
+ /** Is this page a consent callback? Says nothing about whether it is genuine. */
242
+ isCallback(searchParams?: string): boolean;
243
+ /** Record the outcome for the popup flow to collect, and log it. */
244
+ private finish;
245
+ }
246
+ export {};
@@ -0,0 +1,128 @@
1
+ /**
2
+ * ConsentEra Consent SDK — Consent Lifecycle Manager
3
+ * Update, withdraw, and renew consent decisions
4
+ */
5
+ import { UpdateContextResponse, ConsentUpdate, WithdrawalContextResponse, RenewalContextResponse, RenewResponse, BulkRenewResponse, WithdrawalAnalytics } from '../types/consent-lifecycle';
6
+ import { type ContextMode } from '../utils/context';
7
+ import { Logger } from '../utils/Logger';
8
+ import { type RequestOptions, type TransportResponse } from '../core/http';
9
+ type RequestFn = <T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body?: unknown, queryParams?: Record<string, string | number | boolean | undefined | null>, options?: RequestOptions) => Promise<T>;
10
+ /** Per-call knobs every mutation accepts. */
11
+ export interface MutationOptions {
12
+ /**
13
+ * The idempotency key for this LOGICAL consent change. Supply it and a repeat
14
+ * of the same user action — a double-clicked Save, a retried job — collapses
15
+ * into one write instead of two. Omitted, the SDK mints one per call and
16
+ * reuses it across its own retries.
17
+ */
18
+ idempotencyKey?: string;
19
+ signal?: AbortSignal;
20
+ timeoutMs?: number;
21
+ }
22
+ export declare class ConsentManager {
23
+ private request;
24
+ private logger;
25
+ /**
26
+ * Called after every successful consent mutation with
27
+ * {dataPrincipalId, changes:[{purpose_id,status}], source}. The client wires this
28
+ * to its EventEmitter as the public `consent.changed` event — downstream
29
+ * code (tracker gates, Consent Mode bridges) subscribes instead of polling.
30
+ */
31
+ onChanged?: (payload: {
32
+ dataPrincipalId: string;
33
+ changes: {
34
+ purpose_id: string;
35
+ status: string;
36
+ }[];
37
+ source: string;
38
+ }) => void;
39
+ private contextMode;
40
+ constructor(request: RequestFn, logger: Logger, options?: {
41
+ contextMode?: ContextMode;
42
+ });
43
+ /** The client context for a mutation, at whatever detail the host allowed. */
44
+ private context;
45
+ /** One key per logical operation, reused by the transport across its retries. */
46
+ private mutation;
47
+ private emitChanged;
48
+ /**
49
+ * Get the current consent context for a data principal.
50
+ * Returns all consents with their current status.
51
+ *
52
+ * ─── THIS ROAD TAKES THE ID AND NOTHING ELSE ──────────────────────────
53
+ *
54
+ * It is a GET, so the only place an identifier could go is the query string,
55
+ * and the platform refuses to put one there: a query string is written
56
+ * VERBATIM into the access log of every hop that sees the request line, kept
57
+ * in browser history, and sent onward in the Referer header
58
+ * (consent/lifecycle_identity.go:120-133). So this road was RESTRICTED to
59
+ * `data_principal_id`, not converted to identifiers the way the POST roads
60
+ * were — `?data_principal_ref=` is refused `DATA_PRINCIPAL_REF_REFUSED`
61
+ * even when `data_principal_id` is also present.
62
+ *
63
+ * IF YOU HOLD AN IDENTIFIER AND NOT THE ID: resolve it once with
64
+ * `validate.check({ data_principal_identifiers: … }, purpose)` and read
65
+ * `data_principal_id` off that response, then call this with the id.
66
+ *
67
+ * The parameter used to be `dataPrincipalIdOrRef` and guessed by UUID shape:
68
+ * anything not UUID-shaped went out as `data_principal_ref`, which this road
69
+ * now refuses. The guess is gone — a non-UUID is rejected here, by name.
70
+ */
71
+ getUpdateContext(dataPrincipalId: string, queryParams?: {
72
+ language_code?: string;
73
+ }): Promise<UpdateContextResponse>;
74
+ /**
75
+ * Update consent decisions for a data principal.
76
+ * Pass an array of purpose updates (grant or deny).
77
+ */
78
+ update(dataPrincipalId: string, updates: ConsentUpdate[], context: {
79
+ noticeVersionId: string;
80
+ noticeHash: string;
81
+ languageCode?: string;
82
+ }, uiEventId?: string, options?: MutationOptions): Promise<void>;
83
+ /**
84
+ * Convenience: Grant specific purposes.
85
+ */
86
+ grant(dataPrincipalId: string, purposeIds: string[], context: {
87
+ noticeVersionId: string;
88
+ noticeHash: string;
89
+ languageCode?: string;
90
+ }, uiEventId?: string, options?: MutationOptions): Promise<void>;
91
+ /**
92
+ * Convenience: Deny specific purposes.
93
+ */
94
+ deny(dataPrincipalId: string, purposeIds: string[], context: {
95
+ noticeVersionId: string;
96
+ noticeHash: string;
97
+ languageCode?: string;
98
+ }, uiEventId?: string, options?: MutationOptions): Promise<void>;
99
+ /**
100
+ * Get the withdrawal context — which consents can be withdrawn.
101
+ */
102
+ getWithdrawalContext(dataPrincipalId: string): Promise<WithdrawalContextResponse>;
103
+ /**
104
+ * Withdraw consent for specific purposes.
105
+ */
106
+ withdraw(dataPrincipalId: string, purposeIds: string[], reason?: string, uiEventId?: string, options?: MutationOptions): Promise<void>;
107
+ /**
108
+ * Bulk withdraw consent for multiple purposes.
109
+ */
110
+ withdrawBulk(dataPrincipalId: string, purposeIds: string[], reason?: string, uiEventId?: string, options?: MutationOptions): Promise<void>;
111
+ /**
112
+ * Get withdrawal analytics (reasons, trends).
113
+ */
114
+ getWithdrawalAnalytics(): Promise<WithdrawalAnalytics>;
115
+ /**
116
+ * Get the renewal context — which consents are expiring and need renewal.
117
+ */
118
+ getRenewalContext(dataPrincipalId: string): Promise<RenewalContextResponse>;
119
+ /**
120
+ * Renew consent for specific purposes.
121
+ */
122
+ renew(dataPrincipalId: string, purposeIds: string[], noticeHash: string, uiEventId?: string, options?: MutationOptions): Promise<TransportResponse<RenewResponse>>;
123
+ /**
124
+ * Bulk renew all expiring consents.
125
+ */
126
+ renewBulk(dataPrincipalId: string, purposeIds: string[], noticeHash: string, uiEventId?: string, options?: MutationOptions): Promise<TransportResponse<BulkRenewResponse>>;
127
+ }
128
+ export {};