@tantainnovative/ndpr-toolkit 3.4.0 → 3.5.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.
- package/CHANGELOG.md +25 -0
- package/README.md +80 -38
- package/dist/adapters.d.mts +34 -25
- package/dist/adapters.d.ts +34 -25
- package/dist/breach.d.mts +803 -44
- package/dist/breach.d.ts +803 -44
- package/dist/breach.js +2 -1
- package/dist/breach.mjs +2 -1
- package/dist/{chunk-2WH4DLV5.js → chunk-3EGQWLJ6.js} +3 -3
- package/dist/chunk-B4Z5MBUC.mjs +2 -0
- package/dist/{chunk-LSCMXAPY.mjs → chunk-CKGJK4D7.mjs} +3 -3
- package/dist/{chunk-XSEZDQLB.js → chunk-CKJAECGV.js} +2 -2
- package/dist/{chunk-AHSMDPG5.js → chunk-CPK5D5FY.js} +2 -2
- package/dist/{chunk-DCJK5OZT.mjs → chunk-CWHBCQGT.mjs} +2 -2
- package/dist/{chunk-KSERBMXW.mjs → chunk-F5TXUA4O.mjs} +3 -3
- package/dist/{chunk-BN77GP4W.mjs → chunk-GN5C32JB.mjs} +2 -2
- package/dist/{chunk-ZLSWOFAY.mjs → chunk-GRLIPT5V.mjs} +2 -2
- package/dist/{chunk-DUY6F3GT.mjs → chunk-H3EYBSVP.mjs} +3 -3
- package/dist/{chunk-MG73MOZC.mjs → chunk-I557S566.mjs} +2 -2
- package/dist/{chunk-QVULSG6J.mjs → chunk-ID2NYIVE.mjs} +3 -3
- package/dist/chunk-J5WCPZLW.js +2 -0
- package/dist/{chunk-4R42ZNO7.mjs → chunk-JFFOPHU3.mjs} +57 -57
- package/dist/{chunk-P2YV6DR3.js → chunk-LIM64IV2.js} +3 -3
- package/dist/chunk-LU7PKE7Y.mjs +2 -0
- package/dist/{chunk-HQSU7LGM.js → chunk-LWXZMKC2.js} +4 -4
- package/dist/{chunk-XMBSJJ5U.js → chunk-ORFC66EA.js} +3 -3
- package/dist/{chunk-VTITKWGX.mjs → chunk-QSVVAZVT.mjs} +2 -2
- package/dist/chunk-SCWNM4PC.mjs +2 -0
- package/dist/{chunk-EHAZIKDX.js → chunk-SKKOMFXH.js} +2 -2
- package/dist/{chunk-WH6ZMUOS.mjs → chunk-TUNQUVHU.mjs} +2 -2
- package/dist/chunk-TV4U6AIS.js +2 -0
- package/dist/{chunk-ZYLDLGFL.js → chunk-VIQUXWJC.js} +2 -2
- package/dist/{chunk-SUEGUY35.js → chunk-XIM7KMD6.js} +2 -2
- package/dist/{chunk-P6QAFBCV.js → chunk-XNSZ7KUH.js} +2 -2
- package/dist/{chunk-RNTNHVKZ.js → chunk-YPKUHSK4.js} +2 -2
- package/dist/{chunk-UFPSUO52.js → chunk-Z73T6MWY.js} +57 -57
- package/dist/consent.d.mts +648 -84
- package/dist/consent.d.ts +648 -84
- package/dist/consent.js +2 -1
- package/dist/consent.mjs +2 -1
- package/dist/core.d.mts +2049 -23
- package/dist/core.d.ts +2049 -23
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/cross-border.d.mts +470 -99
- package/dist/cross-border.d.ts +470 -99
- package/dist/cross-border.js +1 -0
- package/dist/cross-border.mjs +1 -0
- package/dist/dpia.d.mts +591 -37
- package/dist/dpia.d.ts +591 -37
- package/dist/dpia.js +1 -0
- package/dist/dpia.mjs +1 -0
- package/dist/dsr.d.mts +654 -37
- package/dist/dsr.d.ts +654 -37
- package/dist/dsr.js +2 -1
- package/dist/dsr.mjs +2 -1
- package/dist/hooks.d.mts +2174 -30
- package/dist/hooks.d.ts +2174 -30
- package/dist/hooks.js +2 -1
- package/dist/hooks.mjs +2 -1
- package/dist/index.d.mts +4428 -43
- package/dist/index.d.ts +4428 -43
- package/dist/index.js +2 -1
- package/dist/index.mjs +2 -1
- package/dist/lawful-basis.d.mts +368 -32
- package/dist/lawful-basis.d.ts +368 -32
- package/dist/lawful-basis.js +1 -0
- package/dist/lawful-basis.mjs +1 -0
- package/dist/policy.d.mts +1178 -83
- package/dist/policy.d.ts +1178 -83
- package/dist/policy.js +2 -1
- package/dist/policy.mjs +2 -1
- package/dist/presets.d.mts +1020 -114
- package/dist/presets.d.ts +1020 -114
- package/dist/presets.js +2 -1
- package/dist/presets.mjs +2 -1
- package/dist/ropa.d.mts +396 -31
- package/dist/ropa.d.ts +396 -31
- package/dist/ropa.js +2 -1
- package/dist/ropa.mjs +2 -1
- package/dist/server.d.mts +2133 -24
- package/dist/server.d.ts +2133 -24
- package/dist/server.js +1 -1
- package/dist/server.mjs +1 -1
- package/dist/unstyled.d.mts +523 -55
- package/dist/unstyled.d.ts +523 -55
- package/dist/unstyled.js +2 -1
- package/dist/unstyled.mjs +2 -1
- package/package.json +3 -3
- package/dist/BreachReportForm-DpRrBoxU.d.ts +0 -158
- package/dist/BreachReportForm-yJ2Zl6gz.d.mts +0 -158
- package/dist/ConsentBanner-F5ayys5K.d.mts +0 -156
- package/dist/ConsentBanner-VqIPophc.d.ts +0 -156
- package/dist/ConsentManager-C7I3PDe8.d.mts +0 -105
- package/dist/ConsentManager-CQ2IZtUU.d.ts +0 -105
- package/dist/CrossBorderTransferManager-D5Lc0e46.d.ts +0 -90
- package/dist/CrossBorderTransferManager-DkZhv9vD.d.mts +0 -90
- package/dist/DPIAQuestionnaire-VXBoWFMC.d.ts +0 -123
- package/dist/DPIAQuestionnaire-jkt1Veb6.d.mts +0 -123
- package/dist/DSRRequestForm-D8rPTNmU.d.ts +0 -146
- package/dist/DSRRequestForm-DRouEr9j.d.mts +0 -146
- package/dist/DSRTracker-Bl__d4df.d.ts +0 -163
- package/dist/DSRTracker-CSVDfgQQ.d.mts +0 -163
- package/dist/LawfulBasisTracker-CBqOxX1D.d.mts +0 -85
- package/dist/LawfulBasisTracker-Cg30NbDA.d.ts +0 -85
- package/dist/NDPRDashboard-CLJpEg0X.d.mts +0 -44
- package/dist/NDPRDashboard-DDWNd2Ah.d.ts +0 -44
- package/dist/NDPRProvider-DYFb8xEl.d.ts +0 -68
- package/dist/NDPRProvider-U3QNu6MA.d.mts +0 -68
- package/dist/PolicyExporter-Bgi6nz82.d.mts +0 -291
- package/dist/PolicyExporter-BnvuFncj.d.ts +0 -291
- package/dist/ROPAManager-BS4eB8Hw.d.mts +0 -79
- package/dist/ROPAManager-qxTrXLkD.d.ts +0 -79
- package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +0 -282
- package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +0 -282
- package/dist/StepIndicator-CgrlokSV.d.ts +0 -171
- package/dist/StepIndicator-W8S_QjgO.d.mts +0 -171
- package/dist/breach-B_-6lDqS.d.mts +0 -17
- package/dist/breach-CzXqSsaY.d.ts +0 -17
- package/dist/breach-Eu9byel8.d.mts +0 -185
- package/dist/breach-Eu9byel8.d.ts +0 -185
- package/dist/chunk-5X32J5IA.mjs +0 -2
- package/dist/chunk-7D2OIPHH.mjs +0 -2
- package/dist/chunk-JKKRPS4P.js +0 -2
- package/dist/chunk-NCOZB2WU.mjs +0 -2
- package/dist/chunk-RGNP45VR.js +0 -2
- package/dist/compliance-score-racQe_E_.d.mts +0 -115
- package/dist/compliance-score-racQe_E_.d.ts +0 -115
- package/dist/consent-CmVzqZUk.d.mts +0 -99
- package/dist/consent-CmVzqZUk.d.ts +0 -99
- package/dist/consent-audit-BdByjYlM.d.mts +0 -65
- package/dist/consent-audit-DhbfMR0n.d.ts +0 -65
- package/dist/cross-border-BBi9rZyO.d.mts +0 -54
- package/dist/cross-border-Dy-U9Hu6.d.ts +0 -54
- package/dist/cross-border-UyT00llA.d.mts +0 -141
- package/dist/cross-border-UyT00llA.d.ts +0 -141
- package/dist/docx-BxKascXN.d.ts +0 -64
- package/dist/docx-CV7Vsry_.d.mts +0 -64
- package/dist/dpia-D82hUrJe.d.ts +0 -15
- package/dist/dpia-DQDFw2_l.d.mts +0 -15
- package/dist/dpia-c9GiiOq0.d.mts +0 -137
- package/dist/dpia-c9GiiOq0.d.ts +0 -137
- package/dist/dsr-CIx5sd7e.d.ts +0 -14
- package/dist/dsr-XZ_HqTlA.d.mts +0 -14
- package/dist/dsr-yKbqX531.d.mts +0 -128
- package/dist/dsr-yKbqX531.d.ts +0 -128
- package/dist/lawful-basis-BEyI0kGg.d.ts +0 -57
- package/dist/lawful-basis-C2eGaoHM.d.mts +0 -57
- package/dist/lawful-basis-Cv1VmDLn.d.mts +0 -112
- package/dist/lawful-basis-Cv1VmDLn.d.ts +0 -112
- package/dist/locale-CxJx2tzn.d.mts +0 -25
- package/dist/locale-DSkrtf-c.d.ts +0 -25
- package/dist/policy-engine-CCUCud2T.d.ts +0 -154
- package/dist/policy-engine-fYSqEqSW.d.mts +0 -154
- package/dist/policy-sections-BYx6fEFk.d.ts +0 -56
- package/dist/policy-sections-Dm97Nq8m.d.mts +0 -56
- package/dist/policy-templates-DhLwq4R-.d.ts +0 -43
- package/dist/policy-templates-DwYl2329.d.mts +0 -43
- package/dist/privacy-Ca6te9Ir.d.mts +0 -138
- package/dist/privacy-Ca6te9Ir.d.ts +0 -138
- package/dist/ropa-BDTM06tr.d.ts +0 -152
- package/dist/ropa-CFHuT7jE.d.mts +0 -152
- package/dist/ropa-CyynscU6.d.ts +0 -51
- package/dist/ropa-NIgxd8uP.d.mts +0 -51
- package/dist/sanitize-CxxwKxAx.d.mts +0 -94
- package/dist/sanitize-CxxwKxAx.d.ts +0 -94
- package/dist/styling-BMDGQDgS.d.mts +0 -64
- package/dist/styling-BaoQtV06.d.ts +0 -64
- package/dist/types-DK2CoKOC.d.mts +0 -10
- package/dist/types-DK2CoKOC.d.ts +0 -10
- package/dist/useAdaptivePolicyWizard-BnjW4OR4.d.mts +0 -52
- package/dist/useAdaptivePolicyWizard-sb3m4-Zk.d.ts +0 -52
- package/dist/useBreach-CPr86Yan.d.mts +0 -115
- package/dist/useBreach-DkVXvtJK.d.ts +0 -115
- package/dist/useConsent-DCNkIJHR.d.mts +0 -75
- package/dist/useConsent-dOcELSfX.d.ts +0 -75
- package/dist/useCrossBorderTransfer-DixjLjN1.d.mts +0 -78
- package/dist/useCrossBorderTransfer-DvSq06lv.d.ts +0 -78
- package/dist/useDPIA-B6180UQn.d.mts +0 -109
- package/dist/useDPIA-CTqbNbww.d.ts +0 -109
- package/dist/useDSR-WvHk8_iu.d.mts +0 -85
- package/dist/useDSR-wH4H6hSM.d.ts +0 -85
- package/dist/useDefaultPrivacyPolicy-Cs2WQSYQ.d.mts +0 -162
- package/dist/useDefaultPrivacyPolicy-DkOqMg2e.d.ts +0 -162
- package/dist/useLawfulBasis-CKJ-kw84.d.mts +0 -79
- package/dist/useLawfulBasis-DFTmu1ca.d.ts +0 -79
- package/dist/useROPA-BSSU1rfx.d.ts +0 -76
- package/dist/useROPA-C2hjaBTz.d.mts +0 -76
package/dist/docx-CV7Vsry_.d.mts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { c as PrivacyPolicy } from './privacy-Ca6te9Ir.mjs';
|
|
2
|
-
import { H as HTMLExportOptions, g as PDFExportOptions, f as DOCXExportOptions } from './policy-engine-fYSqEqSW.mjs';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Export a PrivacyPolicy as a self-contained HTML string.
|
|
6
|
-
*
|
|
7
|
-
* The returned string includes:
|
|
8
|
-
* - An embedded `<style>` block (responsive, dark/light, print-friendly)
|
|
9
|
-
* - An `<article>` wrapper with semantic markup
|
|
10
|
-
* - A `<nav>` table of contents with anchor links
|
|
11
|
-
* - A `<section>` for every included policy section
|
|
12
|
-
* - A metadata footer (org name, effective date, version, generator credit)
|
|
13
|
-
* - Optional custom CSS injection via `options.customCSS`
|
|
14
|
-
*/
|
|
15
|
-
declare function exportHTML(policy: PrivacyPolicy, options?: HTMLExportOptions): string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Export a PrivacyPolicy as a clean Markdown string.
|
|
19
|
-
*
|
|
20
|
-
* Structure:
|
|
21
|
-
* ```
|
|
22
|
-
* # Policy Title
|
|
23
|
-
* _Effective: date | Version: X | Org Name_
|
|
24
|
-
*
|
|
25
|
-
* ## Table of Contents
|
|
26
|
-
* - [Section Title](#anchor)
|
|
27
|
-
*
|
|
28
|
-
* ## 1. Section Title
|
|
29
|
-
* Section content...
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
declare function exportMarkdown(policy: PrivacyPolicy): string;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Export a PrivacyPolicy to a PDF Blob using jspdf (optional peer dependency).
|
|
36
|
-
*
|
|
37
|
-
* Features:
|
|
38
|
-
* - Optional cover page with title, organisation, date, version and compliance badge
|
|
39
|
-
* - Optional table of contents page
|
|
40
|
-
* - One section per heading, content reflowed to fit the page
|
|
41
|
-
* - Automatic page breaks
|
|
42
|
-
* - Page header (org name) and footer (page X of Y) on every page
|
|
43
|
-
* - PDF metadata (title, author, subject, keywords)
|
|
44
|
-
*
|
|
45
|
-
* @throws {Error} if the `jspdf` package is not installed
|
|
46
|
-
*/
|
|
47
|
-
declare function exportPDF(policy: PrivacyPolicy, options?: PDFExportOptions): Promise<Blob>;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Export a PrivacyPolicy as a Word (.docx) Blob using the `docx` library
|
|
51
|
-
* (optional peer dependency).
|
|
52
|
-
*
|
|
53
|
-
* Features:
|
|
54
|
-
* - Title paragraph with large bold text
|
|
55
|
-
* - Organisation name + version subtitle
|
|
56
|
-
* - Optional table of contents placeholder heading
|
|
57
|
-
* - All included policy sections as Heading 1 + body paragraphs / bullet lists
|
|
58
|
-
* - Running header (org name) and page-number footer on every page
|
|
59
|
-
*
|
|
60
|
-
* @throws {Error} if the `docx` package is not installed
|
|
61
|
-
*/
|
|
62
|
-
declare function exportDOCX(policy: PrivacyPolicy, options?: DOCXExportOptions): Promise<Blob>;
|
|
63
|
-
|
|
64
|
-
export { exportHTML as a, exportMarkdown as b, exportPDF as c, exportDOCX as e };
|
package/dist/dpia-D82hUrJe.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { a as DPIAResult } from './dpia-c9GiiOq0.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Assesses the risk level of a DPIA based on the identified risks
|
|
5
|
-
* @param dpiaResult The DPIA result containing risks to assess
|
|
6
|
-
* @returns Assessment result with overall risk level and recommendations
|
|
7
|
-
*/
|
|
8
|
-
declare function assessDPIARisk(dpiaResult: DPIAResult): {
|
|
9
|
-
overallRiskLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
10
|
-
requiresConsultation: boolean;
|
|
11
|
-
canProceed: boolean;
|
|
12
|
-
recommendations: string[];
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { assessDPIARisk as a };
|
package/dist/dpia-DQDFw2_l.d.mts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { a as DPIAResult } from './dpia-c9GiiOq0.mjs';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Assesses the risk level of a DPIA based on the identified risks
|
|
5
|
-
* @param dpiaResult The DPIA result containing risks to assess
|
|
6
|
-
* @returns Assessment result with overall risk level and recommendations
|
|
7
|
-
*/
|
|
8
|
-
declare function assessDPIARisk(dpiaResult: DPIAResult): {
|
|
9
|
-
overallRiskLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
10
|
-
requiresConsultation: boolean;
|
|
11
|
-
canProceed: boolean;
|
|
12
|
-
recommendations: string[];
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { assessDPIARisk as a };
|
package/dist/dpia-c9GiiOq0.d.mts
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Protection Impact Assessment types aligned with NDPA 2023 Sections 38-39
|
|
3
|
-
* A DPIA is required when processing is likely to result in high risk to data subjects
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Represents a question in the DPIA questionnaire
|
|
7
|
-
*/
|
|
8
|
-
interface DPIAQuestion {
|
|
9
|
-
/** Unique identifier for the question */
|
|
10
|
-
id: string;
|
|
11
|
-
/** The text of the question */
|
|
12
|
-
text: string;
|
|
13
|
-
/** Additional guidance for answering the question */
|
|
14
|
-
guidance?: string;
|
|
15
|
-
/** Type of input required for the answer */
|
|
16
|
-
type: 'text' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'scale';
|
|
17
|
-
/** Options for select, radio, or checkbox questions */
|
|
18
|
-
options?: Array<{
|
|
19
|
-
value: string;
|
|
20
|
-
label: string;
|
|
21
|
-
riskLevel?: 'low' | 'medium' | 'high';
|
|
22
|
-
}>;
|
|
23
|
-
/** For scale questions, the minimum value */
|
|
24
|
-
minValue?: number;
|
|
25
|
-
/** For scale questions, the maximum value */
|
|
26
|
-
maxValue?: number;
|
|
27
|
-
/** For scale questions, labels for the scale points */
|
|
28
|
-
scaleLabels?: Record<number, string>;
|
|
29
|
-
/** Whether the question is required */
|
|
30
|
-
required: boolean;
|
|
31
|
-
/** Risk level associated with this question */
|
|
32
|
-
riskLevel?: 'low' | 'medium' | 'high';
|
|
33
|
-
/** Whether this question triggers additional questions based on the answer */
|
|
34
|
-
hasDependentQuestions?: boolean;
|
|
35
|
-
/** Conditions that determine when this question should be shown */
|
|
36
|
-
showWhen?: Array<{
|
|
37
|
-
questionId: string;
|
|
38
|
-
operator: 'equals' | 'contains' | 'greaterThan' | 'lessThan';
|
|
39
|
-
value: string | number | boolean;
|
|
40
|
-
}>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Represents a section in the DPIA questionnaire
|
|
44
|
-
*/
|
|
45
|
-
interface DPIASection {
|
|
46
|
-
/** Unique identifier for the section */
|
|
47
|
-
id: string;
|
|
48
|
-
/** Title of the section */
|
|
49
|
-
title: string;
|
|
50
|
-
/** Description of the section */
|
|
51
|
-
description?: string;
|
|
52
|
-
/** Questions in this section */
|
|
53
|
-
questions: DPIAQuestion[];
|
|
54
|
-
/** Order of the section in the questionnaire */
|
|
55
|
-
order: number;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Represents a risk identified in the DPIA
|
|
59
|
-
*/
|
|
60
|
-
interface DPIARisk {
|
|
61
|
-
/** Unique identifier for the risk */
|
|
62
|
-
id: string;
|
|
63
|
-
/** Description of the risk */
|
|
64
|
-
description: string;
|
|
65
|
-
/** Likelihood of the risk occurring (1-5) */
|
|
66
|
-
likelihood: number;
|
|
67
|
-
/** Impact if the risk occurs (1-5) */
|
|
68
|
-
impact: number;
|
|
69
|
-
/** Overall risk score (likelihood * impact) */
|
|
70
|
-
score: number;
|
|
71
|
-
/** Risk level based on the score */
|
|
72
|
-
level: 'low' | 'medium' | 'high' | 'critical';
|
|
73
|
-
/** Measures to mitigate the risk */
|
|
74
|
-
mitigationMeasures?: string[];
|
|
75
|
-
/** Whether the risk has been mitigated */
|
|
76
|
-
mitigated: boolean;
|
|
77
|
-
/** Residual risk score after mitigation */
|
|
78
|
-
residualScore?: number;
|
|
79
|
-
/** Questions that identified this risk */
|
|
80
|
-
relatedQuestionIds: string[];
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Represents the result of a completed DPIA
|
|
84
|
-
*/
|
|
85
|
-
interface DPIAResult {
|
|
86
|
-
/** Unique identifier for the DPIA */
|
|
87
|
-
id: string;
|
|
88
|
-
/** Title of the DPIA */
|
|
89
|
-
title: string;
|
|
90
|
-
/** Description of the processing activity being assessed */
|
|
91
|
-
processingDescription: string;
|
|
92
|
-
/** Timestamp when the DPIA was started */
|
|
93
|
-
startedAt: number;
|
|
94
|
-
/** Timestamp when the DPIA was completed */
|
|
95
|
-
completedAt?: number;
|
|
96
|
-
/** Person responsible for conducting the DPIA */
|
|
97
|
-
assessor: {
|
|
98
|
-
name: string;
|
|
99
|
-
role: string;
|
|
100
|
-
email: string;
|
|
101
|
-
};
|
|
102
|
-
/** Answers to all questions in the DPIA */
|
|
103
|
-
answers: Record<string, string | number | boolean | string[]>;
|
|
104
|
-
/** Risks identified in the DPIA */
|
|
105
|
-
risks: DPIARisk[];
|
|
106
|
-
/** Overall risk level of the processing activity */
|
|
107
|
-
overallRiskLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
108
|
-
/** Whether the DPIA concluded that the processing can proceed */
|
|
109
|
-
canProceed: boolean;
|
|
110
|
-
/** Reasons why the processing can or cannot proceed */
|
|
111
|
-
conclusion: string;
|
|
112
|
-
/** Recommendations for the processing activity */
|
|
113
|
-
recommendations?: string[];
|
|
114
|
-
/** Next review date for the DPIA */
|
|
115
|
-
reviewDate?: number;
|
|
116
|
-
/** Version of the DPIA questionnaire used */
|
|
117
|
-
version: string;
|
|
118
|
-
/**
|
|
119
|
-
* Whether prior consultation with NDPC is required
|
|
120
|
-
* Per NDPA Section 39, consultation is required when DPIA indicates high residual risk
|
|
121
|
-
*/
|
|
122
|
-
ndpcConsultationRequired?: boolean;
|
|
123
|
-
/** Date when NDPC consultation was initiated */
|
|
124
|
-
ndpcConsultationDate?: number;
|
|
125
|
-
/** Reference number from NDPC consultation */
|
|
126
|
-
ndpcConsultationReference?: string;
|
|
127
|
-
/**
|
|
128
|
-
* The lawful basis for the processing activity being assessed
|
|
129
|
-
*/
|
|
130
|
-
lawfulBasis?: string;
|
|
131
|
-
/**
|
|
132
|
-
* Whether this DPIA involves cross-border data transfers
|
|
133
|
-
*/
|
|
134
|
-
involvesCrossBorderTransfer?: boolean;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export type { DPIAQuestion as D, DPIAResult as a, DPIARisk as b, DPIASection as c };
|
package/dist/dpia-c9GiiOq0.d.ts
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Protection Impact Assessment types aligned with NDPA 2023 Sections 38-39
|
|
3
|
-
* A DPIA is required when processing is likely to result in high risk to data subjects
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Represents a question in the DPIA questionnaire
|
|
7
|
-
*/
|
|
8
|
-
interface DPIAQuestion {
|
|
9
|
-
/** Unique identifier for the question */
|
|
10
|
-
id: string;
|
|
11
|
-
/** The text of the question */
|
|
12
|
-
text: string;
|
|
13
|
-
/** Additional guidance for answering the question */
|
|
14
|
-
guidance?: string;
|
|
15
|
-
/** Type of input required for the answer */
|
|
16
|
-
type: 'text' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'scale';
|
|
17
|
-
/** Options for select, radio, or checkbox questions */
|
|
18
|
-
options?: Array<{
|
|
19
|
-
value: string;
|
|
20
|
-
label: string;
|
|
21
|
-
riskLevel?: 'low' | 'medium' | 'high';
|
|
22
|
-
}>;
|
|
23
|
-
/** For scale questions, the minimum value */
|
|
24
|
-
minValue?: number;
|
|
25
|
-
/** For scale questions, the maximum value */
|
|
26
|
-
maxValue?: number;
|
|
27
|
-
/** For scale questions, labels for the scale points */
|
|
28
|
-
scaleLabels?: Record<number, string>;
|
|
29
|
-
/** Whether the question is required */
|
|
30
|
-
required: boolean;
|
|
31
|
-
/** Risk level associated with this question */
|
|
32
|
-
riskLevel?: 'low' | 'medium' | 'high';
|
|
33
|
-
/** Whether this question triggers additional questions based on the answer */
|
|
34
|
-
hasDependentQuestions?: boolean;
|
|
35
|
-
/** Conditions that determine when this question should be shown */
|
|
36
|
-
showWhen?: Array<{
|
|
37
|
-
questionId: string;
|
|
38
|
-
operator: 'equals' | 'contains' | 'greaterThan' | 'lessThan';
|
|
39
|
-
value: string | number | boolean;
|
|
40
|
-
}>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Represents a section in the DPIA questionnaire
|
|
44
|
-
*/
|
|
45
|
-
interface DPIASection {
|
|
46
|
-
/** Unique identifier for the section */
|
|
47
|
-
id: string;
|
|
48
|
-
/** Title of the section */
|
|
49
|
-
title: string;
|
|
50
|
-
/** Description of the section */
|
|
51
|
-
description?: string;
|
|
52
|
-
/** Questions in this section */
|
|
53
|
-
questions: DPIAQuestion[];
|
|
54
|
-
/** Order of the section in the questionnaire */
|
|
55
|
-
order: number;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Represents a risk identified in the DPIA
|
|
59
|
-
*/
|
|
60
|
-
interface DPIARisk {
|
|
61
|
-
/** Unique identifier for the risk */
|
|
62
|
-
id: string;
|
|
63
|
-
/** Description of the risk */
|
|
64
|
-
description: string;
|
|
65
|
-
/** Likelihood of the risk occurring (1-5) */
|
|
66
|
-
likelihood: number;
|
|
67
|
-
/** Impact if the risk occurs (1-5) */
|
|
68
|
-
impact: number;
|
|
69
|
-
/** Overall risk score (likelihood * impact) */
|
|
70
|
-
score: number;
|
|
71
|
-
/** Risk level based on the score */
|
|
72
|
-
level: 'low' | 'medium' | 'high' | 'critical';
|
|
73
|
-
/** Measures to mitigate the risk */
|
|
74
|
-
mitigationMeasures?: string[];
|
|
75
|
-
/** Whether the risk has been mitigated */
|
|
76
|
-
mitigated: boolean;
|
|
77
|
-
/** Residual risk score after mitigation */
|
|
78
|
-
residualScore?: number;
|
|
79
|
-
/** Questions that identified this risk */
|
|
80
|
-
relatedQuestionIds: string[];
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Represents the result of a completed DPIA
|
|
84
|
-
*/
|
|
85
|
-
interface DPIAResult {
|
|
86
|
-
/** Unique identifier for the DPIA */
|
|
87
|
-
id: string;
|
|
88
|
-
/** Title of the DPIA */
|
|
89
|
-
title: string;
|
|
90
|
-
/** Description of the processing activity being assessed */
|
|
91
|
-
processingDescription: string;
|
|
92
|
-
/** Timestamp when the DPIA was started */
|
|
93
|
-
startedAt: number;
|
|
94
|
-
/** Timestamp when the DPIA was completed */
|
|
95
|
-
completedAt?: number;
|
|
96
|
-
/** Person responsible for conducting the DPIA */
|
|
97
|
-
assessor: {
|
|
98
|
-
name: string;
|
|
99
|
-
role: string;
|
|
100
|
-
email: string;
|
|
101
|
-
};
|
|
102
|
-
/** Answers to all questions in the DPIA */
|
|
103
|
-
answers: Record<string, string | number | boolean | string[]>;
|
|
104
|
-
/** Risks identified in the DPIA */
|
|
105
|
-
risks: DPIARisk[];
|
|
106
|
-
/** Overall risk level of the processing activity */
|
|
107
|
-
overallRiskLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
108
|
-
/** Whether the DPIA concluded that the processing can proceed */
|
|
109
|
-
canProceed: boolean;
|
|
110
|
-
/** Reasons why the processing can or cannot proceed */
|
|
111
|
-
conclusion: string;
|
|
112
|
-
/** Recommendations for the processing activity */
|
|
113
|
-
recommendations?: string[];
|
|
114
|
-
/** Next review date for the DPIA */
|
|
115
|
-
reviewDate?: number;
|
|
116
|
-
/** Version of the DPIA questionnaire used */
|
|
117
|
-
version: string;
|
|
118
|
-
/**
|
|
119
|
-
* Whether prior consultation with NDPC is required
|
|
120
|
-
* Per NDPA Section 39, consultation is required when DPIA indicates high residual risk
|
|
121
|
-
*/
|
|
122
|
-
ndpcConsultationRequired?: boolean;
|
|
123
|
-
/** Date when NDPC consultation was initiated */
|
|
124
|
-
ndpcConsultationDate?: number;
|
|
125
|
-
/** Reference number from NDPC consultation */
|
|
126
|
-
ndpcConsultationReference?: string;
|
|
127
|
-
/**
|
|
128
|
-
* The lawful basis for the processing activity being assessed
|
|
129
|
-
*/
|
|
130
|
-
lawfulBasis?: string;
|
|
131
|
-
/**
|
|
132
|
-
* Whether this DPIA involves cross-border data transfers
|
|
133
|
-
*/
|
|
134
|
-
involvesCrossBorderTransfer?: boolean;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export type { DPIAQuestion as D, DPIAResult as a, DPIARisk as b, DPIASection as c };
|
package/dist/dsr-CIx5sd7e.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { D as DSRRequest } from './dsr-yKbqX531.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Formats a DSR request for display or submission
|
|
5
|
-
* @param request The DSR request to format
|
|
6
|
-
* @returns Formatted request data
|
|
7
|
-
*/
|
|
8
|
-
declare function formatDSRRequest(request: DSRRequest): {
|
|
9
|
-
formattedRequest: Record<string, unknown>;
|
|
10
|
-
isValid: boolean;
|
|
11
|
-
validationErrors: string[];
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { formatDSRRequest as f };
|
package/dist/dsr-XZ_HqTlA.d.mts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { D as DSRRequest } from './dsr-yKbqX531.mjs';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Formats a DSR request for display or submission
|
|
5
|
-
* @param request The DSR request to format
|
|
6
|
-
* @returns Formatted request data
|
|
7
|
-
*/
|
|
8
|
-
declare function formatDSRRequest(request: DSRRequest): {
|
|
9
|
-
formattedRequest: Record<string, unknown>;
|
|
10
|
-
isValid: boolean;
|
|
11
|
-
validationErrors: string[];
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { formatDSRRequest as f };
|
package/dist/dsr-yKbqX531.d.mts
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Subject Rights types aligned with NDPA 2023 Part IV (Sections 29-36)
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Types of data subject requests per NDPA Part IV
|
|
6
|
-
* - 'information': Right to be informed (Section 29)
|
|
7
|
-
* - 'access': Right of access (Section 30)
|
|
8
|
-
* - 'rectification': Right to rectification (Section 31)
|
|
9
|
-
* - 'erasure': Right to erasure (Section 32)
|
|
10
|
-
* - 'restriction': Right to restrict processing (Section 33)
|
|
11
|
-
* - 'portability': Right to data portability (Section 34)
|
|
12
|
-
* - 'objection': Right to object (Section 35)
|
|
13
|
-
* - 'automated_decision_making': Rights related to automated decision-making (Section 36)
|
|
14
|
-
*/
|
|
15
|
-
type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making';
|
|
16
|
-
/**
|
|
17
|
-
* Status of a data subject request
|
|
18
|
-
*/
|
|
19
|
-
type DSRStatus = 'pending' | 'awaitingVerification' | 'inProgress' | 'completed' | 'rejected';
|
|
20
|
-
/**
|
|
21
|
-
* Represents a type of data subject request (detailed configuration)
|
|
22
|
-
*/
|
|
23
|
-
interface RequestType {
|
|
24
|
-
/** Unique identifier for the request type */
|
|
25
|
-
id: string;
|
|
26
|
-
/** Display name for the request type */
|
|
27
|
-
name: string;
|
|
28
|
-
/** Description of what this request type entails */
|
|
29
|
-
description: string;
|
|
30
|
-
/**
|
|
31
|
-
* NDPA section reference (e.g., "Section 30" for access requests)
|
|
32
|
-
*/
|
|
33
|
-
ndpaSection?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Estimated time to fulfill this type of request (in days)
|
|
36
|
-
* NDPA requires response within 30 days
|
|
37
|
-
*/
|
|
38
|
-
estimatedCompletionTime: number;
|
|
39
|
-
/** Whether additional information is required for this request type */
|
|
40
|
-
requiresAdditionalInfo: boolean;
|
|
41
|
-
/** Custom fields required for this request type */
|
|
42
|
-
additionalFields?: Array<{
|
|
43
|
-
id: string;
|
|
44
|
-
label: string;
|
|
45
|
-
type: 'text' | 'textarea' | 'select' | 'checkbox' | 'file';
|
|
46
|
-
options?: string[];
|
|
47
|
-
required: boolean;
|
|
48
|
-
placeholder?: string;
|
|
49
|
-
}>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Legacy status of a data subject request
|
|
53
|
-
* @deprecated Use DSRStatus instead
|
|
54
|
-
*/
|
|
55
|
-
type RequestStatus = 'pending' | 'verifying' | 'processing' | 'completed' | 'rejected';
|
|
56
|
-
/**
|
|
57
|
-
* Represents a data subject request
|
|
58
|
-
*/
|
|
59
|
-
interface DSRRequest {
|
|
60
|
-
/** Unique identifier for the request */
|
|
61
|
-
id: string;
|
|
62
|
-
/** Type of request */
|
|
63
|
-
type: DSRType;
|
|
64
|
-
/** Current status of the request */
|
|
65
|
-
status: DSRStatus;
|
|
66
|
-
/** Timestamp when the request was submitted */
|
|
67
|
-
createdAt: number;
|
|
68
|
-
/** Timestamp when the request was last updated */
|
|
69
|
-
updatedAt: number;
|
|
70
|
-
/** Timestamp when the request was completed (if applicable) */
|
|
71
|
-
completedAt?: number;
|
|
72
|
-
/** Timestamp when the identity was verified (if applicable) */
|
|
73
|
-
verifiedAt?: number;
|
|
74
|
-
/**
|
|
75
|
-
* Due date for responding to the request (timestamp)
|
|
76
|
-
* NDPA requires response within 30 days of receipt
|
|
77
|
-
*/
|
|
78
|
-
dueDate?: number;
|
|
79
|
-
/** Description or details of the request */
|
|
80
|
-
description?: string;
|
|
81
|
-
/**
|
|
82
|
-
* The lawful basis under which the data was originally processed
|
|
83
|
-
* Relevant for evaluating objection and erasure requests
|
|
84
|
-
*/
|
|
85
|
-
lawfulBasis?: string;
|
|
86
|
-
/** Data subject information */
|
|
87
|
-
subject: {
|
|
88
|
-
name: string;
|
|
89
|
-
email: string;
|
|
90
|
-
phone?: string;
|
|
91
|
-
identifierValue?: string;
|
|
92
|
-
identifierType?: string;
|
|
93
|
-
};
|
|
94
|
-
/** Additional information provided by the data subject */
|
|
95
|
-
additionalInfo?: Record<string, string | number | boolean | null>;
|
|
96
|
-
/** Notes added by staff processing the request */
|
|
97
|
-
internalNotes?: Array<{
|
|
98
|
-
timestamp: number;
|
|
99
|
-
author: string;
|
|
100
|
-
note: string;
|
|
101
|
-
}>;
|
|
102
|
-
/** Verification status */
|
|
103
|
-
verification?: {
|
|
104
|
-
verified: boolean;
|
|
105
|
-
method?: string;
|
|
106
|
-
verifiedAt?: number;
|
|
107
|
-
verifiedBy?: string;
|
|
108
|
-
};
|
|
109
|
-
/** Reason for rejection (if status is 'rejected') */
|
|
110
|
-
rejectionReason?: string;
|
|
111
|
-
/** Files attached to the request */
|
|
112
|
-
attachments?: Array<{
|
|
113
|
-
id: string;
|
|
114
|
-
name: string;
|
|
115
|
-
type: string;
|
|
116
|
-
url: string;
|
|
117
|
-
addedAt: number;
|
|
118
|
-
}>;
|
|
119
|
-
/**
|
|
120
|
-
* Whether an extension was requested for this DSR
|
|
121
|
-
* NDPA allows a one-time extension of 30 days with justification
|
|
122
|
-
*/
|
|
123
|
-
extensionRequested?: boolean;
|
|
124
|
-
/** Reason for the extension, if requested */
|
|
125
|
-
extensionReason?: string;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export type { DSRRequest as D, RequestStatus as R, DSRStatus as a, DSRType as b, RequestType as c };
|
package/dist/dsr-yKbqX531.d.ts
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Subject Rights types aligned with NDPA 2023 Part IV (Sections 29-36)
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Types of data subject requests per NDPA Part IV
|
|
6
|
-
* - 'information': Right to be informed (Section 29)
|
|
7
|
-
* - 'access': Right of access (Section 30)
|
|
8
|
-
* - 'rectification': Right to rectification (Section 31)
|
|
9
|
-
* - 'erasure': Right to erasure (Section 32)
|
|
10
|
-
* - 'restriction': Right to restrict processing (Section 33)
|
|
11
|
-
* - 'portability': Right to data portability (Section 34)
|
|
12
|
-
* - 'objection': Right to object (Section 35)
|
|
13
|
-
* - 'automated_decision_making': Rights related to automated decision-making (Section 36)
|
|
14
|
-
*/
|
|
15
|
-
type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making';
|
|
16
|
-
/**
|
|
17
|
-
* Status of a data subject request
|
|
18
|
-
*/
|
|
19
|
-
type DSRStatus = 'pending' | 'awaitingVerification' | 'inProgress' | 'completed' | 'rejected';
|
|
20
|
-
/**
|
|
21
|
-
* Represents a type of data subject request (detailed configuration)
|
|
22
|
-
*/
|
|
23
|
-
interface RequestType {
|
|
24
|
-
/** Unique identifier for the request type */
|
|
25
|
-
id: string;
|
|
26
|
-
/** Display name for the request type */
|
|
27
|
-
name: string;
|
|
28
|
-
/** Description of what this request type entails */
|
|
29
|
-
description: string;
|
|
30
|
-
/**
|
|
31
|
-
* NDPA section reference (e.g., "Section 30" for access requests)
|
|
32
|
-
*/
|
|
33
|
-
ndpaSection?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Estimated time to fulfill this type of request (in days)
|
|
36
|
-
* NDPA requires response within 30 days
|
|
37
|
-
*/
|
|
38
|
-
estimatedCompletionTime: number;
|
|
39
|
-
/** Whether additional information is required for this request type */
|
|
40
|
-
requiresAdditionalInfo: boolean;
|
|
41
|
-
/** Custom fields required for this request type */
|
|
42
|
-
additionalFields?: Array<{
|
|
43
|
-
id: string;
|
|
44
|
-
label: string;
|
|
45
|
-
type: 'text' | 'textarea' | 'select' | 'checkbox' | 'file';
|
|
46
|
-
options?: string[];
|
|
47
|
-
required: boolean;
|
|
48
|
-
placeholder?: string;
|
|
49
|
-
}>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Legacy status of a data subject request
|
|
53
|
-
* @deprecated Use DSRStatus instead
|
|
54
|
-
*/
|
|
55
|
-
type RequestStatus = 'pending' | 'verifying' | 'processing' | 'completed' | 'rejected';
|
|
56
|
-
/**
|
|
57
|
-
* Represents a data subject request
|
|
58
|
-
*/
|
|
59
|
-
interface DSRRequest {
|
|
60
|
-
/** Unique identifier for the request */
|
|
61
|
-
id: string;
|
|
62
|
-
/** Type of request */
|
|
63
|
-
type: DSRType;
|
|
64
|
-
/** Current status of the request */
|
|
65
|
-
status: DSRStatus;
|
|
66
|
-
/** Timestamp when the request was submitted */
|
|
67
|
-
createdAt: number;
|
|
68
|
-
/** Timestamp when the request was last updated */
|
|
69
|
-
updatedAt: number;
|
|
70
|
-
/** Timestamp when the request was completed (if applicable) */
|
|
71
|
-
completedAt?: number;
|
|
72
|
-
/** Timestamp when the identity was verified (if applicable) */
|
|
73
|
-
verifiedAt?: number;
|
|
74
|
-
/**
|
|
75
|
-
* Due date for responding to the request (timestamp)
|
|
76
|
-
* NDPA requires response within 30 days of receipt
|
|
77
|
-
*/
|
|
78
|
-
dueDate?: number;
|
|
79
|
-
/** Description or details of the request */
|
|
80
|
-
description?: string;
|
|
81
|
-
/**
|
|
82
|
-
* The lawful basis under which the data was originally processed
|
|
83
|
-
* Relevant for evaluating objection and erasure requests
|
|
84
|
-
*/
|
|
85
|
-
lawfulBasis?: string;
|
|
86
|
-
/** Data subject information */
|
|
87
|
-
subject: {
|
|
88
|
-
name: string;
|
|
89
|
-
email: string;
|
|
90
|
-
phone?: string;
|
|
91
|
-
identifierValue?: string;
|
|
92
|
-
identifierType?: string;
|
|
93
|
-
};
|
|
94
|
-
/** Additional information provided by the data subject */
|
|
95
|
-
additionalInfo?: Record<string, string | number | boolean | null>;
|
|
96
|
-
/** Notes added by staff processing the request */
|
|
97
|
-
internalNotes?: Array<{
|
|
98
|
-
timestamp: number;
|
|
99
|
-
author: string;
|
|
100
|
-
note: string;
|
|
101
|
-
}>;
|
|
102
|
-
/** Verification status */
|
|
103
|
-
verification?: {
|
|
104
|
-
verified: boolean;
|
|
105
|
-
method?: string;
|
|
106
|
-
verifiedAt?: number;
|
|
107
|
-
verifiedBy?: string;
|
|
108
|
-
};
|
|
109
|
-
/** Reason for rejection (if status is 'rejected') */
|
|
110
|
-
rejectionReason?: string;
|
|
111
|
-
/** Files attached to the request */
|
|
112
|
-
attachments?: Array<{
|
|
113
|
-
id: string;
|
|
114
|
-
name: string;
|
|
115
|
-
type: string;
|
|
116
|
-
url: string;
|
|
117
|
-
addedAt: number;
|
|
118
|
-
}>;
|
|
119
|
-
/**
|
|
120
|
-
* Whether an extension was requested for this DSR
|
|
121
|
-
* NDPA allows a one-time extension of 30 days with justification
|
|
122
|
-
*/
|
|
123
|
-
extensionRequested?: boolean;
|
|
124
|
-
/** Reason for the extension, if requested */
|
|
125
|
-
extensionReason?: string;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export type { DSRRequest as D, RequestStatus as R, DSRStatus as a, DSRType as b, RequestType as c };
|