@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
text/typescript
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 { }