UNPKG

@tantainnovative/ndpr-toolkit

Version:

Nigeria Data Protection Toolkit — enterprise-grade compliance components for the Nigeria Data Protection Act (NDPA) 2023

142 lines (133 loc) 5 kB
import React__default from 'react'; /** * Adequacy status of a destination country */ export declare type AdequacyStatus = 'adequate' | 'inadequate' | 'pending_review' | 'unknown'; /** * Summary of cross-border transfer compliance */ export declare interface CrossBorderSummary { /** Total number of active transfers */ totalActiveTransfers: number; /** Breakdown by transfer mechanism */ byMechanism: Record<TransferMechanism, number>; /** Breakdown by adequacy status */ byAdequacy: Record<AdequacyStatus, number>; /** Transfers pending NDPC approval */ pendingApproval: CrossBorderTransfer[]; /** Transfers due for review */ dueForReview: CrossBorderTransfer[]; /** Transfers missing TIA */ missingTIA: CrossBorderTransfer[]; /** High-risk transfers */ highRiskTransfers: CrossBorderTransfer[]; /** Last updated timestamp */ lastUpdated: number; } /** * Represents a cross-border data transfer record */ export declare interface CrossBorderTransfer { /** Unique identifier */ id: string; /** Destination country or territory */ destinationCountry: string; /** ISO country code */ destinationCountryCode?: string; /** Adequacy status of the destination */ adequacyStatus: AdequacyStatus; /** The transfer mechanism being relied upon */ transferMechanism: TransferMechanism; /** Categories of personal data being transferred */ dataCategories: string[]; /** Whether sensitive personal data is included */ includesSensitiveData: boolean; /** Estimated number of data subjects whose data is transferred */ estimatedDataSubjects?: number; /** Name of the recipient organization */ recipientOrganization: string; /** Contact details of the recipient */ recipientContact: { name: string; email: string; phone?: string; address?: string; }; /** Purpose of the data transfer */ purpose: string; /** Safeguards in place to protect the data */ safeguards: string[]; /** Risk assessment summary */ riskAssessment: string; /** Risk level of the transfer */ riskLevel: 'low' | 'medium' | 'high'; /** NDPC approval details (required for some transfer mechanisms) */ ndpcApproval?: { required: boolean; applied: boolean; approved?: boolean; referenceNumber?: string; appliedAt?: number; approvedAt?: number; }; /** Whether a Transfer Impact Assessment has been conducted */ tiaCompleted: boolean; /** Reference to the TIA document */ tiaReference?: string; /** Frequency of the transfer */ frequency: 'one_time' | 'periodic' | 'continuous'; /** Start date of the transfer */ startDate: number; /** End date of the transfer (if applicable) */ endDate?: number; /** Status of the transfer */ status: 'active' | 'suspended' | 'terminated' | 'pending_approval'; /** Timestamp when the record was created */ createdAt: number; /** Timestamp when the record was last updated */ updatedAt: number; /** Next review date */ reviewDate?: number; } /** * Read-only, lightweight variant of the full `CrossBorderTransferManager`. Renders the * list + summary view without pulling in the full adequacy dataset, and exposes * no add/edit/delete affordances. */ export declare const CrossBorderTransferManagerLite: React__default.FC<CrossBorderTransferManagerLiteProps>; export declare interface CrossBorderTransferManagerLiteClassNames { root?: string; header?: string; title?: string; summary?: string; summaryCard?: string; table?: string; tableHeader?: string; tableRow?: string; statusBadge?: string; riskBadge?: string; riskAlert?: string; } export declare interface CrossBorderTransferManagerLiteProps { transfers: CrossBorderTransfer[]; title?: string; description?: string; className?: string; classNames?: CrossBorderTransferManagerLiteClassNames; unstyled?: boolean; showSummary?: boolean; showRiskAlerts?: boolean; onTransferClick?: (transfer: CrossBorderTransfer) => void; } /** * Cross-Border Data Transfer types aligned with NDPA 2023 Part VIII (Sections 41-43). * Personal data may only be transferred outside Nigeria under the bases listed in * Section 41(1), where Section 42 defines adequacy and Section 43 lists derogations. * * Note: These are guidance labels — not legal advice. Verify with your DPO or counsel. */ /** * Transfer mechanisms recognized under the NDPA */ export declare type TransferMechanism = 'adequacy_decision' | 'standard_clauses' | 'binding_corporate_rules' | 'ndpc_authorization' | 'explicit_consent' | 'contract_performance' | 'public_interest' | 'legal_claims' | 'vital_interests'; export { }