@tantainnovative/ndpr-toolkit 3.5.1 → 3.5.5
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 +100 -0
- package/README.md +12 -7
- package/dist/adapters.js +1 -2
- package/dist/adapters.mjs +1 -2
- package/dist/breach.d.mts +80 -1
- package/dist/breach.d.ts +80 -1
- package/dist/breach.js +1 -2
- package/dist/breach.mjs +1 -2
- package/dist/{chunk-PATONNTZ.mjs → chunk-3HOXQNCH.mjs} +1 -2
- package/dist/{chunk-MJGOLP5M.js → chunk-3IA3KDII.js} +1 -2
- package/dist/{chunk-M2TPT5GB.js → chunk-3JPDTXGC.js} +1 -2
- package/dist/{chunk-BKRETVJ6.js → chunk-3YTAOT5O.js} +1 -2
- package/dist/{chunk-GOU6FU6Y.js → chunk-4CVBQC66.js} +1 -2
- package/dist/{chunk-E4NCJ7RD.mjs → chunk-4G3SRVRI.mjs} +1 -2
- package/dist/{chunk-6QPRDQZF.js → chunk-4QXTB3L6.js} +1 -2
- package/dist/{chunk-XNSZ7KUH.js → chunk-5GVMKUMP.js} +1 -2
- package/dist/chunk-66NQ5CVY.mjs +1 -0
- package/dist/{chunk-JBSCER34.js → chunk-6NXXQYQL.js} +1 -2
- package/dist/chunk-732C2EVN.js +1 -0
- package/dist/chunk-7BJXI2HI.mjs +1 -0
- package/dist/{chunk-C5QO3SX4.js → chunk-7IFSWCQP.js} +1 -2
- package/dist/{chunk-A4PK7JB2.js → chunk-7ZZO7GVB.js} +1 -2
- package/dist/chunk-AME4HJR4.js +1 -0
- package/dist/chunk-AOHKVFAS.mjs +322 -0
- package/dist/{chunk-HO5M7M4M.js → chunk-B46SJB5V.js} +1 -2
- package/dist/chunk-BFAX7JQA.mjs +1 -0
- package/dist/{chunk-ID2NYIVE.mjs → chunk-BNHQFZHL.mjs} +2 -3
- package/dist/{chunk-RLYTX3MM.js → chunk-BRS52EDT.js} +1 -2
- package/dist/{chunk-OPYQIJKY.js → chunk-C7IDR2IV.js} +1 -2
- package/dist/{chunk-CISJAQ6W.mjs → chunk-COD3RMTL.mjs} +1 -2
- package/dist/chunk-CR2QZTGW.js +1 -0
- package/dist/{chunk-6WIP33TW.mjs → chunk-DBZSN4WP.mjs} +1 -2
- package/dist/{chunk-74Z23WUA.mjs → chunk-EEQALYOY.mjs} +1 -2
- package/dist/chunk-EFIBHKQE.mjs +1 -0
- package/dist/{chunk-GKKAK6ES.mjs → chunk-EWVK45Z3.mjs} +1 -2
- package/dist/{chunk-QSVVAZVT.mjs → chunk-EXEXUAF6.mjs} +1 -2
- package/dist/chunk-EZCGTHQV.js +6 -0
- package/dist/{chunk-SYMQJO2W.mjs → chunk-GTYXVAJX.mjs} +2 -3
- package/dist/{chunk-6FGCGLH5.mjs → chunk-H3XJV2IR.mjs} +1 -2
- package/dist/chunk-HBLGN4SD.js +1 -0
- package/dist/{chunk-MCWV7S2G.js → chunk-HHK5LHEG.js} +1 -2
- package/dist/{chunk-XHROISIF.mjs → chunk-HWHBINVN.mjs} +1 -2
- package/dist/{chunk-3EGQWLJ6.js → chunk-I2LMQWK3.js} +2 -3
- package/dist/{chunk-NQNFS3QI.js → chunk-I3Y4LOSL.js} +4 -5
- package/dist/chunk-ITCY2Z66.mjs +4 -0
- package/dist/{chunk-Z6IIMLZU.mjs → chunk-KDAZQO3N.mjs} +1 -2
- package/dist/{chunk-J5WCPZLW.js → chunk-L2BRFMVS.js} +1 -2
- package/dist/chunk-L2VO3MEJ.js +1 -0
- package/dist/{chunk-R5FW5XUQ.mjs → chunk-LQTARVPU.mjs} +1 -2
- package/dist/{chunk-6TA2MVTU.mjs → chunk-LRRENTT5.mjs} +1 -2
- package/dist/{chunk-LIM64IV2.js → chunk-LVGT3DLT.js} +2 -3
- package/dist/{chunk-TXBZPCGF.mjs → chunk-LWIKDDSU.mjs} +1 -2
- package/dist/chunk-MPBPAEZC.mjs +1 -0
- package/dist/{chunk-Z73T6MWY.js → chunk-N3MQQUQP.js} +39 -35
- package/dist/{chunk-RY3PGVLZ.mjs → chunk-NBZUZYTB.mjs} +1 -2
- package/dist/{chunk-HGGLW5TE.js → chunk-NUWVPRNI.js} +1 -2
- package/dist/chunk-O45PKBZA.mjs +6 -0
- package/dist/chunk-O6CUBNXK.mjs +3 -0
- package/dist/{chunk-7SMLHZ4B.js → chunk-P4LNLCSF.js} +1 -2
- package/dist/{chunk-VWPGIES4.mjs → chunk-PCU6GKBE.mjs} +1 -2
- package/dist/chunk-PGI2LM6P.js +103 -0
- package/dist/{chunk-U62QYKVG.mjs → chunk-PJNKQPQP.mjs} +1 -2
- package/dist/{chunk-LSNL4XR5.js → chunk-PZRQWPWD.js} +1 -2
- package/dist/chunk-Q64735OC.js +144 -0
- package/dist/chunk-QPRYXVH2.js +1 -0
- package/dist/{chunk-MQFZHA2D.js → chunk-RFPLZDIO.js} +1 -2
- package/dist/chunk-RMQ7OLNY.mjs +144 -0
- package/dist/{chunk-2AW7KAZO.mjs → chunk-RPXRPGHL.mjs} +1 -2
- package/dist/chunk-RYREGZVQ.js +1 -0
- package/dist/{chunk-B4Z5MBUC.mjs → chunk-RZ6GC6WN.mjs} +1 -2
- package/dist/chunk-S6COXIZA.js +2 -0
- package/dist/chunk-SFGW37LE.mjs +1 -0
- package/dist/{chunk-3NQQSU4P.js → chunk-SJDDNB6M.js} +1 -2
- package/dist/{chunk-H3EYBSVP.mjs → chunk-TMXK4QKK.mjs} +2 -3
- package/dist/{chunk-P42Z5CFE.js → chunk-TQZWJGJ2.js} +1 -2
- package/dist/{chunk-EPT2K355.mjs → chunk-U5RWJRGA.mjs} +1 -2
- package/dist/{chunk-R3OYAJI6.mjs → chunk-UASG46LP.mjs} +1 -2
- package/dist/{chunk-RXL6CZAI.js → chunk-UAV7V4EM.js} +1 -2
- package/dist/chunk-UI536RU2.js +3 -0
- package/dist/{chunk-7AVN424U.js → chunk-UTFBKL73.js} +1 -2
- package/dist/{chunk-I54CDQGN.js → chunk-UXUMYP4L.js} +1 -2
- package/dist/{chunk-P3PULLYP.mjs → chunk-V7UFP6QU.mjs} +1 -2
- package/dist/{chunk-I4M2AA3N.js → chunk-VJTQXVAF.js} +1 -2
- package/dist/{chunk-ELKB2AFZ.js → chunk-VWED6UTN.js} +1 -2
- package/dist/{chunk-LU7PKE7Y.mjs → chunk-VYAL2TGT.mjs} +1 -2
- package/dist/chunk-W47OSMT6.js +2 -0
- package/dist/chunk-W65ZWTLD.mjs +1 -0
- package/dist/{chunk-5HL4UBFV.js → chunk-WDDCKYWA.js} +1 -2
- package/dist/{chunk-DJGS7SSN.mjs → chunk-WTGKZX7J.mjs} +1 -2
- package/dist/{chunk-TDDAYVKK.js → chunk-WZYCBW2R.js} +1 -2
- package/dist/chunk-X3GCGC3H.mjs +103 -0
- package/dist/chunk-XJO4DH3L.mjs +2 -0
- package/dist/{chunk-LWXZMKC2.js → chunk-XO3VQYTL.js} +7 -8
- package/dist/{chunk-IZCWCE7W.mjs → chunk-XOH4WXOZ.mjs} +1 -2
- package/dist/{chunk-SHMJNRHO.mjs → chunk-XP5PL6K7.mjs} +1 -2
- package/dist/{chunk-CKGJK4D7.mjs → chunk-Y3MKMAFQ.mjs} +2 -3
- package/dist/chunk-YFBDJ4FH.js +1 -0
- package/dist/chunk-YTU4FNM2.mjs +1 -0
- package/dist/{chunk-TV4U6AIS.js → chunk-Z763UI5U.js} +1 -2
- package/dist/chunk-ZHFLBL63.mjs +2 -0
- package/dist/{chunk-RRVKUCFR.mjs → chunk-ZIZL37BG.mjs} +1 -2
- package/dist/{chunk-WWT2ZSNU.mjs → chunk-ZJYULEER.mjs} +1 -2
- package/dist/{chunk-LJNNPAFU.mjs → chunk-ZQZJNKVB.mjs} +1 -2
- package/dist/chunk-ZVOIR4QH.js +4 -0
- package/dist/consent.js +1 -2
- package/dist/consent.mjs +1 -2
- package/dist/core.d.mts +98 -19
- package/dist/core.d.ts +98 -19
- package/dist/core.js +1 -2
- package/dist/core.mjs +1 -2
- package/dist/cross-border.d.mts +36 -14
- package/dist/cross-border.d.ts +36 -14
- package/dist/cross-border.js +1 -2
- package/dist/cross-border.mjs +1 -2
- package/dist/dpia.d.mts +4 -4
- package/dist/dpia.d.ts +4 -4
- package/dist/dpia.js +1 -2
- package/dist/dpia.mjs +1 -2
- package/dist/dsr.d.mts +30 -17
- package/dist/dsr.d.ts +30 -17
- package/dist/dsr.js +1 -2
- package/dist/dsr.mjs +1 -2
- package/dist/hooks.d.mts +113 -20
- package/dist/hooks.d.ts +113 -20
- package/dist/hooks.js +1 -2
- package/dist/hooks.mjs +1 -2
- package/dist/index.d.mts +422 -26
- package/dist/index.d.ts +422 -26
- package/dist/index.js +1 -2
- package/dist/index.mjs +1 -2
- package/dist/lawful-basis.js +1 -2
- package/dist/lawful-basis.mjs +1 -2
- package/dist/policy.js +1 -2
- package/dist/policy.mjs +1 -2
- package/dist/presets.d.mts +54 -5
- package/dist/presets.d.ts +54 -5
- package/dist/presets.js +1 -2
- package/dist/presets.mjs +1 -2
- package/dist/ropa.js +1 -2
- package/dist/ropa.mjs +1 -2
- package/dist/server.d.mts +89 -19
- package/dist/server.d.ts +89 -19
- package/dist/server.js +1 -2
- package/dist/server.mjs +1 -2
- package/dist/styles.css +34 -0
- package/dist/unstyled.d.mts +3 -1
- package/dist/unstyled.d.ts +3 -1
- package/dist/unstyled.js +1 -2
- package/dist/unstyled.mjs +1 -2
- package/package.json +59 -20
- package/dist/chunk-3VQAYQR7.js +0 -7
- package/dist/chunk-6HZL2WDU.mjs +0 -2
- package/dist/chunk-75TJPK2N.mjs +0 -2
- package/dist/chunk-ABDB7LEV.mjs +0 -2
- package/dist/chunk-AYKLAEOU.mjs +0 -2
- package/dist/chunk-C4YM4UMI.js +0 -2
- package/dist/chunk-CKJAECGV.js +0 -2
- package/dist/chunk-CPK5D5FY.js +0 -132
- package/dist/chunk-CWHBCQGT.mjs +0 -2
- package/dist/chunk-E64TU6IU.js +0 -2
- package/dist/chunk-F5TXUA4O.mjs +0 -4
- package/dist/chunk-GN5C32JB.mjs +0 -2
- package/dist/chunk-GRLIPT5V.mjs +0 -132
- package/dist/chunk-I557S566.mjs +0 -15
- package/dist/chunk-JFFOPHU3.mjs +0 -318
- package/dist/chunk-KF3EFJEF.mjs +0 -3
- package/dist/chunk-ORFC66EA.js +0 -4
- package/dist/chunk-S4GRSNB4.js +0 -2
- package/dist/chunk-SCWNM4PC.mjs +0 -2
- package/dist/chunk-SKKOMFXH.js +0 -81
- package/dist/chunk-TCN22KYP.mjs +0 -7
- package/dist/chunk-TUNQUVHU.mjs +0 -81
- package/dist/chunk-VIQUXWJC.js +0 -2
- package/dist/chunk-WTJGLNTB.js +0 -3
- package/dist/chunk-XIM7KMD6.js +0 -2
- package/dist/chunk-YPKUHSK4.js +0 -15
- package/dist/chunk-ZPKVLTSX.js +0 -2
package/dist/core.d.ts
CHANGED
|
@@ -137,10 +137,51 @@ export declare interface BreachReport {
|
|
|
137
137
|
affectedSystems: string[];
|
|
138
138
|
/** Types of data involved in the breach */
|
|
139
139
|
dataTypes: string[];
|
|
140
|
-
/** Whether sensitive personal data is involved (NDPA Section
|
|
140
|
+
/** Whether sensitive personal data is involved (NDPA Section 30) */
|
|
141
141
|
involvesSensitiveData?: boolean;
|
|
142
142
|
/** Estimated number of data subjects affected */
|
|
143
143
|
estimatedAffectedSubjects?: number;
|
|
144
|
+
/**
|
|
145
|
+
* Approximate number of personal data RECORDS concerned (distinct from subject count).
|
|
146
|
+
* Required content under NDPA Section 40(1)(a) and Section 40(2).
|
|
147
|
+
*/
|
|
148
|
+
approximateRecordCount?: number;
|
|
149
|
+
/**
|
|
150
|
+
* Categories of data subjects affected (e.g. customers, employees, minors, patients).
|
|
151
|
+
* Required content under NDPA Section 40(1)(a) and Section 40(2).
|
|
152
|
+
*/
|
|
153
|
+
dataSubjectCategories?: string[];
|
|
154
|
+
/**
|
|
155
|
+
* Likely consequences of the breach for affected data subjects (e.g. identity theft,
|
|
156
|
+
* financial loss, reputational damage). Reported to the NDPC and, where applicable,
|
|
157
|
+
* communicated to data subjects under Section 40(3).
|
|
158
|
+
*/
|
|
159
|
+
likelyConsequences?: string;
|
|
160
|
+
/**
|
|
161
|
+
* Measures taken or proposed to mitigate adverse effects of the breach.
|
|
162
|
+
* Required content for Section 40(3) communications to data subjects.
|
|
163
|
+
*/
|
|
164
|
+
mitigationMeasures?: string;
|
|
165
|
+
/**
|
|
166
|
+
* Whether this is a phased / interim report submitted before full investigation
|
|
167
|
+
* is complete. The NDPC permits phased reporting where complete information is
|
|
168
|
+
* not available within 72 hours.
|
|
169
|
+
*/
|
|
170
|
+
isPhasedReport?: boolean;
|
|
171
|
+
/**
|
|
172
|
+
* ID of the prior phased report this report supplements, if any.
|
|
173
|
+
*/
|
|
174
|
+
supplementsReportId?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Data Protection Officer contact details. The DPO is the named contact point
|
|
177
|
+
* for the NDPC per NDPA Section 32(3)(c). Required content in the regulatory
|
|
178
|
+
* report (Section 40(2)).
|
|
179
|
+
*/
|
|
180
|
+
dpoContact?: {
|
|
181
|
+
name: string;
|
|
182
|
+
email: string;
|
|
183
|
+
phone?: string;
|
|
184
|
+
};
|
|
144
185
|
/** Whether the breach is ongoing or contained */
|
|
145
186
|
status: 'ongoing' | 'contained' | 'resolved';
|
|
146
187
|
/** Initial actions taken to address the breach */
|
|
@@ -796,20 +837,25 @@ export declare interface DsrSubmissionValidationResult {
|
|
|
796
837
|
}
|
|
797
838
|
|
|
798
839
|
/**
|
|
799
|
-
* Data Subject Rights types aligned with NDPA 2023 Part
|
|
840
|
+
* Data Subject Rights types aligned with NDPA 2023 Part VI (Sections 34-38)
|
|
841
|
+
* and the related provisions in Part V (Section 27 — information to the data subject)
|
|
842
|
+
* and Part X (Section 46 — complaint to the Commission).
|
|
843
|
+
*
|
|
844
|
+
* Note: These are guidance labels — not legal advice. Verify with your DPO or counsel.
|
|
800
845
|
*/
|
|
801
846
|
/**
|
|
802
|
-
* Types of data subject requests per NDPA Part
|
|
803
|
-
* - 'information': Right to be informed (Section
|
|
804
|
-
* - 'access': Right of access (Section
|
|
805
|
-
* - 'rectification': Right to rectification (Section
|
|
806
|
-
* - 'erasure': Right to erasure (Section
|
|
807
|
-
* - 'restriction': Right to restrict processing (Section
|
|
808
|
-
* - 'portability': Right to data portability (Section
|
|
809
|
-
* - 'objection': Right to object (Section
|
|
810
|
-
* - 'automated_decision_making': Rights
|
|
847
|
+
* Types of data subject requests per NDPA Part VI
|
|
848
|
+
* - 'information': Right to be informed (Section 27 — provision of information; Section 34(1)(a))
|
|
849
|
+
* - 'access': Right of access / confirmation + data copy (Section 34(1)(a)–(b))
|
|
850
|
+
* - 'rectification': Right to rectification (Section 34(1)(c))
|
|
851
|
+
* - 'erasure': Right to erasure (Section 34(1)(d), Section 34(2))
|
|
852
|
+
* - 'restriction': Right to restrict processing (Section 34(1)(e))
|
|
853
|
+
* - 'portability': Right to data portability (Section 38)
|
|
854
|
+
* - 'objection': Right to object (Section 36)
|
|
855
|
+
* - 'automated_decision_making': Rights re. automated decisions / profiling (Section 37)
|
|
856
|
+
* - 'withdraw_consent': Right to withdraw consent (Section 35)
|
|
811
857
|
*/
|
|
812
|
-
export declare type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making';
|
|
858
|
+
export declare type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making' | 'withdraw_consent';
|
|
813
859
|
|
|
814
860
|
export declare type EffortLevel = 'low' | 'medium' | 'high';
|
|
815
861
|
|
|
@@ -986,11 +1032,13 @@ declare type Industry = 'fintech' | 'healthcare' | 'ecommerce' | 'saas' | 'educa
|
|
|
986
1032
|
|
|
987
1033
|
/**
|
|
988
1034
|
* Returns whether NDPC approval is required for a given transfer mechanism.
|
|
989
|
-
*
|
|
990
|
-
*
|
|
1035
|
+
* Under NDPA Section 42(5), the Commission may approve binding corporate rules,
|
|
1036
|
+
* codes of conduct, certification mechanisms, or similar instruments. Standard
|
|
1037
|
+
* contractual clauses are one of the appropriate safeguards under Section 41(1)(a)
|
|
1038
|
+
* and the Commission may approve them per Section 42(4).
|
|
991
1039
|
*
|
|
992
1040
|
* @param mechanism The transfer mechanism
|
|
993
|
-
* @returns Whether NDPC approval is required
|
|
1041
|
+
* @returns Whether NDPC approval is typically required
|
|
994
1042
|
*/
|
|
995
1043
|
export declare function isNDPCApprovalRequired(mechanism: TransferMechanism): boolean;
|
|
996
1044
|
|
|
@@ -1048,6 +1096,23 @@ export declare interface LawfulBasisValidationResult {
|
|
|
1048
1096
|
warnings: string[];
|
|
1049
1097
|
}
|
|
1050
1098
|
|
|
1099
|
+
/**
|
|
1100
|
+
* Full disclaimer suitable for PDF/DOCX footers and exported artifacts.
|
|
1101
|
+
*/
|
|
1102
|
+
export declare const LEGAL_DISCLAIMER_LONG: string;
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
* Short disclaimer suitable for component captions and dashboard footers.
|
|
1106
|
+
* One line, no markdown.
|
|
1107
|
+
*/
|
|
1108
|
+
export declare const LEGAL_DISCLAIMER_SHORT = "Generated for guidance only. Not legal advice \u2014 verify with your DPO or counsel.";
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Returns the long disclaimer wrapped with a leading heading suitable for
|
|
1112
|
+
* embedding at the foot of an exported document.
|
|
1113
|
+
*/
|
|
1114
|
+
export declare function legalDisclaimerBlock(heading?: string): string;
|
|
1115
|
+
|
|
1051
1116
|
/**
|
|
1052
1117
|
* Represents a Legitimate Interest Assessment (LIA)
|
|
1053
1118
|
* Required when the lawful basis is 'legitimate_interests'
|
|
@@ -1697,7 +1762,9 @@ export declare interface RequestType {
|
|
|
1697
1762
|
/** Description of what this request type entails */
|
|
1698
1763
|
description: string;
|
|
1699
1764
|
/**
|
|
1700
|
-
* NDPA section reference
|
|
1765
|
+
* NDPA 2023 section reference for this right
|
|
1766
|
+
* (e.g., "Section 34(1)(a)" for access, "Section 38" for portability).
|
|
1767
|
+
* Used for display purposes only — verify the exact subsection with counsel.
|
|
1701
1768
|
*/
|
|
1702
1769
|
ndpaSection?: string;
|
|
1703
1770
|
/**
|
|
@@ -1815,6 +1882,15 @@ export declare function sanitizeInput(input: string): string;
|
|
|
1815
1882
|
*/
|
|
1816
1883
|
export declare type SensitiveDataCondition = 'explicit_consent' | 'employment_law' | 'vital_interests_incapable' | 'nonprofit_legitimate' | 'publicly_available' | 'legal_claims' | 'substantial_public_interest' | 'health_purposes' | 'public_health' | 'archiving_research';
|
|
1817
1884
|
|
|
1885
|
+
export declare interface StorageAdapter<T = unknown> {
|
|
1886
|
+
/** Load persisted data. Called once on hook mount. */
|
|
1887
|
+
load(): T | null | Promise<T | null>;
|
|
1888
|
+
/** Persist data. Called on every state change. */
|
|
1889
|
+
save(data: T): void | Promise<void>;
|
|
1890
|
+
/** Clear persisted data. Called on reset. */
|
|
1891
|
+
remove(): void | Promise<void>;
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1818
1894
|
/** Full context used to generate an adaptive privacy policy. */
|
|
1819
1895
|
export declare interface TemplateContext {
|
|
1820
1896
|
/** Organisation details, extended with industry and size. */
|
|
@@ -1894,8 +1970,11 @@ export declare interface TransferImpactAssessment {
|
|
|
1894
1970
|
}
|
|
1895
1971
|
|
|
1896
1972
|
/**
|
|
1897
|
-
* Cross-Border Data Transfer types aligned with NDPA 2023 Part
|
|
1898
|
-
* Personal data may only be transferred outside Nigeria under
|
|
1973
|
+
* Cross-Border Data Transfer types aligned with NDPA 2023 Part VIII (Sections 41-43).
|
|
1974
|
+
* Personal data may only be transferred outside Nigeria under the bases listed in
|
|
1975
|
+
* Section 41(1), where Section 42 defines adequacy and Section 43 lists derogations.
|
|
1976
|
+
*
|
|
1977
|
+
* Note: These are guidance labels — not legal advice. Verify with your DPO or counsel.
|
|
1899
1978
|
*/
|
|
1900
1979
|
/**
|
|
1901
1980
|
* Transfer mechanisms recognized under the NDPA
|
|
@@ -2006,7 +2085,7 @@ export declare interface ValidateDsrSubmissionOptions {
|
|
|
2006
2085
|
/**
|
|
2007
2086
|
* Allowed request types. When provided, the payload's `requestType`
|
|
2008
2087
|
* must be one of these — useful for locking the server to a specific
|
|
2009
|
-
* set of supported NDPA Part
|
|
2088
|
+
* set of supported NDPA Part VI §34-38 (plus §35, §36, §37) data-subject rights.
|
|
2010
2089
|
*/
|
|
2011
2090
|
allowedRequestTypes?: string[];
|
|
2012
2091
|
}
|
package/dist/core.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=core.js.map
|
|
1
|
+
'use strict';var chunkUAV7V4EM_js=require('./chunk-UAV7V4EM.js'),chunk4QXTB3L6_js=require('./chunk-4QXTB3L6.js'),chunk7IFSWCQP_js=require('./chunk-7IFSWCQP.js'),chunkLVGT3DLT_js=require('./chunk-LVGT3DLT.js'),chunkQPRYXVH2_js=require('./chunk-QPRYXVH2.js'),chunkQ64735OC_js=require('./chunk-Q64735OC.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js'),chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkL2BRFMVS_js=require('./chunk-L2BRFMVS.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js');require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkUAV7V4EM_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkUAV7V4EM_js.b}});Object.defineProperty(exports,"useNDPRLocale",{enumerable:true,get:function(){return chunkUAV7V4EM_js.c}});Object.defineProperty(exports,"hausaLocale",{enumerable:true,get:function(){return chunk4QXTB3L6_js.c}});Object.defineProperty(exports,"igboLocale",{enumerable:true,get:function(){return chunk4QXTB3L6_js.b}});Object.defineProperty(exports,"pidginLocale",{enumerable:true,get:function(){return chunk4QXTB3L6_js.d}});Object.defineProperty(exports,"yorubaLocale",{enumerable:true,get:function(){return chunk4QXTB3L6_js.a}});Object.defineProperty(exports,"defaultLocale",{enumerable:true,get:function(){return chunk7IFSWCQP_js.a}});Object.defineProperty(exports,"mergeLocale",{enumerable:true,get:function(){return chunk7IFSWCQP_js.b}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkLVGT3DLT_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkLVGT3DLT_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkLVGT3DLT_js.e}});Object.defineProperty(exports,"findUnfilledTokens",{enumerable:true,get:function(){return chunkLVGT3DLT_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLVGT3DLT_js.b}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkQPRYXVH2_js.a}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkQ64735OC_js.c}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunkQ64735OC_js.e}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunkQ64735OC_js.f}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunk4CVBQC66_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunk4CVBQC66_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunk4CVBQC66_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunk4CVBQC66_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunk3IA3KDII_js.b}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkL2BRFMVS_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunkL2BRFMVS_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_LONG",{enumerable:true,get:function(){return chunkZVOIR4QH_js.b}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_SHORT",{enumerable:true,get:function(){return chunkZVOIR4QH_js.a}});Object.defineProperty(exports,"legalDisclaimerBlock",{enumerable:true,get:function(){return chunkZVOIR4QH_js.c}});
|
package/dist/core.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=core.mjs.map
|
|
1
|
+
export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-EEQALYOY.mjs';export{c as hausaLocale,b as igboLocale,d as pidginLocale,a as yorubaLocale}from'./chunk-LQTARVPU.mjs';export{a as defaultLocale,b as mergeLocale}from'./chunk-HWHBINVN.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-Y3MKMAFQ.mjs';export{a as getComplianceScore}from'./chunk-EFIBHKQE.mjs';export{c as assemblePolicy,e as createDefaultContext,f as evaluatePolicyCompliance}from'./chunk-RMQ7OLNY.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-7BJXI2HI.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-XP5PL6K7.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-PJNKQPQP.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-RZ6GC6WN.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';import'./chunk-ZJYULEER.mjs';
|
package/dist/cross-border.d.mts
CHANGED
|
@@ -19,9 +19,13 @@ export declare function assessTransferRisk(transfer: CrossBorderTransfer): Trans
|
|
|
19
19
|
* Database of country adequacy determinations for cross-border data transfers.
|
|
20
20
|
*
|
|
21
21
|
* This map is keyed by ISO 3166-1 alpha-2 country code (uppercase).
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* IMPORTANT — Statuses with `recognizedBy: 'self-assessment'` are this toolkit's
|
|
24
|
+
* guidance assessments based on each country's data-protection framework. They
|
|
25
|
+
* are NOT NDPC-issued adequacy decisions. NDPC has not (as of publication)
|
|
26
|
+
* published any formal Section 42 adequacy list. Organisations transferring
|
|
27
|
+
* personal data outside Nigeria should perform their own transfer impact
|
|
28
|
+
* assessment and consult counsel before relying on any entry here.
|
|
25
29
|
*/
|
|
26
30
|
export declare const COUNTRY_ADEQUACY_MAP: Record<string, CountryAdequacy>;
|
|
27
31
|
|
|
@@ -35,8 +39,16 @@ export declare interface CountryAdequacy {
|
|
|
35
39
|
isoCode: string;
|
|
36
40
|
/** Adequacy status for data protection purposes */
|
|
37
41
|
adequacyStatus: CountryAdequacyStatus;
|
|
38
|
-
/**
|
|
39
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Source of the adequacy determination.
|
|
44
|
+
* - 'NDPC' — formally listed by the Nigeria Data Protection Commission under
|
|
45
|
+
* NDPA Section 42 (no such list has been published at time of writing).
|
|
46
|
+
* - 'EU' — recognized as adequate by EU member-state membership / GDPR.
|
|
47
|
+
* - 'UK' — recognized by the UK ICO.
|
|
48
|
+
* - 'self-assessment' — toolkit maintainers' guidance assessment. Verify
|
|
49
|
+
* independently and confirm with your DPO/counsel before relying on it.
|
|
50
|
+
*/
|
|
51
|
+
recognizedBy: 'NDPC' | 'EU' | 'UK' | 'self-assessment';
|
|
40
52
|
/** Additional notes about the adequacy determination */
|
|
41
53
|
notes: string;
|
|
42
54
|
/** Date the adequacy determination was last reviewed */
|
|
@@ -47,10 +59,15 @@ export declare interface CountryAdequacy {
|
|
|
47
59
|
* Country adequacy determinations for cross-border data transfers
|
|
48
60
|
* under the Nigeria Data Protection Act (NDPA).
|
|
49
61
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
62
|
+
* IMPORTANT — Not legal advice and not an NDPC adequacy list.
|
|
63
|
+
*
|
|
64
|
+
* As of publication, the Nigeria Data Protection Commission has not published
|
|
65
|
+
* a formal list of countries it deems adequate under NDPA Section 42. The
|
|
66
|
+
* Commission is empowered to issue such guidelines under Section 42(3), but
|
|
67
|
+
* has not yet done so. The entries in this map are *self-assessments* by the
|
|
68
|
+
* toolkit maintainers based on each country's data-protection framework, and
|
|
69
|
+
* are intended for guidance only. Verify the current NDPC position and consult
|
|
70
|
+
* counsel before relying on any entry here for a transfer impact assessment.
|
|
54
71
|
*/
|
|
55
72
|
/**
|
|
56
73
|
* Adequacy status of a country for cross-border data transfers.
|
|
@@ -281,11 +298,13 @@ export declare function getTransferMechanismDescription(mechanism: TransferMecha
|
|
|
281
298
|
|
|
282
299
|
/**
|
|
283
300
|
* Returns whether NDPC approval is required for a given transfer mechanism.
|
|
284
|
-
*
|
|
285
|
-
*
|
|
301
|
+
* Under NDPA Section 42(5), the Commission may approve binding corporate rules,
|
|
302
|
+
* codes of conduct, certification mechanisms, or similar instruments. Standard
|
|
303
|
+
* contractual clauses are one of the appropriate safeguards under Section 41(1)(a)
|
|
304
|
+
* and the Commission may approve them per Section 42(4).
|
|
286
305
|
*
|
|
287
306
|
* @param mechanism The transfer mechanism
|
|
288
|
-
* @returns Whether NDPC approval is required
|
|
307
|
+
* @returns Whether NDPC approval is typically required
|
|
289
308
|
*/
|
|
290
309
|
export declare function isNDPCApprovalRequired(mechanism: TransferMechanism): boolean;
|
|
291
310
|
|
|
@@ -353,8 +372,11 @@ export declare interface TransferImpactAssessment {
|
|
|
353
372
|
}
|
|
354
373
|
|
|
355
374
|
/**
|
|
356
|
-
* Cross-Border Data Transfer types aligned with NDPA 2023 Part
|
|
357
|
-
* Personal data may only be transferred outside Nigeria under
|
|
375
|
+
* Cross-Border Data Transfer types aligned with NDPA 2023 Part VIII (Sections 41-43).
|
|
376
|
+
* Personal data may only be transferred outside Nigeria under the bases listed in
|
|
377
|
+
* Section 41(1), where Section 42 defines adequacy and Section 43 lists derogations.
|
|
378
|
+
*
|
|
379
|
+
* Note: These are guidance labels — not legal advice. Verify with your DPO or counsel.
|
|
358
380
|
*/
|
|
359
381
|
/**
|
|
360
382
|
* Transfer mechanisms recognized under the NDPA
|
package/dist/cross-border.d.ts
CHANGED
|
@@ -19,9 +19,13 @@ export declare function assessTransferRisk(transfer: CrossBorderTransfer): Trans
|
|
|
19
19
|
* Database of country adequacy determinations for cross-border data transfers.
|
|
20
20
|
*
|
|
21
21
|
* This map is keyed by ISO 3166-1 alpha-2 country code (uppercase).
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* IMPORTANT — Statuses with `recognizedBy: 'self-assessment'` are this toolkit's
|
|
24
|
+
* guidance assessments based on each country's data-protection framework. They
|
|
25
|
+
* are NOT NDPC-issued adequacy decisions. NDPC has not (as of publication)
|
|
26
|
+
* published any formal Section 42 adequacy list. Organisations transferring
|
|
27
|
+
* personal data outside Nigeria should perform their own transfer impact
|
|
28
|
+
* assessment and consult counsel before relying on any entry here.
|
|
25
29
|
*/
|
|
26
30
|
export declare const COUNTRY_ADEQUACY_MAP: Record<string, CountryAdequacy>;
|
|
27
31
|
|
|
@@ -35,8 +39,16 @@ export declare interface CountryAdequacy {
|
|
|
35
39
|
isoCode: string;
|
|
36
40
|
/** Adequacy status for data protection purposes */
|
|
37
41
|
adequacyStatus: CountryAdequacyStatus;
|
|
38
|
-
/**
|
|
39
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Source of the adequacy determination.
|
|
44
|
+
* - 'NDPC' — formally listed by the Nigeria Data Protection Commission under
|
|
45
|
+
* NDPA Section 42 (no such list has been published at time of writing).
|
|
46
|
+
* - 'EU' — recognized as adequate by EU member-state membership / GDPR.
|
|
47
|
+
* - 'UK' — recognized by the UK ICO.
|
|
48
|
+
* - 'self-assessment' — toolkit maintainers' guidance assessment. Verify
|
|
49
|
+
* independently and confirm with your DPO/counsel before relying on it.
|
|
50
|
+
*/
|
|
51
|
+
recognizedBy: 'NDPC' | 'EU' | 'UK' | 'self-assessment';
|
|
40
52
|
/** Additional notes about the adequacy determination */
|
|
41
53
|
notes: string;
|
|
42
54
|
/** Date the adequacy determination was last reviewed */
|
|
@@ -47,10 +59,15 @@ export declare interface CountryAdequacy {
|
|
|
47
59
|
* Country adequacy determinations for cross-border data transfers
|
|
48
60
|
* under the Nigeria Data Protection Act (NDPA).
|
|
49
61
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
62
|
+
* IMPORTANT — Not legal advice and not an NDPC adequacy list.
|
|
63
|
+
*
|
|
64
|
+
* As of publication, the Nigeria Data Protection Commission has not published
|
|
65
|
+
* a formal list of countries it deems adequate under NDPA Section 42. The
|
|
66
|
+
* Commission is empowered to issue such guidelines under Section 42(3), but
|
|
67
|
+
* has not yet done so. The entries in this map are *self-assessments* by the
|
|
68
|
+
* toolkit maintainers based on each country's data-protection framework, and
|
|
69
|
+
* are intended for guidance only. Verify the current NDPC position and consult
|
|
70
|
+
* counsel before relying on any entry here for a transfer impact assessment.
|
|
54
71
|
*/
|
|
55
72
|
/**
|
|
56
73
|
* Adequacy status of a country for cross-border data transfers.
|
|
@@ -281,11 +298,13 @@ export declare function getTransferMechanismDescription(mechanism: TransferMecha
|
|
|
281
298
|
|
|
282
299
|
/**
|
|
283
300
|
* Returns whether NDPC approval is required for a given transfer mechanism.
|
|
284
|
-
*
|
|
285
|
-
*
|
|
301
|
+
* Under NDPA Section 42(5), the Commission may approve binding corporate rules,
|
|
302
|
+
* codes of conduct, certification mechanisms, or similar instruments. Standard
|
|
303
|
+
* contractual clauses are one of the appropriate safeguards under Section 41(1)(a)
|
|
304
|
+
* and the Commission may approve them per Section 42(4).
|
|
286
305
|
*
|
|
287
306
|
* @param mechanism The transfer mechanism
|
|
288
|
-
* @returns Whether NDPC approval is required
|
|
307
|
+
* @returns Whether NDPC approval is typically required
|
|
289
308
|
*/
|
|
290
309
|
export declare function isNDPCApprovalRequired(mechanism: TransferMechanism): boolean;
|
|
291
310
|
|
|
@@ -353,8 +372,11 @@ export declare interface TransferImpactAssessment {
|
|
|
353
372
|
}
|
|
354
373
|
|
|
355
374
|
/**
|
|
356
|
-
* Cross-Border Data Transfer types aligned with NDPA 2023 Part
|
|
357
|
-
* Personal data may only be transferred outside Nigeria under
|
|
375
|
+
* Cross-Border Data Transfer types aligned with NDPA 2023 Part VIII (Sections 41-43).
|
|
376
|
+
* Personal data may only be transferred outside Nigeria under the bases listed in
|
|
377
|
+
* Section 41(1), where Section 42 defines adequacy and Section 43 lists derogations.
|
|
378
|
+
*
|
|
379
|
+
* Note: These are guidance labels — not legal advice. Verify with your DPO or counsel.
|
|
358
380
|
*/
|
|
359
381
|
/**
|
|
360
382
|
* Transfer mechanisms recognized under the NDPA
|
package/dist/cross-border.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
3
|
-
//# sourceMappingURL=cross-border.js.map
|
|
2
|
+
'use strict';var chunkI3Y4LOSL_js=require('./chunk-I3Y4LOSL.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js');require('./chunk-AME4HJR4.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var s=react.createContext(null);function A(){let r=react.useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=chunkHHK5LHEG_js.a({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsxRuntime.jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:chunkI3Y4LOSL_js.a};Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkI3Y4LOSL_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"COUNTRY_ADEQUACY_MAP",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getAdequateCountries",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.c}});Object.defineProperty(exports,"getCountryAdequacy",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.b}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"requiresNDPCApproval",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.d}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});exports.CrossBorder=q;exports.CrossBorderProvider=t;exports.useCrossBorderCompound=A;
|
package/dist/cross-border.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {a}from'./chunk-
|
|
3
|
-
//# sourceMappingURL=cross-border.mjs.map
|
|
2
|
+
import {a}from'./chunk-GTYXVAJX.mjs';export{a as CrossBorderTransferManager}from'./chunk-GTYXVAJX.mjs';import {a as a$1}from'./chunk-KDAZQO3N.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as COUNTRY_ADEQUACY_MAP,h as assessTransferRisk,c as getAdequateCountries,b as getCountryAdequacy,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,d as requiresNDPCApproval,g as validateTransfer}from'./chunk-7BJXI2HI.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var s=createContext(null);function A(){let r=useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=a$1({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:a};export{q as CrossBorder,t as CrossBorderProvider,A as useCrossBorderCompound};
|
package/dist/dpia.d.mts
CHANGED
|
@@ -34,8 +34,8 @@ export declare const DPIAProvider: React__default.FC<DPIAProviderProps>;
|
|
|
34
34
|
|
|
35
35
|
export declare interface DPIAProviderProps {
|
|
36
36
|
sections: DPIASection[];
|
|
37
|
-
initialAnswers?:
|
|
38
|
-
adapter?: StorageAdapter<
|
|
37
|
+
initialAnswers?: DPIAAnswerMap;
|
|
38
|
+
adapter?: StorageAdapter<DPIAAnswerMap>;
|
|
39
39
|
storageKey?: string;
|
|
40
40
|
useLocalStorage?: boolean;
|
|
41
41
|
onComplete?: (result: DPIAResult) => void;
|
|
@@ -85,8 +85,8 @@ export declare interface DPIAQuestion {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
|
-
* DPIA questionnaire component. Implements NDPA Section
|
|
89
|
-
* for conducting Data
|
|
88
|
+
* DPIA questionnaire component. Implements NDPA Section 28 requirements
|
|
89
|
+
* for conducting Data Privacy Impact Assessments on high-risk processing activities.
|
|
90
90
|
*/
|
|
91
91
|
export declare const DPIAQuestionnaire: React__default.FC<DPIAQuestionnaireProps>;
|
|
92
92
|
|
package/dist/dpia.d.ts
CHANGED
|
@@ -34,8 +34,8 @@ export declare const DPIAProvider: React__default.FC<DPIAProviderProps>;
|
|
|
34
34
|
|
|
35
35
|
export declare interface DPIAProviderProps {
|
|
36
36
|
sections: DPIASection[];
|
|
37
|
-
initialAnswers?:
|
|
38
|
-
adapter?: StorageAdapter<
|
|
37
|
+
initialAnswers?: DPIAAnswerMap;
|
|
38
|
+
adapter?: StorageAdapter<DPIAAnswerMap>;
|
|
39
39
|
storageKey?: string;
|
|
40
40
|
useLocalStorage?: boolean;
|
|
41
41
|
onComplete?: (result: DPIAResult) => void;
|
|
@@ -85,8 +85,8 @@ export declare interface DPIAQuestion {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
|
-
* DPIA questionnaire component. Implements NDPA Section
|
|
89
|
-
* for conducting Data
|
|
88
|
+
* DPIA questionnaire component. Implements NDPA Section 28 requirements
|
|
89
|
+
* for conducting Data Privacy Impact Assessments on high-risk processing activities.
|
|
90
90
|
*/
|
|
91
91
|
export declare const DPIAQuestionnaire: React__default.FC<DPIAQuestionnaireProps>;
|
|
92
92
|
|
package/dist/dpia.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
3
|
-
//# sourceMappingURL=dpia.js.map
|
|
2
|
+
'use strict';var chunkEZCGTHQV_js=require('./chunk-EZCGTHQV.js'),chunkWDDCKYWA_js=require('./chunk-WDDCKYWA.js'),chunkC7IDR2IV_js=require('./chunk-C7IDR2IV.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js');require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var n=react.createContext(null);function v(){let o=react.useContext(n);if(!o)throw new Error("DPIA compound components must be wrapped in <DPIA.Provider>. Example: <DPIA.Provider sections={...}><DPIA.Questionnaire /></DPIA.Provider>");return o}var i=({sections:o,initialAnswers:a,adapter:m,storageKey:A,useLocalStorage:I,onComplete:D,children:d})=>{let u=chunkC7IDR2IV_js.a({sections:o,initialAnswers:a,adapter:m,storageKey:A,useLocalStorage:I,onComplete:D}),f=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},u),{sections:o});return jsxRuntime.jsx(n.Provider,{value:f,children:d})};var C={Provider:i,Questionnaire:chunkWDDCKYWA_js.a,Report:chunkEZCGTHQV_js.a,StepIndicator:chunkEZCGTHQV_js.b};Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkEZCGTHQV_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkEZCGTHQV_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWDDCKYWA_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkC7IDR2IV_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});exports.DPIA=C;exports.DPIAProvider=i;exports.useDPIACompound=v;
|
package/dist/dpia.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {b,a}from'./chunk-
|
|
3
|
-
//# sourceMappingURL=dpia.mjs.map
|
|
2
|
+
import {b,a}from'./chunk-O45PKBZA.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-O45PKBZA.mjs';import {a as a$1}from'./chunk-ZQZJNKVB.mjs';export{a as DPIAQuestionnaire}from'./chunk-ZQZJNKVB.mjs';import {a as a$2}from'./chunk-H3XJV2IR.mjs';export{a as useDPIA}from'./chunk-H3XJV2IR.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import {b as b$1,a as a$3}from'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var n=createContext(null);function v(){let o=useContext(n);if(!o)throw new Error("DPIA compound components must be wrapped in <DPIA.Provider>. Example: <DPIA.Provider sections={...}><DPIA.Questionnaire /></DPIA.Provider>");return o}var i=({sections:o,initialAnswers:a,adapter:m,storageKey:A,useLocalStorage:I,onComplete:D,children:d})=>{let u=a$2({sections:o,initialAnswers:a,adapter:m,storageKey:A,useLocalStorage:I,onComplete:D}),f=b$1(a$3({},u),{sections:o});return jsx(n.Provider,{value:f,children:d})};var C={Provider:i,Questionnaire:a$1,Report:a,StepIndicator:b};export{C as DPIA,i as DPIAProvider,v as useDPIACompound};
|
package/dist/dsr.d.mts
CHANGED
|
@@ -199,7 +199,7 @@ export declare interface DSRRequest {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
/**
|
|
202
|
-
* Data Subject Request form component. Implements NDPA Part
|
|
202
|
+
* Data Subject Request form component. Implements NDPA Part VI (Sections 34-38)
|
|
203
203
|
* covering data subject rights including access, rectification, erasure, and portability.
|
|
204
204
|
*/
|
|
205
205
|
export declare const DSRRequestForm: React__default.FC<DSRRequestFormProps>;
|
|
@@ -438,20 +438,25 @@ declare interface DSRTrackerProps {
|
|
|
438
438
|
}
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
|
-
* Data Subject Rights types aligned with NDPA 2023 Part
|
|
441
|
+
* Data Subject Rights types aligned with NDPA 2023 Part VI (Sections 34-38)
|
|
442
|
+
* and the related provisions in Part V (Section 27 — information to the data subject)
|
|
443
|
+
* and Part X (Section 46 — complaint to the Commission).
|
|
444
|
+
*
|
|
445
|
+
* Note: These are guidance labels — not legal advice. Verify with your DPO or counsel.
|
|
442
446
|
*/
|
|
443
447
|
/**
|
|
444
|
-
* Types of data subject requests per NDPA Part
|
|
445
|
-
* - 'information': Right to be informed (Section
|
|
446
|
-
* - 'access': Right of access (Section
|
|
447
|
-
* - 'rectification': Right to rectification (Section
|
|
448
|
-
* - 'erasure': Right to erasure (Section
|
|
449
|
-
* - 'restriction': Right to restrict processing (Section
|
|
450
|
-
* - 'portability': Right to data portability (Section
|
|
451
|
-
* - 'objection': Right to object (Section
|
|
452
|
-
* - 'automated_decision_making': Rights
|
|
448
|
+
* Types of data subject requests per NDPA Part VI
|
|
449
|
+
* - 'information': Right to be informed (Section 27 — provision of information; Section 34(1)(a))
|
|
450
|
+
* - 'access': Right of access / confirmation + data copy (Section 34(1)(a)–(b))
|
|
451
|
+
* - 'rectification': Right to rectification (Section 34(1)(c))
|
|
452
|
+
* - 'erasure': Right to erasure (Section 34(1)(d), Section 34(2))
|
|
453
|
+
* - 'restriction': Right to restrict processing (Section 34(1)(e))
|
|
454
|
+
* - 'portability': Right to data portability (Section 38)
|
|
455
|
+
* - 'objection': Right to object (Section 36)
|
|
456
|
+
* - 'automated_decision_making': Rights re. automated decisions / profiling (Section 37)
|
|
457
|
+
* - 'withdraw_consent': Right to withdraw consent (Section 35)
|
|
453
458
|
*/
|
|
454
|
-
export declare type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making';
|
|
459
|
+
export declare type DSRType = 'information' | 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision_making' | 'withdraw_consent';
|
|
455
460
|
|
|
456
461
|
/**
|
|
457
462
|
* Formats a DSR request for display or submission
|
|
@@ -481,7 +486,9 @@ export declare interface RequestType {
|
|
|
481
486
|
/** Description of what this request type entails */
|
|
482
487
|
description: string;
|
|
483
488
|
/**
|
|
484
|
-
* NDPA section reference
|
|
489
|
+
* NDPA 2023 section reference for this right
|
|
490
|
+
* (e.g., "Section 34(1)(a)" for access, "Section 38" for portability).
|
|
491
|
+
* Used for display purposes only — verify the exact subsection with counsel.
|
|
485
492
|
*/
|
|
486
493
|
ndpaSection?: string;
|
|
487
494
|
/**
|
|
@@ -559,9 +566,10 @@ declare interface UseDSRReturn {
|
|
|
559
566
|
*/
|
|
560
567
|
requests: DSRRequest[];
|
|
561
568
|
/**
|
|
562
|
-
* Submit a new request
|
|
569
|
+
* Submit a new request. The hook assigns `id`, `status`, `createdAt`,
|
|
570
|
+
* `updatedAt`, and `dueDate` — pass everything else.
|
|
563
571
|
*/
|
|
564
|
-
submitRequest: (requestData: Omit<DSRRequest, 'id' | 'status' | '
|
|
572
|
+
submitRequest: (requestData: Omit<DSRRequest, 'id' | 'status' | 'createdAt' | 'updatedAt' | 'dueDate'>) => DSRRequest;
|
|
565
573
|
/**
|
|
566
574
|
* Update an existing request
|
|
567
575
|
*/
|
|
@@ -573,7 +581,12 @@ declare interface UseDSRReturn {
|
|
|
573
581
|
/**
|
|
574
582
|
* Get requests by status
|
|
575
583
|
*/
|
|
576
|
-
|
|
584
|
+
/**
|
|
585
|
+
* Filter requests by status. Accepts both the modern `DSRStatus` union and
|
|
586
|
+
* the deprecated `RequestStatus` for backward compatibility — pass the
|
|
587
|
+
* modern values (`'pending' | 'awaitingVerification' | 'inProgress' | ...`).
|
|
588
|
+
*/
|
|
589
|
+
getRequestsByStatus: (status: DSRStatus | RequestStatus) => DSRRequest[];
|
|
577
590
|
/**
|
|
578
591
|
* Get requests by type
|
|
579
592
|
*/
|
|
@@ -646,7 +659,7 @@ export declare interface ValidateDsrSubmissionOptions {
|
|
|
646
659
|
/**
|
|
647
660
|
* Allowed request types. When provided, the payload's `requestType`
|
|
648
661
|
* must be one of these — useful for locking the server to a specific
|
|
649
|
-
* set of supported NDPA Part
|
|
662
|
+
* set of supported NDPA Part VI §34-38 (plus §35, §36, §37) data-subject rights.
|
|
650
663
|
*/
|
|
651
664
|
allowedRequestTypes?: string[];
|
|
652
665
|
}
|