UNPKG

@openpolicy/sdk

Version:

Public API for defining privacy policies with OpenPolicy

116 lines 4.03 kB
//#region ../core/dist/index.d.ts type PolicyCategory = "privacy" | "cookie"; type Locale = "en" | "fr" | "de" | "nl" | "es"; type Jurisdiction = "eu" | "uk" | "us-ca" | "us-va" | "us-co" | "br" | "ca" | "au" | "jp" | "sg"; type LegalBasis = "consent" | "contract" | "legal_obligation" | "vital_interests" | "public_task" | "legitimate_interests"; type AutomatedDecision = { name: string; logic: string; significance: string; }; type AutomatedDecisionMaking = AutomatedDecision[]; type Dpo = { email: string; name?: string; phone?: string; address?: string; } | { required: false; reason?: string; }; type EuRepresentative = { name: string; address: string; email: string; }; type Contact = { email: string; phone?: string; }; type CompanyConfig = { name: string; legalName: string; address: string; contact: Contact; dpo?: Dpo; euRepresentative?: EuRepresentative; }; type EffectiveDate = `${number}-${number}-${number}`; type DataCollection = Record<string, string[]>; type ProvisionBasis = "statutory" | "contractual" | "contract-prerequisite" | "voluntary"; type ProvisionRequirement = { basis: ProvisionBasis; consequences: string; }; type DataContextEntry = { purpose: string; lawfulBasis: LegalBasis; retention: string; provision: ProvisionRequirement; }; type DataContext = Record<string, DataContextEntry>; type DataConfig = { collected: DataCollection; context: DataContext; }; type ThirdParty = { name: string; purpose: string; policyUrl?: string; }; type ChildrenConfig = { underAge: number; noticeUrl?: string; }; type CookieUsage = { essential: true; [key: string]: boolean; }; type CookieContextEntry = { lawfulBasis: LegalBasis; }; type CookieContext = Record<string, CookieContextEntry>; type CookiePolicyCookies = { used: CookieUsage; context: CookieContext; }; type TrackingTechnology = string; type ConsentMechanism = { hasBanner: boolean; hasPreferencePanel: boolean; canWithdraw: boolean; }; type OpenPolicyConfig = { company: CompanyConfig; effectiveDate: EffectiveDate; jurisdictions: Jurisdiction[]; locale?: Locale; data?: DataConfig; children?: ChildrenConfig; thirdParties?: ThirdParty[]; automatedDecisionMaking?: AutomatedDecisionMaking; cookies?: CookiePolicyCookies; trackingTechnologies?: TrackingTechnology[]; consentMechanism?: ConsentMechanism; policies?: PolicyCategory[]; privacyVersion?: string; cookieVersion?: string; }; //#endregion //#region src/provision.d.ts /** * Helpers that build a {@link ProvisionRequirement} for `data.context[category].provision`. * Each call carries the consequences of failing to provide the data, as * required by GDPR Article 13(2)(e). */ declare const Statutory: (consequences: string) => ProvisionRequirement; declare const Contractual: (consequences: string) => ProvisionRequirement; declare const ContractPrerequisite: (consequences: string) => ProvisionRequirement; declare const Voluntary: (consequences: string) => ProvisionRequirement; //#endregion //#region src/policy-version.d.ts declare function computePrivacyVersion(config: OpenPolicyConfig): string | undefined; declare function computeCookieVersion(config: OpenPolicyConfig): string | undefined; //#endregion //#region src/user-rights.d.ts //#endregion export { Voluntary as A, OpenPolicyConfig as C, Statutory as D, ProvisionRequirement as E, computePrivacyVersion as M, ThirdParty as O, Locale as S, ProvisionBasis as T, Dpo as _, ConsentMechanism as a, Jurisdiction as b, Contractual as c, CookiePolicyCookies as d, CookieUsage as f, DataContextEntry as g, DataContext as h, CompanyConfig as i, computeCookieVersion as j, TrackingTechnology as k, CookieContext as l, DataConfig as m, AutomatedDecisionMaking as n, Contact as o, DataCollection as p, ChildrenConfig as r, ContractPrerequisite as s, AutomatedDecision as t, CookieContextEntry as u, EffectiveDate as v, PolicyCategory as w, LegalBasis as x, EuRepresentative as y }; //# sourceMappingURL=index-BnGK1COr.d.ts.map