@openpolicy/sdk 0.0.16 → 0.0.18
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.
- package/dist/auto-collected.d.ts +26 -0
- package/dist/auto-collected.d.ts.map +1 -0
- package/dist/auto-collected.js +27 -0
- package/dist/auto-collected.js.map +1 -0
- package/dist/index.d.ts +214 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +223 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/auto-collected.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder populated by `@openpolicy/vite-auto-collect` during a Vite
|
|
4
|
+
* build. The plugin intercepts this module's resolution and replaces it with
|
|
5
|
+
* the scanned categories, so the literal default below is only used as a
|
|
6
|
+
* fallback when no auto-collect plugin is active — in which case spreading
|
|
7
|
+
* it into `dataCollected` is a no-op.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { dataCollected, defineConfig } from "@openpolicy/sdk";
|
|
12
|
+
*
|
|
13
|
+
* export default defineConfig({
|
|
14
|
+
* privacy: {
|
|
15
|
+
* dataCollected: {
|
|
16
|
+
* ...dataCollected,
|
|
17
|
+
* "Manually-tracked Category": ["Field A"],
|
|
18
|
+
* },
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
declare const dataCollected: Record<string, string[]>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { dataCollected };
|
|
26
|
+
//# sourceMappingURL=auto-collected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-collected.d.ts","names":[],"sources":["../src/auto-collected.ts"],"mappings":";;AAqBA;;;;;;;;;;;;;;;;;;;;cAAa,aAAA,EAAe,MAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/auto-collected.ts
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder populated by `@openpolicy/vite-auto-collect` during a Vite
|
|
4
|
+
* build. The plugin intercepts this module's resolution and replaces it with
|
|
5
|
+
* the scanned categories, so the literal default below is only used as a
|
|
6
|
+
* fallback when no auto-collect plugin is active — in which case spreading
|
|
7
|
+
* it into `dataCollected` is a no-op.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { dataCollected, defineConfig } from "@openpolicy/sdk";
|
|
12
|
+
*
|
|
13
|
+
* export default defineConfig({
|
|
14
|
+
* privacy: {
|
|
15
|
+
* dataCollected: {
|
|
16
|
+
* ...dataCollected,
|
|
17
|
+
* "Manually-tracked Category": ["Field A"],
|
|
18
|
+
* },
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
const dataCollected = {};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { dataCollected };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=auto-collected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-collected.js","names":[],"sources":["../src/auto-collected.ts"],"sourcesContent":["/**\n * Placeholder populated by `@openpolicy/vite-auto-collect` during a Vite\n * build. The plugin intercepts this module's resolution and replaces it with\n * the scanned categories, so the literal default below is only used as a\n * fallback when no auto-collect plugin is active — in which case spreading\n * it into `dataCollected` is a no-op.\n *\n * @example\n * ```ts\n * import { dataCollected, defineConfig } from \"@openpolicy/sdk\";\n *\n * export default defineConfig({\n * privacy: {\n * dataCollected: {\n * ...dataCollected,\n * \"Manually-tracked Category\": [\"Field A\"],\n * },\n * },\n * });\n * ```\n */\nexport const dataCollected: Record<string, string[]> = {};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,gBAA0C,EAAE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { dataCollected } from "./auto-collected.js";
|
|
2
|
+
|
|
1
3
|
//#region ../core/dist/index.d.ts
|
|
2
4
|
type Jurisdiction = "us" | "eu" | "ca" | "au" | "nz" | "other";
|
|
5
|
+
type UserRight = "access" | "rectification" | "erasure" | "portability" | "restriction" | "objection" | "opt_out_sale" | "non_discrimination";
|
|
6
|
+
type LegalBasis = "consent" | "contract" | "legal_obligation" | "vital_interests" | "public_task" | "legitimate_interests";
|
|
3
7
|
type CompanyConfig = {
|
|
4
8
|
name: string;
|
|
5
9
|
legalName: string;
|
|
@@ -10,7 +14,7 @@ type PrivacyPolicyConfig = {
|
|
|
10
14
|
effectiveDate: string;
|
|
11
15
|
company: CompanyConfig;
|
|
12
16
|
dataCollected: Record<string, string[]>;
|
|
13
|
-
legalBasis:
|
|
17
|
+
legalBasis: LegalBasis | LegalBasis[];
|
|
14
18
|
retention: Record<string, string>;
|
|
15
19
|
cookies: {
|
|
16
20
|
essential: boolean;
|
|
@@ -20,8 +24,9 @@ type PrivacyPolicyConfig = {
|
|
|
20
24
|
thirdParties: {
|
|
21
25
|
name: string;
|
|
22
26
|
purpose: string;
|
|
27
|
+
policyUrl?: string;
|
|
23
28
|
}[];
|
|
24
|
-
userRights:
|
|
29
|
+
userRights: UserRight[];
|
|
25
30
|
jurisdictions: Jurisdiction[];
|
|
26
31
|
children?: {
|
|
27
32
|
underAge: number;
|
|
@@ -99,15 +104,14 @@ type TermsOfServiceConfig = {
|
|
|
99
104
|
};
|
|
100
105
|
privacyPolicyUrl?: string;
|
|
101
106
|
};
|
|
107
|
+
type CookiePolicyCookies = {
|
|
108
|
+
essential: boolean;
|
|
109
|
+
[key: string]: boolean;
|
|
110
|
+
};
|
|
102
111
|
type CookiePolicyConfig = {
|
|
103
112
|
effectiveDate: string;
|
|
104
113
|
company: CompanyConfig;
|
|
105
|
-
cookies:
|
|
106
|
-
essential: boolean;
|
|
107
|
-
analytics: boolean;
|
|
108
|
-
functional: boolean;
|
|
109
|
-
marketing: boolean;
|
|
110
|
-
};
|
|
114
|
+
cookies: CookiePolicyCookies;
|
|
111
115
|
thirdParties?: {
|
|
112
116
|
name: string;
|
|
113
117
|
purpose: string;
|
|
@@ -128,8 +132,209 @@ type OpenPolicyConfig = {
|
|
|
128
132
|
cookie?: Omit<CookiePolicyConfig, "company">;
|
|
129
133
|
};
|
|
130
134
|
//#endregion
|
|
135
|
+
//#region src/collecting.d.ts
|
|
136
|
+
/**
|
|
137
|
+
* Declares data collected at the point of storage. Returns `value` unchanged
|
|
138
|
+
* at runtime — the Vite plugin / CLI static analyser (OP-152) will scan calls
|
|
139
|
+
* to `collecting()` at build time and merge the declarations into the
|
|
140
|
+
* compiled privacy policy.
|
|
141
|
+
*
|
|
142
|
+
* The third argument is a plain object literal whose **keys** are field names
|
|
143
|
+
* matching your stored value (for convenient access without a typed callback)
|
|
144
|
+
* and whose **values** are the human-readable labels used in the compiled
|
|
145
|
+
* policy. Only the string values are used by the analyser; the object is
|
|
146
|
+
* never evaluated at runtime. This shape lets you:
|
|
147
|
+
* - keep `value` matching your ORM/table schema exactly,
|
|
148
|
+
* - describe fields with friendly labels for the policy,
|
|
149
|
+
* - omit fields from the policy by leaving them out of the label record
|
|
150
|
+
* (e.g. `hashedPassword`).
|
|
151
|
+
*
|
|
152
|
+
* The category argument and the string values of the label record must be
|
|
153
|
+
* string literals — dynamic values are silently skipped by the analyser.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```ts
|
|
157
|
+
* import { collecting } from "@openpolicy/sdk";
|
|
158
|
+
*
|
|
159
|
+
* export async function createUser(name: string, email: string) {
|
|
160
|
+
* return db.insert(users).values(
|
|
161
|
+
* collecting(
|
|
162
|
+
* "Account Information",
|
|
163
|
+
* { name, email }, // real ORM columns — returned unchanged
|
|
164
|
+
* { name: "Name", email: "Email address" },
|
|
165
|
+
* ),
|
|
166
|
+
* );
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
declare function collecting<T>(_category: string, value: T, _label: Partial<Record<keyof T, string>>): T;
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/compliance.d.ts
|
|
173
|
+
declare const Compliance: {
|
|
174
|
+
readonly GDPR: {
|
|
175
|
+
readonly jurisdictions: Jurisdiction[];
|
|
176
|
+
readonly legalBasis: LegalBasis[];
|
|
177
|
+
readonly userRights: UserRight[];
|
|
178
|
+
};
|
|
179
|
+
readonly CCPA: {
|
|
180
|
+
readonly jurisdictions: Jurisdiction[];
|
|
181
|
+
readonly userRights: UserRight[];
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/data.d.ts
|
|
186
|
+
declare const DataCategories: {
|
|
187
|
+
readonly AccountInfo: {
|
|
188
|
+
readonly "Account Information": readonly ["Name", "Email address"];
|
|
189
|
+
};
|
|
190
|
+
readonly SessionData: {
|
|
191
|
+
readonly "Session Data": readonly ["IP address", "User agent", "Browser type"];
|
|
192
|
+
};
|
|
193
|
+
readonly PaymentInfo: {
|
|
194
|
+
readonly "Payment Information": readonly ["Card last 4 digits", "Billing name", "Billing address"];
|
|
195
|
+
};
|
|
196
|
+
readonly UsageData: {
|
|
197
|
+
readonly "Usage Data": readonly ["Pages visited", "Features used", "Time spent"];
|
|
198
|
+
};
|
|
199
|
+
readonly DeviceInfo: {
|
|
200
|
+
readonly "Device Information": readonly ["Device type", "Operating system", "Browser version"];
|
|
201
|
+
};
|
|
202
|
+
readonly LocationData: {
|
|
203
|
+
readonly "Location Data": readonly ["Country", "City", "Timezone"];
|
|
204
|
+
};
|
|
205
|
+
readonly Communications: {
|
|
206
|
+
readonly Communications: readonly ["Email content", "Support tickets"];
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
declare const Retention: {
|
|
210
|
+
readonly UntilAccountDeletion: "Until account deletion";
|
|
211
|
+
readonly UntilSessionExpiry: "Until session expiry";
|
|
212
|
+
readonly ThirtyDays: "30 days";
|
|
213
|
+
readonly NinetyDays: "90 days";
|
|
214
|
+
readonly OneYear: "1 year";
|
|
215
|
+
readonly ThreeYears: "3 years";
|
|
216
|
+
readonly AsRequiredByLaw: "As required by applicable law";
|
|
217
|
+
};
|
|
218
|
+
declare const Rights: {
|
|
219
|
+
readonly Access: "access";
|
|
220
|
+
readonly Rectification: "rectification";
|
|
221
|
+
readonly Erasure: "erasure";
|
|
222
|
+
readonly Portability: "portability";
|
|
223
|
+
readonly Restriction: "restriction";
|
|
224
|
+
readonly Objection: "objection";
|
|
225
|
+
readonly OptOutSale: "opt_out_sale";
|
|
226
|
+
readonly NonDiscrimination: "non_discrimination";
|
|
227
|
+
};
|
|
228
|
+
declare const LegalBases: {
|
|
229
|
+
readonly Consent: "consent";
|
|
230
|
+
readonly Contract: "contract";
|
|
231
|
+
readonly LegalObligation: "legal_obligation";
|
|
232
|
+
readonly VitalInterests: "vital_interests";
|
|
233
|
+
readonly PublicTask: "public_task";
|
|
234
|
+
readonly LegitimateInterests: "legitimate_interests";
|
|
235
|
+
};
|
|
236
|
+
//#endregion
|
|
237
|
+
//#region src/providers.d.ts
|
|
238
|
+
declare const Providers: {
|
|
239
|
+
Stripe: {
|
|
240
|
+
name: string;
|
|
241
|
+
purpose: string;
|
|
242
|
+
policyUrl: string;
|
|
243
|
+
};
|
|
244
|
+
Paddle: {
|
|
245
|
+
name: string;
|
|
246
|
+
purpose: string;
|
|
247
|
+
policyUrl: string;
|
|
248
|
+
};
|
|
249
|
+
LemonSqueezy: {
|
|
250
|
+
name: string;
|
|
251
|
+
purpose: string;
|
|
252
|
+
policyUrl: string;
|
|
253
|
+
};
|
|
254
|
+
PayPal: {
|
|
255
|
+
name: string;
|
|
256
|
+
purpose: string;
|
|
257
|
+
policyUrl: string;
|
|
258
|
+
};
|
|
259
|
+
GoogleAnalytics: {
|
|
260
|
+
name: string;
|
|
261
|
+
purpose: string;
|
|
262
|
+
policyUrl: string;
|
|
263
|
+
};
|
|
264
|
+
PostHog: {
|
|
265
|
+
name: string;
|
|
266
|
+
purpose: string;
|
|
267
|
+
policyUrl: string;
|
|
268
|
+
};
|
|
269
|
+
Plausible: {
|
|
270
|
+
name: string;
|
|
271
|
+
purpose: string;
|
|
272
|
+
policyUrl: string;
|
|
273
|
+
};
|
|
274
|
+
Mixpanel: {
|
|
275
|
+
name: string;
|
|
276
|
+
purpose: string;
|
|
277
|
+
policyUrl: string;
|
|
278
|
+
};
|
|
279
|
+
Vercel: {
|
|
280
|
+
name: string;
|
|
281
|
+
purpose: string;
|
|
282
|
+
policyUrl: string;
|
|
283
|
+
};
|
|
284
|
+
Cloudflare: {
|
|
285
|
+
name: string;
|
|
286
|
+
purpose: string;
|
|
287
|
+
policyUrl: string;
|
|
288
|
+
};
|
|
289
|
+
AWS: {
|
|
290
|
+
name: string;
|
|
291
|
+
purpose: string;
|
|
292
|
+
policyUrl: string;
|
|
293
|
+
};
|
|
294
|
+
Auth0: {
|
|
295
|
+
name: string;
|
|
296
|
+
purpose: string;
|
|
297
|
+
policyUrl: string;
|
|
298
|
+
};
|
|
299
|
+
Clerk: {
|
|
300
|
+
name: string;
|
|
301
|
+
purpose: string;
|
|
302
|
+
policyUrl: string;
|
|
303
|
+
};
|
|
304
|
+
Resend: {
|
|
305
|
+
name: string;
|
|
306
|
+
purpose: string;
|
|
307
|
+
policyUrl: string;
|
|
308
|
+
};
|
|
309
|
+
Postmark: {
|
|
310
|
+
name: string;
|
|
311
|
+
purpose: string;
|
|
312
|
+
policyUrl: string;
|
|
313
|
+
};
|
|
314
|
+
SendGrid: {
|
|
315
|
+
name: string;
|
|
316
|
+
purpose: string;
|
|
317
|
+
policyUrl: string;
|
|
318
|
+
};
|
|
319
|
+
Loops: {
|
|
320
|
+
name: string;
|
|
321
|
+
purpose: string;
|
|
322
|
+
policyUrl: string;
|
|
323
|
+
};
|
|
324
|
+
Sentry: {
|
|
325
|
+
name: string;
|
|
326
|
+
purpose: string;
|
|
327
|
+
policyUrl: string;
|
|
328
|
+
};
|
|
329
|
+
Datadog: {
|
|
330
|
+
name: string;
|
|
331
|
+
purpose: string;
|
|
332
|
+
policyUrl: string;
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
//#endregion
|
|
131
336
|
//#region src/index.d.ts
|
|
132
337
|
declare function defineConfig(config: OpenPolicyConfig): OpenPolicyConfig;
|
|
133
338
|
//#endregion
|
|
134
|
-
export { type CookiePolicyConfig, type OpenPolicyConfig, type PrivacyPolicyConfig, type TermsOfServiceConfig, defineConfig };
|
|
339
|
+
export { Compliance, type CookiePolicyConfig, DataCategories, LegalBases, type LegalBasis, type OpenPolicyConfig, type PrivacyPolicyConfig, Providers, Retention, Rights, type TermsOfServiceConfig, type UserRight, collecting, dataCollected, defineConfig };
|
|
135
340
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["OutputFormat","CompileOptions","formats","Jurisdiction","CompanyConfig","name","legalName","address","contact","PrivacyPolicyConfig","Record","effectiveDate","company","dataCollected","legalBasis","retention","cookies","essential","analytics","marketing","thirdParties","purpose","userRights","jurisdictions","children","underAge","noticeUrl","DisputeResolutionMethod","TermsOfServiceConfig","acceptance","methods","eligibility","minimumAge","jurisdictionRestrictions","accounts","registrationRequired","userResponsibleForCredentials","companyCanTerminate","prohibitedUses","userContent","usersOwnContent","licenseGrantedToCompany","licenseDescription","companyCanRemoveContent","intellectualProperty","companyOwnsService","usersMayNotCopy","payments","hasPaidFeatures","refundPolicy","priceChangesNotice","availability","noUptimeGuarantee","maintenanceWindows","termination","userCanTerminate","effectOfTermination","disclaimers","serviceProvidedAsIs","noWarranties","limitationOfLiability","excludesIndirectDamages","liabilityCap","indemnification","userIndemnifiesCompany","scope","thirdPartyServices","disputeResolution","method","venue","classActionWaiver","governingLaw","jurisdiction","changesPolicy","noticeMethod","noticePeriodDays","privacyPolicyUrl","
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["OutputFormat","CompileOptions","formats","Jurisdiction","UserRight","LegalBasis","CompanyConfig","name","legalName","address","contact","PrivacyPolicyConfig","Record","effectiveDate","company","dataCollected","legalBasis","retention","cookies","essential","analytics","marketing","thirdParties","purpose","policyUrl","userRights","jurisdictions","children","underAge","noticeUrl","DisputeResolutionMethod","TermsOfServiceConfig","acceptance","methods","eligibility","minimumAge","jurisdictionRestrictions","accounts","registrationRequired","userResponsibleForCredentials","companyCanTerminate","prohibitedUses","userContent","usersOwnContent","licenseGrantedToCompany","licenseDescription","companyCanRemoveContent","intellectualProperty","companyOwnsService","usersMayNotCopy","payments","hasPaidFeatures","refundPolicy","priceChangesNotice","availability","noUptimeGuarantee","maintenanceWindows","termination","userCanTerminate","effectOfTermination","disclaimers","serviceProvidedAsIs","noWarranties","limitationOfLiability","excludesIndirectDamages","liabilityCap","indemnification","userIndemnifiesCompany","scope","thirdPartyServices","disputeResolution","method","venue","classActionWaiver","governingLaw","jurisdiction","changesPolicy","noticeMethod","noticePeriodDays","privacyPolicyUrl","CookiePolicyCookies","key","CookiePolicyConfig","trackingTechnologies","consentMechanism","hasBanner","hasPreferencePanel","canWithdraw","PolicyInput","type","OpenPolicyConfig","Omit","privacy","terms","cookie","isOpenPolicyConfig","value","ValidationIssue","level","message","CookieConsent","CookieConsentStatus","acceptAll","config","rejectAll","NodeContext","reason","TextNode","context","BoldNode","ItalicNode","LinkNode","href","InlineNode","HeadingNode","ParagraphNode","ListItemNode","ListNode","ordered","items","ContentNode","DocumentSection","id","content","PolicyType","Document","policyType","sections","Node","heading","levelOrContext","text","bold","italic","link","p","li","ul","ol","section","compile","input","validatePrivacyPolicy","validateCookiePolicy","validateTermsOfService","expandOpenPolicyConfig"],"sources":["../../core/dist/index.d.ts","../src/collecting.ts","../src/compliance.ts","../src/data.ts","../src/providers.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,230 @@
|
|
|
1
|
+
import { dataCollected } from "./auto-collected.js";
|
|
2
|
+
//#region src/collecting.ts
|
|
3
|
+
/**
|
|
4
|
+
* Declares data collected at the point of storage. Returns `value` unchanged
|
|
5
|
+
* at runtime — the Vite plugin / CLI static analyser (OP-152) will scan calls
|
|
6
|
+
* to `collecting()` at build time and merge the declarations into the
|
|
7
|
+
* compiled privacy policy.
|
|
8
|
+
*
|
|
9
|
+
* The third argument is a plain object literal whose **keys** are field names
|
|
10
|
+
* matching your stored value (for convenient access without a typed callback)
|
|
11
|
+
* and whose **values** are the human-readable labels used in the compiled
|
|
12
|
+
* policy. Only the string values are used by the analyser; the object is
|
|
13
|
+
* never evaluated at runtime. This shape lets you:
|
|
14
|
+
* - keep `value` matching your ORM/table schema exactly,
|
|
15
|
+
* - describe fields with friendly labels for the policy,
|
|
16
|
+
* - omit fields from the policy by leaving them out of the label record
|
|
17
|
+
* (e.g. `hashedPassword`).
|
|
18
|
+
*
|
|
19
|
+
* The category argument and the string values of the label record must be
|
|
20
|
+
* string literals — dynamic values are silently skipped by the analyser.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { collecting } from "@openpolicy/sdk";
|
|
25
|
+
*
|
|
26
|
+
* export async function createUser(name: string, email: string) {
|
|
27
|
+
* return db.insert(users).values(
|
|
28
|
+
* collecting(
|
|
29
|
+
* "Account Information",
|
|
30
|
+
* { name, email }, // real ORM columns — returned unchanged
|
|
31
|
+
* { name: "Name", email: "Email address" },
|
|
32
|
+
* ),
|
|
33
|
+
* );
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
function collecting(_category, value, _label) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/compliance.ts
|
|
42
|
+
const Compliance = {
|
|
43
|
+
GDPR: {
|
|
44
|
+
jurisdictions: ["eu"],
|
|
45
|
+
legalBasis: ["legitimate_interests"],
|
|
46
|
+
userRights: [
|
|
47
|
+
"access",
|
|
48
|
+
"rectification",
|
|
49
|
+
"erasure",
|
|
50
|
+
"portability",
|
|
51
|
+
"restriction",
|
|
52
|
+
"objection"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
CCPA: {
|
|
56
|
+
jurisdictions: ["ca"],
|
|
57
|
+
userRights: [
|
|
58
|
+
"access",
|
|
59
|
+
"erasure",
|
|
60
|
+
"opt_out_sale",
|
|
61
|
+
"non_discrimination"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/data.ts
|
|
67
|
+
const DataCategories = {
|
|
68
|
+
AccountInfo: { "Account Information": ["Name", "Email address"] },
|
|
69
|
+
SessionData: { "Session Data": [
|
|
70
|
+
"IP address",
|
|
71
|
+
"User agent",
|
|
72
|
+
"Browser type"
|
|
73
|
+
] },
|
|
74
|
+
PaymentInfo: { "Payment Information": [
|
|
75
|
+
"Card last 4 digits",
|
|
76
|
+
"Billing name",
|
|
77
|
+
"Billing address"
|
|
78
|
+
] },
|
|
79
|
+
UsageData: { "Usage Data": [
|
|
80
|
+
"Pages visited",
|
|
81
|
+
"Features used",
|
|
82
|
+
"Time spent"
|
|
83
|
+
] },
|
|
84
|
+
DeviceInfo: { "Device Information": [
|
|
85
|
+
"Device type",
|
|
86
|
+
"Operating system",
|
|
87
|
+
"Browser version"
|
|
88
|
+
] },
|
|
89
|
+
LocationData: { "Location Data": [
|
|
90
|
+
"Country",
|
|
91
|
+
"City",
|
|
92
|
+
"Timezone"
|
|
93
|
+
] },
|
|
94
|
+
Communications: { Communications: ["Email content", "Support tickets"] }
|
|
95
|
+
};
|
|
96
|
+
const Retention = {
|
|
97
|
+
UntilAccountDeletion: "Until account deletion",
|
|
98
|
+
UntilSessionExpiry: "Until session expiry",
|
|
99
|
+
ThirtyDays: "30 days",
|
|
100
|
+
NinetyDays: "90 days",
|
|
101
|
+
OneYear: "1 year",
|
|
102
|
+
ThreeYears: "3 years",
|
|
103
|
+
AsRequiredByLaw: "As required by applicable law"
|
|
104
|
+
};
|
|
105
|
+
const Rights = {
|
|
106
|
+
Access: "access",
|
|
107
|
+
Rectification: "rectification",
|
|
108
|
+
Erasure: "erasure",
|
|
109
|
+
Portability: "portability",
|
|
110
|
+
Restriction: "restriction",
|
|
111
|
+
Objection: "objection",
|
|
112
|
+
OptOutSale: "opt_out_sale",
|
|
113
|
+
NonDiscrimination: "non_discrimination"
|
|
114
|
+
};
|
|
115
|
+
const LegalBases = {
|
|
116
|
+
Consent: "consent",
|
|
117
|
+
Contract: "contract",
|
|
118
|
+
LegalObligation: "legal_obligation",
|
|
119
|
+
VitalInterests: "vital_interests",
|
|
120
|
+
PublicTask: "public_task",
|
|
121
|
+
LegitimateInterests: "legitimate_interests"
|
|
122
|
+
};
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/providers.ts
|
|
125
|
+
const Providers = {
|
|
126
|
+
Stripe: {
|
|
127
|
+
name: "Stripe",
|
|
128
|
+
purpose: "Payment processing",
|
|
129
|
+
policyUrl: "https://stripe.com/privacy"
|
|
130
|
+
},
|
|
131
|
+
Paddle: {
|
|
132
|
+
name: "Paddle",
|
|
133
|
+
purpose: "Payment processing and subscription management",
|
|
134
|
+
policyUrl: "https://www.paddle.com/legal/privacy"
|
|
135
|
+
},
|
|
136
|
+
LemonSqueezy: {
|
|
137
|
+
name: "Lemon Squeezy",
|
|
138
|
+
purpose: "Payment processing and subscription management",
|
|
139
|
+
policyUrl: "https://www.lemonsqueezy.com/privacy"
|
|
140
|
+
},
|
|
141
|
+
PayPal: {
|
|
142
|
+
name: "PayPal",
|
|
143
|
+
purpose: "Payment processing",
|
|
144
|
+
policyUrl: "https://www.paypal.com/webapps/mpp/ua/privacy-full"
|
|
145
|
+
},
|
|
146
|
+
GoogleAnalytics: {
|
|
147
|
+
name: "Google Analytics",
|
|
148
|
+
purpose: "Usage analytics",
|
|
149
|
+
policyUrl: "https://policies.google.com/privacy"
|
|
150
|
+
},
|
|
151
|
+
PostHog: {
|
|
152
|
+
name: "PostHog",
|
|
153
|
+
purpose: "Product analytics and session recording",
|
|
154
|
+
policyUrl: "https://posthog.com/privacy"
|
|
155
|
+
},
|
|
156
|
+
Plausible: {
|
|
157
|
+
name: "Plausible Analytics",
|
|
158
|
+
purpose: "Privacy-friendly usage analytics",
|
|
159
|
+
policyUrl: "https://plausible.io/privacy"
|
|
160
|
+
},
|
|
161
|
+
Mixpanel: {
|
|
162
|
+
name: "Mixpanel",
|
|
163
|
+
purpose: "Product analytics and event tracking",
|
|
164
|
+
policyUrl: "https://mixpanel.com/legal/privacy-policy"
|
|
165
|
+
},
|
|
166
|
+
Vercel: {
|
|
167
|
+
name: "Vercel",
|
|
168
|
+
purpose: "Hosting and deployment infrastructure",
|
|
169
|
+
policyUrl: "https://vercel.com/legal/privacy-policy"
|
|
170
|
+
},
|
|
171
|
+
Cloudflare: {
|
|
172
|
+
name: "Cloudflare",
|
|
173
|
+
purpose: "CDN, DNS, and security services",
|
|
174
|
+
policyUrl: "https://www.cloudflare.com/privacypolicy/"
|
|
175
|
+
},
|
|
176
|
+
AWS: {
|
|
177
|
+
name: "Amazon Web Services",
|
|
178
|
+
purpose: "Cloud infrastructure and hosting",
|
|
179
|
+
policyUrl: "https://aws.amazon.com/privacy/"
|
|
180
|
+
},
|
|
181
|
+
Auth0: {
|
|
182
|
+
name: "Auth0",
|
|
183
|
+
purpose: "Authentication and identity management",
|
|
184
|
+
policyUrl: "https://auth0.com/privacy"
|
|
185
|
+
},
|
|
186
|
+
Clerk: {
|
|
187
|
+
name: "Clerk",
|
|
188
|
+
purpose: "Authentication and user management",
|
|
189
|
+
policyUrl: "https://clerk.com/privacy"
|
|
190
|
+
},
|
|
191
|
+
Resend: {
|
|
192
|
+
name: "Resend",
|
|
193
|
+
purpose: "Transactional email delivery",
|
|
194
|
+
policyUrl: "https://resend.com/legal/privacy-policy"
|
|
195
|
+
},
|
|
196
|
+
Postmark: {
|
|
197
|
+
name: "Postmark",
|
|
198
|
+
purpose: "Transactional email delivery",
|
|
199
|
+
policyUrl: "https://wildbit.com/privacy-policy"
|
|
200
|
+
},
|
|
201
|
+
SendGrid: {
|
|
202
|
+
name: "SendGrid",
|
|
203
|
+
purpose: "Transactional email delivery",
|
|
204
|
+
policyUrl: "https://www.twilio.com/en-us/legal/privacy"
|
|
205
|
+
},
|
|
206
|
+
Loops: {
|
|
207
|
+
name: "Loops",
|
|
208
|
+
purpose: "Email marketing and automation",
|
|
209
|
+
policyUrl: "https://loops.so/privacy"
|
|
210
|
+
},
|
|
211
|
+
Sentry: {
|
|
212
|
+
name: "Sentry",
|
|
213
|
+
purpose: "Error monitoring and performance tracking",
|
|
214
|
+
policyUrl: "https://sentry.io/privacy/"
|
|
215
|
+
},
|
|
216
|
+
Datadog: {
|
|
217
|
+
name: "Datadog",
|
|
218
|
+
purpose: "Infrastructure monitoring and observability",
|
|
219
|
+
policyUrl: "https://www.datadoghq.com/legal/privacy/"
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
//#endregion
|
|
1
223
|
//#region src/index.ts
|
|
2
224
|
function defineConfig(config) {
|
|
3
225
|
return config;
|
|
4
226
|
}
|
|
5
227
|
//#endregion
|
|
6
|
-
export { defineConfig };
|
|
228
|
+
export { Compliance, DataCategories, LegalBases, Providers, Retention, Rights, collecting, dataCollected, defineConfig };
|
|
7
229
|
|
|
8
230
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { OpenPolicyConfig } from \"@openpolicy/core\";\n\nexport type {\n\tCookiePolicyConfig,\n\tOpenPolicyConfig,\n\tPrivacyPolicyConfig,\n\tTermsOfServiceConfig,\n} from \"@openpolicy/core\";\n\nexport function defineConfig(config: OpenPolicyConfig): OpenPolicyConfig {\n\treturn config;\n}\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/collecting.ts","../src/compliance.ts","../src/data.ts","../src/providers.ts","../src/index.ts"],"sourcesContent":["/**\n * Declares data collected at the point of storage. Returns `value` unchanged\n * at runtime — the Vite plugin / CLI static analyser (OP-152) will scan calls\n * to `collecting()` at build time and merge the declarations into the\n * compiled privacy policy.\n *\n * The third argument is a plain object literal whose **keys** are field names\n * matching your stored value (for convenient access without a typed callback)\n * and whose **values** are the human-readable labels used in the compiled\n * policy. Only the string values are used by the analyser; the object is\n * never evaluated at runtime. This shape lets you:\n * - keep `value` matching your ORM/table schema exactly,\n * - describe fields with friendly labels for the policy,\n * - omit fields from the policy by leaving them out of the label record\n * (e.g. `hashedPassword`).\n *\n * The category argument and the string values of the label record must be\n * string literals — dynamic values are silently skipped by the analyser.\n *\n * @example\n * ```ts\n * import { collecting } from \"@openpolicy/sdk\";\n *\n * export async function createUser(name: string, email: string) {\n * return db.insert(users).values(\n * collecting(\n * \"Account Information\",\n * { name, email }, // real ORM columns — returned unchanged\n * { name: \"Name\", email: \"Email address\" },\n * ),\n * );\n * }\n * ```\n */\nexport function collecting<T>(\n\t_category: string,\n\tvalue: T,\n\t_label: Partial<Record<keyof T, string>>,\n): T {\n\treturn value;\n}\n","import type { Jurisdiction, LegalBasis, UserRight } from \"@openpolicy/core\";\n\nexport const Compliance = {\n\tGDPR: {\n\t\tjurisdictions: [\"eu\"] as Jurisdiction[],\n\t\tlegalBasis: [\"legitimate_interests\"] as LegalBasis[],\n\t\tuserRights: [\n\t\t\t\"access\",\n\t\t\t\"rectification\",\n\t\t\t\"erasure\",\n\t\t\t\"portability\",\n\t\t\t\"restriction\",\n\t\t\t\"objection\",\n\t\t] as UserRight[],\n\t},\n\tCCPA: {\n\t\tjurisdictions: [\"ca\"] as Jurisdiction[],\n\t\tuserRights: [\n\t\t\t\"access\",\n\t\t\t\"erasure\",\n\t\t\t\"opt_out_sale\",\n\t\t\t\"non_discrimination\",\n\t\t] as UserRight[],\n\t},\n} as const;\n","import type { LegalBasis, UserRight } from \"@openpolicy/core\";\n\nexport const DataCategories = {\n\tAccountInfo: { \"Account Information\": [\"Name\", \"Email address\"] },\n\tSessionData: {\n\t\t\"Session Data\": [\"IP address\", \"User agent\", \"Browser type\"],\n\t},\n\tPaymentInfo: {\n\t\t\"Payment Information\": [\n\t\t\t\"Card last 4 digits\",\n\t\t\t\"Billing name\",\n\t\t\t\"Billing address\",\n\t\t],\n\t},\n\tUsageData: {\n\t\t\"Usage Data\": [\"Pages visited\", \"Features used\", \"Time spent\"],\n\t},\n\tDeviceInfo: {\n\t\t\"Device Information\": [\n\t\t\t\"Device type\",\n\t\t\t\"Operating system\",\n\t\t\t\"Browser version\",\n\t\t],\n\t},\n\tLocationData: { \"Location Data\": [\"Country\", \"City\", \"Timezone\"] },\n\tCommunications: {\n\t\tCommunications: [\"Email content\", \"Support tickets\"],\n\t},\n} as const;\n\nexport const Retention = {\n\tUntilAccountDeletion: \"Until account deletion\",\n\tUntilSessionExpiry: \"Until session expiry\",\n\tThirtyDays: \"30 days\",\n\tNinetyDays: \"90 days\",\n\tOneYear: \"1 year\",\n\tThreeYears: \"3 years\",\n\tAsRequiredByLaw: \"As required by applicable law\",\n} as const;\n\nexport const Rights = {\n\tAccess: \"access\",\n\tRectification: \"rectification\",\n\tErasure: \"erasure\",\n\tPortability: \"portability\",\n\tRestriction: \"restriction\",\n\tObjection: \"objection\",\n\tOptOutSale: \"opt_out_sale\",\n\tNonDiscrimination: \"non_discrimination\",\n} as const satisfies Record<string, UserRight>;\n\nexport const LegalBases = {\n\tConsent: \"consent\",\n\tContract: \"contract\",\n\tLegalObligation: \"legal_obligation\",\n\tVitalInterests: \"vital_interests\",\n\tPublicTask: \"public_task\",\n\tLegitimateInterests: \"legitimate_interests\",\n} as const satisfies Record<string, LegalBasis>;\n","type Provider = { name: string; purpose: string; policyUrl?: string };\n\nexport const Providers = {\n\t// Payments\n\tStripe: {\n\t\tname: \"Stripe\",\n\t\tpurpose: \"Payment processing\",\n\t\tpolicyUrl: \"https://stripe.com/privacy\",\n\t},\n\tPaddle: {\n\t\tname: \"Paddle\",\n\t\tpurpose: \"Payment processing and subscription management\",\n\t\tpolicyUrl: \"https://www.paddle.com/legal/privacy\",\n\t},\n\tLemonSqueezy: {\n\t\tname: \"Lemon Squeezy\",\n\t\tpurpose: \"Payment processing and subscription management\",\n\t\tpolicyUrl: \"https://www.lemonsqueezy.com/privacy\",\n\t},\n\tPayPal: {\n\t\tname: \"PayPal\",\n\t\tpurpose: \"Payment processing\",\n\t\tpolicyUrl: \"https://www.paypal.com/webapps/mpp/ua/privacy-full\",\n\t},\n\n\t// Analytics\n\tGoogleAnalytics: {\n\t\tname: \"Google Analytics\",\n\t\tpurpose: \"Usage analytics\",\n\t\tpolicyUrl: \"https://policies.google.com/privacy\",\n\t},\n\tPostHog: {\n\t\tname: \"PostHog\",\n\t\tpurpose: \"Product analytics and session recording\",\n\t\tpolicyUrl: \"https://posthog.com/privacy\",\n\t},\n\tPlausible: {\n\t\tname: \"Plausible Analytics\",\n\t\tpurpose: \"Privacy-friendly usage analytics\",\n\t\tpolicyUrl: \"https://plausible.io/privacy\",\n\t},\n\tMixpanel: {\n\t\tname: \"Mixpanel\",\n\t\tpurpose: \"Product analytics and event tracking\",\n\t\tpolicyUrl: \"https://mixpanel.com/legal/privacy-policy\",\n\t},\n\n\t// Infrastructure\n\tVercel: {\n\t\tname: \"Vercel\",\n\t\tpurpose: \"Hosting and deployment infrastructure\",\n\t\tpolicyUrl: \"https://vercel.com/legal/privacy-policy\",\n\t},\n\tCloudflare: {\n\t\tname: \"Cloudflare\",\n\t\tpurpose: \"CDN, DNS, and security services\",\n\t\tpolicyUrl: \"https://www.cloudflare.com/privacypolicy/\",\n\t},\n\tAWS: {\n\t\tname: \"Amazon Web Services\",\n\t\tpurpose: \"Cloud infrastructure and hosting\",\n\t\tpolicyUrl: \"https://aws.amazon.com/privacy/\",\n\t},\n\n\t// Auth\n\tAuth0: {\n\t\tname: \"Auth0\",\n\t\tpurpose: \"Authentication and identity management\",\n\t\tpolicyUrl: \"https://auth0.com/privacy\",\n\t},\n\tClerk: {\n\t\tname: \"Clerk\",\n\t\tpurpose: \"Authentication and user management\",\n\t\tpolicyUrl: \"https://clerk.com/privacy\",\n\t},\n\n\t// Email\n\tResend: {\n\t\tname: \"Resend\",\n\t\tpurpose: \"Transactional email delivery\",\n\t\tpolicyUrl: \"https://resend.com/legal/privacy-policy\",\n\t},\n\tPostmark: {\n\t\tname: \"Postmark\",\n\t\tpurpose: \"Transactional email delivery\",\n\t\tpolicyUrl: \"https://wildbit.com/privacy-policy\",\n\t},\n\tSendGrid: {\n\t\tname: \"SendGrid\",\n\t\tpurpose: \"Transactional email delivery\",\n\t\tpolicyUrl: \"https://www.twilio.com/en-us/legal/privacy\",\n\t},\n\tLoops: {\n\t\tname: \"Loops\",\n\t\tpurpose: \"Email marketing and automation\",\n\t\tpolicyUrl: \"https://loops.so/privacy\",\n\t},\n\n\t// Monitoring\n\tSentry: {\n\t\tname: \"Sentry\",\n\t\tpurpose: \"Error monitoring and performance tracking\",\n\t\tpolicyUrl: \"https://sentry.io/privacy/\",\n\t},\n\tDatadog: {\n\t\tname: \"Datadog\",\n\t\tpurpose: \"Infrastructure monitoring and observability\",\n\t\tpolicyUrl: \"https://www.datadoghq.com/legal/privacy/\",\n\t},\n} satisfies Record<string, Provider>;\n","import type { OpenPolicyConfig } from \"@openpolicy/core\";\n\nexport type {\n\tCookiePolicyConfig,\n\tLegalBasis,\n\tOpenPolicyConfig,\n\tPrivacyPolicyConfig,\n\tTermsOfServiceConfig,\n\tUserRight,\n} from \"@openpolicy/core\";\n\nexport { dataCollected } from \"./auto-collected\";\nexport { collecting } from \"./collecting\";\nexport { Compliance } from \"./compliance\";\nexport { DataCategories, LegalBases, Retention, Rights } from \"./data\";\nexport { Providers } from \"./providers\";\n\nexport function defineConfig(config: OpenPolicyConfig): OpenPolicyConfig {\n\treturn config;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAAgB,WACf,WACA,OACA,QACI;AACJ,QAAO;;;;ACrCR,MAAa,aAAa;CACzB,MAAM;EACL,eAAe,CAAC,KAAK;EACrB,YAAY,CAAC,uBAAuB;EACpC,YAAY;GACX;GACA;GACA;GACA;GACA;GACA;GACA;EACD;CACD,MAAM;EACL,eAAe,CAAC,KAAK;EACrB,YAAY;GACX;GACA;GACA;GACA;GACA;EACD;CACD;;;ACtBD,MAAa,iBAAiB;CAC7B,aAAa,EAAE,uBAAuB,CAAC,QAAQ,gBAAgB,EAAE;CACjE,aAAa,EACZ,gBAAgB;EAAC;EAAc;EAAc;EAAe,EAC5D;CACD,aAAa,EACZ,uBAAuB;EACtB;EACA;EACA;EACA,EACD;CACD,WAAW,EACV,cAAc;EAAC;EAAiB;EAAiB;EAAa,EAC9D;CACD,YAAY,EACX,sBAAsB;EACrB;EACA;EACA;EACA,EACD;CACD,cAAc,EAAE,iBAAiB;EAAC;EAAW;EAAQ;EAAW,EAAE;CAClE,gBAAgB,EACf,gBAAgB,CAAC,iBAAiB,kBAAkB,EACpD;CACD;AAED,MAAa,YAAY;CACxB,sBAAsB;CACtB,oBAAoB;CACpB,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,YAAY;CACZ,iBAAiB;CACjB;AAED,MAAa,SAAS;CACrB,QAAQ;CACR,eAAe;CACf,SAAS;CACT,aAAa;CACb,aAAa;CACb,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;AAED,MAAa,aAAa;CACzB,SAAS;CACT,UAAU;CACV,iBAAiB;CACjB,gBAAgB;CAChB,YAAY;CACZ,qBAAqB;CACrB;;;ACxDD,MAAa,YAAY;CAExB,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,cAAc;EACb,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CAGD,iBAAiB;EAChB,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,SAAS;EACR,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,WAAW;EACV,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,UAAU;EACT,MAAM;EACN,SAAS;EACT,WAAW;EACX;CAGD,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,YAAY;EACX,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,KAAK;EACJ,MAAM;EACN,SAAS;EACT,WAAW;EACX;CAGD,OAAO;EACN,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,OAAO;EACN,MAAM;EACN,SAAS;EACT,WAAW;EACX;CAGD,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,UAAU;EACT,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,UAAU;EACT,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,OAAO;EACN,MAAM;EACN,SAAS;EACT,WAAW;EACX;CAGD,QAAQ;EACP,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD,SAAS;EACR,MAAM;EACN,SAAS;EACT,WAAW;EACX;CACD;;;AC5FD,SAAgB,aAAa,QAA4C;AACxE,QAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openpolicy/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Public API for defining privacy policies with OpenPolicy",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
|
-
"dev": "rolldown -c
|
|
23
|
+
"dev": "rolldown --watch -c",
|
|
24
24
|
"build": "rolldown -c",
|
|
25
25
|
"check-types": "tsc --noEmit",
|
|
26
26
|
"test": "bun test"
|