@tantainnovative/ndpr-toolkit
Version:
Nigerian Data Protection Compliance Toolkit for implementing NDPR and DPA compliant features
91 lines • 2.44 kB
TypeScript
export type ConsentType = 'necessary' | 'functional' | 'analytics' | 'marketing';
export interface ConsentOption {
id: ConsentType;
label: string;
description: string;
required: boolean;
defaultValue: boolean;
}
export interface ConsentRecord {
id: string;
userId?: string;
consents: Record<ConsentType, boolean>;
timestamp: string;
ipAddress?: string;
userAgent?: string;
}
export interface ConsentHistoryEntry extends ConsentRecord {
changeReason?: string;
}
export type RequestStatus = 'pending' | 'in-progress' | 'completed' | 'rejected';
export type RequestType = 'access' | 'rectification' | 'erasure' | 'restrict-processing' | 'data-portability' | 'object';
export interface DataSubjectRequest {
id: string;
requestType: RequestType;
requesterId: string;
requesterEmail: string;
requesterName: string;
status: RequestStatus;
createdAt: string;
updatedAt: string;
completedAt?: string;
notes?: string;
attachments?: string[];
responseData?: Record<string, unknown>;
hasConsent: boolean;
}
export interface PolicySection {
id: string;
title: string;
content: string;
required: boolean;
order: number;
}
export interface PrivacyPolicy {
id: string;
organizationName: string;
organizationContact: string;
effectiveDate: string;
lastUpdated: string;
version: string;
sections: PolicySection[];
}
export interface RiskAssessmentQuestion {
id: string;
question: string;
category: string;
weight: number;
options: {
value: number;
label: string;
}[];
}
export interface RiskAssessment {
id: string;
projectName: string;
assessmentDate: string;
completedBy: string;
answers: Record<string, number>;
score?: number;
recommendations?: string[];
categoryScores?: Record<string, {
score: number;
maxScore: number;
percentage: number;
}>;
}
export type BreachSeverity = 'low' | 'medium' | 'high' | 'critical';
export interface BreachNotification {
id: string;
title: string;
description: string;
discoveryDate: string;
reportDate: string;
affectedDataSubjects: number;
dataCategories: string[];
severity: BreachSeverity;
mitigationSteps: string[];
reportedToAuthorities: boolean;
reportedToDataSubjects: boolean;
}
//# sourceMappingURL=index.d.ts.map