@osano/osano-cmp-react-native 0.19.0 → 0.19.2

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 (63) hide show
  1. package/README.md +2 -0
  2. package/lib/commonjs/ConsentManager.js +23 -0
  3. package/lib/commonjs/ConsentManager.js.map +1 -1
  4. package/lib/commonjs/components/Button.js +7 -2
  5. package/lib/commonjs/components/Button.js.map +1 -1
  6. package/lib/commonjs/iab/tcf/iab-storage-utils.js +53 -49
  7. package/lib/commonjs/iab/tcf/iab-storage-utils.js.map +1 -1
  8. package/lib/commonjs/iab/tcf/middleware.js +20 -23
  9. package/lib/commonjs/iab/tcf/middleware.js.map +1 -1
  10. package/lib/commonjs/iab/tcf/reducer.js +0 -22
  11. package/lib/commonjs/iab/tcf/reducer.js.map +1 -1
  12. package/lib/commonjs/index.js +16 -2
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/commonjs/reducer.js +5 -1
  15. package/lib/commonjs/reducer.js.map +1 -1
  16. package/lib/commonjs/services/consent.js +182 -81
  17. package/lib/commonjs/services/consent.js.map +1 -1
  18. package/lib/commonjs/utils/Translator.js +25 -20
  19. package/lib/commonjs/utils/Translator.js.map +1 -1
  20. package/lib/module/ConsentManager.js +23 -0
  21. package/lib/module/ConsentManager.js.map +1 -1
  22. package/lib/module/components/Button.js +7 -2
  23. package/lib/module/components/Button.js.map +1 -1
  24. package/lib/module/iab/tcf/iab-storage-utils.js +53 -49
  25. package/lib/module/iab/tcf/iab-storage-utils.js.map +1 -1
  26. package/lib/module/iab/tcf/middleware.js +22 -25
  27. package/lib/module/iab/tcf/middleware.js.map +1 -1
  28. package/lib/module/iab/tcf/reducer.js +1 -23
  29. package/lib/module/iab/tcf/reducer.js.map +1 -1
  30. package/lib/module/index.js +17 -3
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/reducer.js +5 -1
  33. package/lib/module/reducer.js.map +1 -1
  34. package/lib/module/services/consent.js +178 -79
  35. package/lib/module/services/consent.js.map +1 -1
  36. package/lib/module/utils/Translator.js +25 -20
  37. package/lib/module/utils/Translator.js.map +1 -1
  38. package/lib/typescript/src/ConsentManager.d.ts +11 -1
  39. package/lib/typescript/src/ConsentManager.d.ts.map +1 -1
  40. package/lib/typescript/src/components/Button.d.ts.map +1 -1
  41. package/lib/typescript/src/iab/tcf/iab-storage-utils.d.ts +7 -7
  42. package/lib/typescript/src/iab/tcf/iab-storage-utils.d.ts.map +1 -1
  43. package/lib/typescript/src/iab/tcf/middleware.d.ts.map +1 -1
  44. package/lib/typescript/src/iab/tcf/reducer.d.ts +1 -0
  45. package/lib/typescript/src/iab/tcf/reducer.d.ts.map +1 -1
  46. package/lib/typescript/src/index.d.ts.map +1 -1
  47. package/lib/typescript/src/reducer.d.ts.map +1 -1
  48. package/lib/typescript/src/services/consent.d.ts +28 -0
  49. package/lib/typescript/src/services/consent.d.ts.map +1 -1
  50. package/lib/typescript/src/utils/Translator.d.ts +2 -0
  51. package/lib/typescript/src/utils/Translator.d.ts.map +1 -1
  52. package/package.json +4 -4
  53. package/src/ConsentManager.ts +24 -1
  54. package/src/components/Button.tsx +10 -2
  55. package/src/iab/tcf/iab-storage-utils.ts +101 -56
  56. package/src/iab/tcf/middleware.ts +36 -32
  57. package/src/iab/tcf/reducer.ts +2 -29
  58. package/src/index.tsx +15 -1
  59. package/src/reducer.ts +4 -0
  60. package/src/services/consent.ts +223 -90
  61. package/src/types/consent-config.d.ts +5 -1
  62. package/src/types/store.d.ts +5 -0
  63. package/src/utils/Translator.ts +35 -25
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { CLEAR_CONSENT, RELOAD, SAVE_BEGIN, SET_CONFIG } from '../../actions';
3
+ import { CLEAR_CONSENT, RELOAD, SET_CONFIG } from '../../actions';
4
4
  import { SET_CONSENT, SET_PURPOSE_CONSENT, SET_SPECIAL_FEATURE_CONSENT, SET_VENDOR_CONSENT, UPDATE_PURPOSE_LIST } from './actions';
5
5
  import { getUpdatedVendorDisclosures, getVendorListVersion, getVendors } from './selectors';
6
6
  import { updatePurposeOptOuts, updateSpecialFeatureOptIns, updateVendorOptOuts } from './helpers';
7
- import { Platform } from 'react-native';
8
- import { setStorage } from '../../native/OsanoCmp';
9
7
  export const initialState = {
10
8
  iab: {
11
9
  consentStrings: {},
@@ -70,7 +68,6 @@ const updateOptions = (state, options) => {
70
68
  export default function makeReducer(initOptions) {
71
69
  const {
72
70
  createConsentPayload,
73
- gppSection,
74
71
  version
75
72
  } = initOptions;
76
73
  return (state, action) => {
@@ -123,25 +120,6 @@ export default function makeReducer(initOptions) {
123
120
  }
124
121
  };
125
122
  }
126
- case SAVE_BEGIN:
127
- {
128
- const config = state.config;
129
- if (config?.configId && config.iabEnabled) {
130
- const consentPayload = createConsentPayload(state);
131
- switch (Platform.OS) {
132
- case 'ios':
133
- case 'android':
134
- setStorage(`${gppSection}_${config.configId}`, JSON.stringify(consentPayload));
135
- break;
136
- default:
137
- try {
138
- window.localStorage.setItem(`${gppSection}_${config.configId}`, JSON.stringify(consentPayload));
139
- } catch {}
140
- break;
141
- }
142
- }
143
- return state;
144
- }
145
123
  case CLEAR_CONSENT:
146
124
  {
147
125
  const consentPayload = createConsentPayload();
@@ -1 +1 @@
1
- {"version":3,"names":["CLEAR_CONSENT","RELOAD","SAVE_BEGIN","SET_CONFIG","SET_CONSENT","SET_PURPOSE_CONSENT","SET_SPECIAL_FEATURE_CONSENT","SET_VENDOR_CONSENT","UPDATE_PURPOSE_LIST","getUpdatedVendorDisclosures","getVendorListVersion","getVendors","updatePurposeOptOuts","updateSpecialFeatureOptIns","updateVendorOptOuts","Platform","setStorage","initialState","iab","consentStrings","tcf","v2","purposeOptouts","specialFeatureOptins","stacks","vendorListError","vendorListLoading","vendorListLoaded","vendorListVersion","vendors","vendorOptouts","vendorDisclosures","processPurposeList","_purposeList","_language","updateOptions","state","options","initOptions","config","version","makeReducer","createConsentPayload","gppSection","action","type","payload","customerId","configId","consentConfig","iabEnabled","consentPayload","OS","JSON","stringify","window","localStorage","setItem","specialFeatureId","acceptOrDeny","purposeId","vendorId","purposeList","language"],"sourceRoot":"../../../../src","sources":["iab/tcf/reducer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CLEAR_CONSENT","RELOAD","SET_CONFIG","SET_CONSENT","SET_PURPOSE_CONSENT","SET_SPECIAL_FEATURE_CONSENT","SET_VENDOR_CONSENT","UPDATE_PURPOSE_LIST","getUpdatedVendorDisclosures","getVendorListVersion","getVendors","updatePurposeOptOuts","updateSpecialFeatureOptIns","updateVendorOptOuts","initialState","iab","consentStrings","tcf","v2","purposeOptouts","specialFeatureOptins","stacks","vendorListError","vendorListLoading","vendorListLoaded","vendorListVersion","vendors","vendorOptouts","vendorDisclosures","processPurposeList","_purposeList","_language","updateOptions","state","options","initOptions","config","version","makeReducer","createConsentPayload","action","type","payload","customerId","configId","consentConfig","consentPayload","specialFeatureId","acceptOrDeny","purposeId","vendorId","purposeList","language"],"sourceRoot":"../../../../src","sources":["iab/tcf/reducer.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React, { memo, useCallback, useEffect, useMemo, useRef } from 'react';
4
4
  import { Platform, UIManager } from 'react-native';
5
- import { CLEAR_CONSENT, reload, setConfig, setLocale, showDialog, showDrawer } from './actions';
5
+ import { CLEAR_CONSENT, SAVE_BEGIN, reload, setConfig, setLocale, showDialog, showDrawer } from './actions';
6
6
  import { init, reducer } from './reducer';
7
7
  import { ConsentManager } from './ConsentManager';
8
8
  import { ConsentUiBuilder } from './ConsentUiBuilder';
@@ -76,7 +76,14 @@ export const Osano = /*#__PURE__*/memo(props => {
76
76
  doNotSellCategories: consentManager.current.config.doNotSellCategories
77
77
  }));
78
78
  }
79
- return recordConsent(consentManager.current, consentedCategories);
79
+ dispatch({
80
+ type: SAVE_BEGIN,
81
+ payload: consentedCategories
82
+ });
83
+ return recordConsent(consentManager.current, consentedCategories).then(recordedConsent => {
84
+ consentManager.current.triggerGoogleConsentUpdate(recordedConsent);
85
+ return recordedConsent;
86
+ });
80
87
  }, []);
81
88
  const handleClearConsent = useCallback(() => {
82
89
  dispatch({
@@ -149,6 +156,7 @@ export const Osano = /*#__PURE__*/memo(props => {
149
156
  onLangLoadFailure
150
157
  }).then(reloadProps => {
151
158
  // We need to reset the state when the configId or customerId changes
159
+ const consentInvalidated = consentManager.current.consentInvalidated;
152
160
  dispatch(reload({
153
161
  // Pass config so init-time opt-out normalization runs on the
154
162
  // stored consent even in headless consumers, where SET_CONFIG's
@@ -156,8 +164,14 @@ export const Osano = /*#__PURE__*/memo(props => {
156
164
  config: consentManager.current.config,
157
165
  configId: reloadProps.configId,
158
166
  customerId: reloadProps.customerId,
159
- consent: reloadProps.consent
167
+ consent: reloadProps.consent,
168
+ // Signals the IAB TCF middleware to wipe (not rehydrate) the
169
+ // stored TC string on this RELOAD; see its RELOAD handler.
170
+ consentInvalidated
160
171
  }));
172
+ if (consentManager.current.consentPromptRequired) {
173
+ dispatch(showDialog());
174
+ }
161
175
  return reloadProps;
162
176
  }).catch(() => {
163
177
  // TODO: Handle error
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useCallback","useEffect","useMemo","useRef","Platform","UIManager","CLEAR_CONSENT","reload","setConfig","setLocale","showDialog","showDrawer","init","reducer","ConsentManager","ConsentUiBuilder","ConsentCategory","formatConsentArray","makeConsentFromCategories","normalizeDoNotSellConsent","OsanoPublicContext","usePrevious","useThunkReducer","addIabReducers","getConsent","recordConsent","osanoLogger","OsanoLogger","jsx","_jsx","jsxs","_jsxs","OsanoContext","GoogleConsentModeMapper","OS","setLayoutAnimationEnabledExperimental","Osano","props","configId","customerId","hideUI","hideDisclosures","onConfigLoadFailure","onConfigLoadSuccess","onLangLoadFailure","onLangLoadSuccess","onGoogleConsentUpdate","overrides","extUsrData","setLoggingEnabled","flavor","iabEnabled","consentManager","setEnabled","_state","store","current","middleware","bind","addMiddleware","dispatch","getState","removeMiddleware","handleGetConsent","category","hasConsent","consent","ESSENTIAL","handleRecordConsent","consentedCategories","undefined","categories","Array","isArray","enableDoNotSell","config","doNotSellCategories","handleClearConsent","type","triggerGoogleConsentUpdate","retryWithBackoff","callback","retries","delay","attempt","loaded","Error","error","Promise","resolve","setTimeout","handleShowDialog","handleShowDrawer","handleSetLocale","value","translator","load","then","handleGetDeviceId","deviceId","handleGetJurisdiction","jurisdiction","handleSetConsentExpirationTestingMode","expirationSeconds","setConsentExpirationTestingMode","context","locale","getDeviceId","getJurisdiction","clearConsent","showBanner","isReady","reloadProps","catch","setGoogleConsentModeCallback","iabLoaded","iabChanged","frameworks","tcfController","push","versions","length","Provider","children","cmp","prev","next","nextFlavor","nextIabEnabled"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useCallback","useEffect","useMemo","useRef","Platform","UIManager","CLEAR_CONSENT","SAVE_BEGIN","reload","setConfig","setLocale","showDialog","showDrawer","init","reducer","ConsentManager","ConsentUiBuilder","ConsentCategory","formatConsentArray","makeConsentFromCategories","normalizeDoNotSellConsent","OsanoPublicContext","usePrevious","useThunkReducer","addIabReducers","getConsent","recordConsent","osanoLogger","OsanoLogger","jsx","_jsx","jsxs","_jsxs","OsanoContext","GoogleConsentModeMapper","OS","setLayoutAnimationEnabledExperimental","Osano","props","configId","customerId","hideUI","hideDisclosures","onConfigLoadFailure","onConfigLoadSuccess","onLangLoadFailure","onLangLoadSuccess","onGoogleConsentUpdate","overrides","extUsrData","setLoggingEnabled","flavor","iabEnabled","consentManager","setEnabled","_state","store","current","middleware","bind","addMiddleware","dispatch","getState","removeMiddleware","handleGetConsent","category","hasConsent","consent","ESSENTIAL","handleRecordConsent","consentedCategories","undefined","categories","Array","isArray","enableDoNotSell","config","doNotSellCategories","type","payload","then","recordedConsent","triggerGoogleConsentUpdate","handleClearConsent","retryWithBackoff","callback","retries","delay","attempt","loaded","Error","error","Promise","resolve","setTimeout","handleShowDialog","handleShowDrawer","handleSetLocale","value","translator","load","handleGetDeviceId","deviceId","handleGetJurisdiction","jurisdiction","handleSetConsentExpirationTestingMode","expirationSeconds","setConsentExpirationTestingMode","context","locale","getDeviceId","getJurisdiction","clearConsent","showBanner","isReady","reloadProps","consentInvalidated","consentPromptRequired","catch","setGoogleConsentModeCallback","iabLoaded","iabChanged","frameworks","tcfController","push","versions","length","Provider","children","cmp","prev","next","nextFlavor","nextIabEnabled"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -96,7 +96,11 @@ export function reducer(state, action) {
96
96
  consent,
97
97
  savedConsent: {
98
98
  ...consent
99
- }
99
+ },
100
+ // The user just re-consented, so the invalidation is resolved. Clear
101
+ // the marker so a later SET_CONFIG rehydrates this freshly-saved TCF
102
+ // payload instead of wiping it (the IAB middleware wipes while set).
103
+ consentInvalidated: false
100
104
  };
101
105
  }
102
106
  case CLEAR_CONSENT:
@@ -1 +1 @@
1
- {"version":3,"names":["CLEAR_CONSENT","CLOSE","FETCH_DISCLOSURES_BEGIN","FETCH_DISCLOSURES_FAILURE","FETCH_DISCLOSURES_SUCCESS","GO_BACK","RELOAD","REVERT_CONSENT","SAVE_BEGIN","SET_ALL_CONSENT","SET_CONFIG","SET_LOCALE","SHOW_DIALOG","SHOW_DRAWER","SHOW_IAB_DISCLOSURES","SHOW_IAB_VENDORS","TOGGLE_CATEGORY","ConsentCategory","initialState","makeConsentFromCategories","OsanoCategories","doNotSellSideEffects","normalizeDoNotSellConsent","getFinalOptOutValue","getPriorConsent","isAnalyticsAlwaysAllowed","shouldUseGPCOptOut","init","initialArgs","consent","reloadProps","consentRecord","Array","isArray","enableDoNotSell","config","doNotSellCategories","savedConsent","setAllConsent","acceptOrDeny","state","isAccepted","category","useGPC","newConsent","reducer","action","type","payload","customerId","configId","consentConfig","locale","consentedCategories","optOutStatus","OPT_OUT","ANALYTICS","consentTimestamp","previousConsent","next","value","undefined","key","current","newValue","forcedOff","forced","dialogOpen","stack","scrollToType","id","scrollToId","length","slice","disclosures","loading","fetched","indexOf","filter","cat","results","currentlyFetched","Object","values","disclosuresByCategory","reduce","categories","disclosure","classification","categoryName","categoryDisclosures","push","newResults","entries","validCategories","lookup","name","uuid","sort","a","b","localeCompare","index","list"],"sourceRoot":"../../src","sources":["reducer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CLEAR_CONSENT","CLOSE","FETCH_DISCLOSURES_BEGIN","FETCH_DISCLOSURES_FAILURE","FETCH_DISCLOSURES_SUCCESS","GO_BACK","RELOAD","REVERT_CONSENT","SAVE_BEGIN","SET_ALL_CONSENT","SET_CONFIG","SET_LOCALE","SHOW_DIALOG","SHOW_DRAWER","SHOW_IAB_DISCLOSURES","SHOW_IAB_VENDORS","TOGGLE_CATEGORY","ConsentCategory","initialState","makeConsentFromCategories","OsanoCategories","doNotSellSideEffects","normalizeDoNotSellConsent","getFinalOptOutValue","getPriorConsent","isAnalyticsAlwaysAllowed","shouldUseGPCOptOut","init","initialArgs","consent","reloadProps","consentRecord","Array","isArray","enableDoNotSell","config","doNotSellCategories","savedConsent","setAllConsent","acceptOrDeny","state","isAccepted","category","useGPC","newConsent","reducer","action","type","payload","customerId","configId","consentConfig","locale","consentedCategories","consentInvalidated","optOutStatus","OPT_OUT","ANALYTICS","consentTimestamp","previousConsent","next","value","undefined","key","current","newValue","forcedOff","forced","dialogOpen","stack","scrollToType","id","scrollToId","length","slice","disclosures","loading","fetched","indexOf","filter","cat","results","currentlyFetched","Object","values","disclosuresByCategory","reduce","categories","disclosure","classification","categoryName","categoryDisclosures","push","newResults","entries","validCategories","lookup","name","uuid","sort","a","b","localeCompare","index","list"],"sourceRoot":"../../src","sources":["reducer.ts"],"mappings":"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","ignoreList":[]}
@@ -20,10 +20,10 @@ const {
20
20
  } = env;
21
21
  const IS_OFFICIAL_SAMPLE = NativeModules?.OsanoCmpSdk?.IS_OFFICIAL_SAMPLE;
22
22
  const CONSENTING_PLATFORM_TAG = IS_OFFICIAL_SAMPLE ? `${Platform.OS}.sample-react-native` : `${Platform.OS}.react-native`;
23
- const overrideConfig = {
24
- // Override config here
25
- variant: 'two'
26
- };
23
+
24
+ // Local-testing hook only — any key set here clobbers the fetched config
25
+ // (including the x-osano-* headers), so it must ship empty.
26
+ const overrideConfig = {};
27
27
  function createConsentRecordPayload(cmp, consent) {
28
28
  const consentedCategories = consent ?? cmp.consent ?? [];
29
29
  const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData || undefined);
@@ -45,6 +45,27 @@ const STORAGE_KEY = 'osano_consentmanager';
45
45
  // to it so existing installs keep their recorded date until the next write.
46
46
  const lastConsentDateKey = (configId, userSuffix) => `${STORAGE_KEY}_last_recorded_consent_date_${configId}${userSuffix}`;
47
47
  const legacyLastConsentDateKey = userSuffix => `${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`;
48
+ const parseStoredTimestamp = json => {
49
+ if (!json) {
50
+ return '';
51
+ }
52
+ try {
53
+ return JSON.parse(json);
54
+ } catch {
55
+ return '';
56
+ }
57
+ };
58
+ const retrieveTimestampForSuffix = async (configId, userSuffix) => {
59
+ try {
60
+ const scoped = parseStoredTimestamp(await getStorage(lastConsentDateKey(configId, userSuffix)));
61
+ if (scoped) {
62
+ return scoped;
63
+ }
64
+ return parseStoredTimestamp(await getStorage(legacyLastConsentDateKey(userSuffix)));
65
+ } catch {
66
+ return '';
67
+ }
68
+ };
48
69
  function consentRecordedRemotely(configId, success, hashedExtUsrData) {
49
70
  const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
50
71
  if (success) {
@@ -108,41 +129,36 @@ export const migrateConsentStorage = async cmp => {
108
129
  if (!hashedExtUsrData) {
109
130
  return null;
110
131
  }
111
- return new Promise(resolve => {
112
- const oldKey = `${STORAGE_KEY}_${cmp.configId}`; // Legacy key without user suffix
113
- const oldTimestampKey = `${STORAGE_KEY}_last_recorded_consent_date`; // Legacy timestamp key
114
-
115
- switch (Platform.OS) {
116
- case 'ios':
117
- case 'android':
118
- getStorage(oldKey).then(oldConsent => {
119
- if (oldConsent) {
120
- let consent = JSON.parse(oldConsent);
121
- if (consent.length > 0) {
122
- consent = formatConsentArray(normalizeDoNotSellConsent(makeConsentFromCategories(consent), {
123
- enableDoNotSell: cmp.config.enableDoNotSell,
124
- doNotSellCategories: cmp.config.doNotSellCategories
125
- }));
126
- // Store with new user-specific key
127
- storeConsent(cmp, consent).then(() => {
128
- // Clean up old storage
129
- clearStorage(oldKey);
130
- clearStorage(oldTimestampKey);
131
- resolve(consent);
132
- });
133
- return;
134
- }
135
- }
136
- resolve(null); // No old consent found
137
- }).catch(() => {
138
- resolve(null); // Old key not found
139
- });
140
- break;
141
- default:
142
- resolve(null);
143
- break;
132
+ if (Platform.OS !== 'ios' && Platform.OS !== 'android') {
133
+ return null;
134
+ }
135
+ const oldKey = `${STORAGE_KEY}_${cmp.configId}`;
136
+ try {
137
+ const oldConsent = await getStorage(oldKey);
138
+ if (!oldConsent) {
139
+ return null;
144
140
  }
145
- });
141
+ let consent = JSON.parse(oldConsent);
142
+ if (consent.length === 0) {
143
+ return null;
144
+ }
145
+ consent = formatConsentArray(normalizeDoNotSellConsent(makeConsentFromCategories(consent), {
146
+ enableDoNotSell: cmp.config.enableDoNotSell,
147
+ doNotSellCategories: cmp.config.doNotSellCategories
148
+ }));
149
+ const sourceTimestamp = await retrieveTimestampForSuffix(cmp.configId, '');
150
+ const parsedSourceTimestamp = new Date(sourceTimestamp);
151
+ const migrationTimestamp = Number.isNaN(parsedSourceTimestamp.getTime()) ? new Date(0) : parsedSourceTimestamp;
152
+ await storeConsent(cmp, consent, undefined, migrationTimestamp);
153
+ await Promise.all([oldKey, lastConsentDateKey(cmp.configId, ''), legacyLastConsentDateKey('')].map(async key => {
154
+ try {
155
+ await clearStorage(key);
156
+ } catch {}
157
+ }));
158
+ return consent;
159
+ } catch {
160
+ return null;
161
+ }
146
162
  };
147
163
 
148
164
  // The consent to fall back to when a visitor has no stored consent yet. Flavor 7
@@ -174,6 +190,16 @@ const clearToFirstLoadDefault = async cmp => {
174
190
  cmp.consent = seed;
175
191
  return seed;
176
192
  };
193
+ const retrieveStoredConsent = async cmp => {
194
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
195
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
196
+ try {
197
+ const stored = await getStorage(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`);
198
+ return stored ? JSON.parse(stored) : null;
199
+ } catch {
200
+ return null;
201
+ }
202
+ };
177
203
 
178
204
  // After an expired/invalid record, settle on a persisted essential-only state.
179
205
  // Persisting (rather than only clearing the payload with clearConsent) keeps a
@@ -182,15 +208,39 @@ const clearToFirstLoadDefault = async cmp => {
182
208
  // because a later load may resolve no expiration window (testing off, offline
183
209
  // with no mappings cache, or a country with no interval), in which case empty
184
210
  // storage would otherwise re-seed the first-load default.
185
- const settleEssentialOnly = cmp => storeConsent(cmp, [ConsentCategory.ESSENTIAL]);
211
+ const settleEssentialOnly = (cmp, consentDate) => {
212
+ const categories = [ConsentCategory.ESSENTIAL];
213
+ if (cmp.config?.isDoNotSellVisible && (cmp.config.enableDoNotSellDefault || cmp.consent?.includes(ConsentCategory.OPT_OUT))) {
214
+ categories.push(ConsentCategory.OPT_OUT);
215
+ }
216
+ return storeConsent(cmp, categories, undefined, consentDate);
217
+ };
218
+ const markConsentInvalidated = cmp => {
219
+ cmp.consentInvalidated = true;
220
+ cmp.consentPromptRequired = true;
221
+ };
186
222
  const retrieveConsent = async cmp => {
187
- // If stored consent has aged past its expiration window (production
188
- // per-country interval, or the debug testing override), settle on a persisted
189
- // essential-only state so callers see essential-only and a later load stays
190
- // here (mirrors Android's clearExpiredConsent() + essential-only
191
- // getConsentedCategories()).
192
- if (await isConsentExpired(cmp)) {
193
- return settleEssentialOnly(cmp);
223
+ // Invalidate stored consent for either independent reason — the record
224
+ // predates the forceReconsent stamp, or it aged past its expiration window —
225
+ // and settle on essential-only. Only read the timestamp when there is a stamp
226
+ // or window to evaluate, so a no-signal load skips the read as the previous
227
+ // expiry-only path did. `consentInvalidated` (read in index.tsx) drives the
228
+ // auto re-prompt; it is set only for a previously recorded consent, never on
229
+ // the first-run path.
230
+ const forceSeconds = effectiveForceReconsentSeconds(cmp);
231
+ const expirationSeconds = await effectiveExpirationSeconds(cmp);
232
+ if (forceSeconds !== null || expirationSeconds !== null) {
233
+ const timestamp = await retrieveLastConsentTimestamp(cmp);
234
+ const expired = isTimestampExpired(timestamp, expirationSeconds);
235
+ const forced = predatesForceReconsent(cmp, timestamp);
236
+ if (expired || forced) {
237
+ const storedConsent = await retrieveStoredConsent(cmp);
238
+ if (storedConsent?.length) {
239
+ cmp.consent = storedConsent;
240
+ markConsentInvalidated(cmp);
241
+ return settleEssentialOnly(cmp, timestamp);
242
+ }
243
+ }
194
244
  }
195
245
  return new Promise(resolve => {
196
246
  const resConsent = consentJson => {
@@ -216,7 +266,15 @@ const retrieveConsent = async cmp => {
216
266
  // Try migration if new key not found
217
267
  const migratedConsent = await migrateConsentStorage(cmp);
218
268
  if (migratedConsent) {
219
- resolve(migratedConsent);
269
+ const timestamp = await retrieveLastConsentTimestamp(cmp);
270
+ const expired = isTimestampExpired(timestamp, expirationSeconds);
271
+ const forced = predatesForceReconsent(cmp, timestamp);
272
+ if (expired || forced) {
273
+ markConsentInvalidated(cmp);
274
+ resolve(await settleEssentialOnly(cmp, timestamp));
275
+ } else {
276
+ resolve(migratedConsent);
277
+ }
220
278
  } else {
221
279
  // No consent found, seed the first-load default
222
280
  clearToFirstLoadDefault(cmp).then(resolve);
@@ -235,29 +293,7 @@ const retrieveConsent = async cmp => {
235
293
  const retrieveLastConsentTimestamp = async cmp => {
236
294
  const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
237
295
  const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
238
- const parse = json => {
239
- if (!json) {
240
- return '';
241
- }
242
- try {
243
- return JSON.parse(json);
244
- } catch {
245
- return '';
246
- }
247
- };
248
- try {
249
- const scoped = parse(await getStorage(lastConsentDateKey(cmp.configId, userSuffix)));
250
- if (scoped) {
251
- return scoped;
252
- }
253
- // Fall back to the legacy un-scoped key for installs written before the
254
- // timestamp was scoped by configId.
255
- return parse(await getStorage(legacyLastConsentDateKey(userSuffix)));
256
- } catch {
257
- // Fail closed: a storage rejection resolves to no timestamp instead of
258
- // hanging the consent load.
259
- return '';
260
- }
296
+ return retrieveTimestampForSuffix(cmp.configId, userSuffix);
261
297
  };
262
298
 
263
299
  /**
@@ -296,6 +332,62 @@ const isTimestampExpired = (timestamp, seconds) => {
296
332
  return Date.now() - consentedAtMs > seconds * 1000;
297
333
  };
298
334
 
335
+ /**
336
+ * Resolves the effective `forceReconsent` signal in whole seconds, validating
337
+ * before trusting it. The raw field ships over the network and is human-edited,
338
+ * so treat any malformed value as "no signal" (null) rather than invalidating
339
+ * every consent:
340
+ *
341
+ * - absent / null → null (no signal)
342
+ * - <= 0 → null (guards zero and negatives)
343
+ * - in the future → null (clock skew, or a value mistakenly stamped in
344
+ * milliseconds, which reads as ~1000× "now" ⇒ future)
345
+ *
346
+ * Failing toward *not* invalidating means the worst a bad value causes is a
347
+ * missed prompt, never a permanent lockout.
348
+ */
349
+ export const effectiveForceReconsentSeconds = cmp => {
350
+ const raw = cmp.config?.forceReconsent;
351
+ if (raw == null) {
352
+ return null;
353
+ }
354
+ const seconds = typeof raw === 'number' ? raw : typeof raw === 'string' && raw.trim() !== '' ? Number(raw) : Number.NaN;
355
+ if (!Number.isFinite(seconds) || seconds <= 0) {
356
+ return null;
357
+ }
358
+ if (seconds > Math.floor(Date.now() / 1000)) {
359
+ return null;
360
+ }
361
+ return seconds;
362
+ };
363
+
364
+ /**
365
+ * True when a consent record predates the server's `forceReconsent` stamp.
366
+ * `timestamp` is the recorded-consent instant (stored as an ISO/ms string).
367
+ *
368
+ * Unit alignment is the subtle part: the signal is in SECONDS and the timestamp
369
+ * is in MILLISECONDS, so the signal is scaled up (`* 1000`). The boundary is
370
+ * strict `<` — consent recorded exactly at the stamp instant stays valid.
371
+ *
372
+ * A missing/unparseable timestamp fails closed (returns false), so first-run
373
+ * (no timestamp) is not wrongly invalidated. `storeConsent` always co-stamps,
374
+ * so a consented-but-timestampless record is unreachable here anyway.
375
+ */
376
+ export const predatesForceReconsent = (cmp, timestamp) => {
377
+ const forceSeconds = effectiveForceReconsentSeconds(cmp);
378
+ if (forceSeconds === null) {
379
+ return false;
380
+ }
381
+ if (!timestamp) {
382
+ return false;
383
+ }
384
+ const consentedAtMs = new Date(timestamp).getTime();
385
+ if (Number.isNaN(consentedAtMs)) {
386
+ return false;
387
+ }
388
+ return consentedAtMs < forceSeconds * 1000;
389
+ };
390
+
299
391
  /**
300
392
  * Returns true when the locally stored consent has aged past its expiration
301
393
  * window (see {@link effectiveExpirationSeconds}).
@@ -309,6 +401,8 @@ export const isConsentExpired = async cmp => {
309
401
  return isTimestampExpired(timestamp, seconds);
310
402
  };
311
403
  export const recordConsent = (cmp, consent) => {
404
+ cmp.consentInvalidated = false;
405
+ cmp.consentPromptRequired = false;
312
406
  const payload = createConsentRecordPayload(cmp, consent);
313
407
  return API.post(`${CONSENT_URI}/record`, payload, {
314
408
  referrer: cmp.consentingDomain
@@ -373,18 +467,21 @@ export const fetchConsent = async cmp => {
373
467
 
374
468
  // Evaluate the remote record against the server's own timestamp (when the
375
469
  // visitor actually consented), not "now", so an already-expired remote
376
- // record is never restored and re-dated as fresh.
470
+ // record is never restored and re-dated as fresh. A record that predates
471
+ // the server's forceReconsent stamp is stale for the same reason — applying
472
+ // it would silently re-grant the very consent the signal invalidated.
377
473
  const seconds = await effectiveExpirationSeconds(cmp);
378
- const remoteExpired = isTimestampExpired(lastConsentTimestamp, seconds);
474
+ const remoteForced = predatesForceReconsent(cmp, lastConsentTimestamp);
475
+ const remoteStale = isTimestampExpired(lastConsentTimestamp, seconds) || remoteForced;
379
476
 
380
477
  // If extUsrData is not null and not empty, always use remote consent (cross-device consent enabled)
381
478
  if (extUsrData && extUsrData.trim() !== '') {
382
- if (remoteExpired) {
383
- // The authoritative remote record has expired; settle on a persisted
384
- // essential-only state rather than restoring stale consent, so a
385
- // subsequent load stays here instead of falling back to the
386
- // first-load default.
387
- return settleEssentialOnly(cmp);
479
+ if (remoteStale) {
480
+ // The authoritative remote record is stale (expired or predates the
481
+ // stamp); settle essential-only and flag the invalidation rather than
482
+ // restoring it.
483
+ markConsentInvalidated(cmp);
484
+ return settleEssentialOnly(cmp, lastConsentTimestamp);
388
485
  }
389
486
  const remoteConsentCategories = formatConsentArray(normalizeDoNotSellConsent(makeConsentFromCategories(consented.map(category => ConsentCategory[category])), {
390
487
  enableDoNotSell: cmp.config.enableDoNotSell,
@@ -392,13 +489,14 @@ export const fetchConsent = async cmp => {
392
489
  }));
393
490
  // Preserve the server timestamp so restoring can't re-date the record.
394
491
  await storeConsent(cmp, remoteConsentCategories, true, lastConsentTimestamp);
492
+ cmp.consentPromptRequired = false;
395
493
  return remoteConsentCategories;
396
494
  }
397
495
 
398
496
  // Otherwise, validate timestamps (cross-device consent not enabled)
399
497
  const internalTimestamp = await retrieveLastConsentTimestamp(cmp);
400
498
  try {
401
- if (!remoteExpired && (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '')) {
499
+ if (!remoteStale && (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '')) {
402
500
  // Remote consent is newer, unexpired, or we haven't recorded any
403
501
  // consent yet. Store it, preserving the server timestamp.
404
502
  const remoteConsentCategories = formatConsentArray(normalizeDoNotSellConsent(makeConsentFromCategories(consented), {
@@ -406,6 +504,7 @@ export const fetchConsent = async cmp => {
406
504
  doNotSellCategories: cmp.config.doNotSellCategories
407
505
  }));
408
506
  await storeConsent(cmp, remoteConsentCategories, true, lastConsentTimestamp);
507
+ cmp.consentPromptRequired = false;
409
508
  return remoteConsentCategories;
410
509
  }
411
510
  } catch {