UNPKG

@tantainnovative/ndpr-toolkit

Version:

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

1 lines 4.8 kB
import {e,d}from'./chunk-BIJSMSUU.mjs';import {b,a as a$1}from'./chunk-ZJYULEER.mjs';var x={saas:{id:"saas",label:"SaaS / B2B Software",description:"Multi-tenant cloud software. Account credentials, usage analytics, cross-border transfer to the SaaS vendor, automated processing for features like spam filtering or fraud scoring.",examples:["team collaboration tools","CRM","developer tools","workflow automation"]},ecommerce:{id:"ecommerce",label:"Ecommerce / Online Store",description:"Online retail. Customer identity, payment data, shipping address, cart abandonment cookies, marketing analytics, third-party payment processors.",examples:["online retail","D2C brand","marketplace","food delivery"]},school:{id:"school",label:"School / Education",description:"Educational institution or edtech platform. Student data including minors (NDPA Section 31 \u2014 parental consent required), academic records, attendance, behavioural data for learning analytics.",examples:["K-12 school","edtech app","tutoring platform","online courses"]},healthcare:{id:"healthcare",label:"Healthcare / HealthTech",description:"Medical practice, hospital, telemedicine, or health insurance. Sensitive personal data (NDPA Section 30 \u2014 medical), prescription history, insurance claims, biometric data.",examples:["hospital","telemedicine","pharmacy","health insurance"]},procurement:{id:"procurement",label:"Procurement / B2G",description:"Government procurement, vendor management, public-sector bidding. Vendor company data, tax IDs, beneficial-owner information, contract records, sometimes politically-exposed-person (PEP) data.",examples:["e-procurement portal","vendor registry","government supplier database"]}},a={fullName:"full-name",contactDetails:"contact-details",govIds:"government-ids",credentials:"account-credentials",payment:"payment-info",financialRecords:"financial-records",bvn:"bvn",device:"device-info",usage:"usage-data",location:"location-data",cookies:"cookies",health:"health-data",biometric:"biometric-data",children:"children"};function s(e){let t=new Set(e);return d.map(r=>b(a$1({},r),{selected:t.has(r.id)}))}function h(e,t){var r,c,l,d,p,m;return t?b(a$1({},e),{org:b(a$1({},e.org),{name:(r=t.orgName)!=null?r:e.org.name,website:(c=t.website)!=null?c:e.org.website,privacyEmail:(l=t.privacyEmail)!=null?l:e.org.privacyEmail,address:(d=t.address)!=null?d:e.org.address,dpoName:(p=t.dpoName)!=null?p:e.org.dpoName,dpoEmail:(m=t.dpoEmail)!=null?m:e.org.dpoEmail})}):e}var f=["service_delivery","analytics","marketing","fraud_prevention"],y=["service_delivery","marketing","analytics","fraud_prevention","legal_compliance"],v=["service_delivery","analytics","legal_compliance"],C=["service_delivery","legal_compliance","research"],T=["service_delivery","legal_compliance","fraud_prevention"];function P(){let e$1=e();return e$1.org.industry="saas",e$1.org.orgSize="startup",e$1.dataCategories=s([a.fullName,a.contactDetails,a.credentials,a.device,a.usage,a.cookies]),e$1.purposes=f,e$1.hasChildrenData=false,e$1.hasSensitiveData=false,e$1.hasFinancialData=false,e$1.hasCrossBorderTransfer=true,e$1.hasAutomatedDecisions=false,e$1}function S(){let e$1=e();return e$1.org.industry="ecommerce",e$1.org.orgSize="midsize",e$1.dataCategories=s([a.fullName,a.contactDetails,a.payment,a.financialRecords,a.device,a.usage,a.location,a.cookies]),e$1.purposes=y,e$1.hasChildrenData=false,e$1.hasSensitiveData=false,e$1.hasFinancialData=true,e$1.hasCrossBorderTransfer=true,e$1.hasAutomatedDecisions=true,e$1}function D(){let e$1=e();return e$1.org.industry="education",e$1.org.orgSize="midsize",e$1.dataCategories=s([a.fullName,a.contactDetails,a.govIds,a.credentials,a.usage,a.cookies,a.children]),e$1.purposes=v,e$1.hasChildrenData=true,e$1.hasSensitiveData=false,e$1.hasFinancialData=false,e$1.hasCrossBorderTransfer=false,e$1.hasAutomatedDecisions=false,e$1}function E(){let e$1=e();return e$1.org.industry="healthcare",e$1.org.orgSize="enterprise",e$1.dataCategories=s([a.fullName,a.contactDetails,a.govIds,a.payment,a.health,a.biometric]),e$1.purposes=C,e$1.hasChildrenData=false,e$1.hasSensitiveData=true,e$1.hasFinancialData=true,e$1.hasCrossBorderTransfer=false,e$1.hasAutomatedDecisions=false,e$1}function O(){let e$1=e();return e$1.org.industry="government",e$1.org.orgSize="enterprise",e$1.dataCategories=s([a.fullName,a.contactDetails,a.govIds,a.financialRecords,a.bvn]),e$1.purposes=T,e$1.hasChildrenData=false,e$1.hasSensitiveData=false,e$1.hasFinancialData=true,e$1.hasCrossBorderTransfer=false,e$1.hasAutomatedDecisions=false,e$1}var g={saas:P,ecommerce:S,school:D,healthcare:E,procurement:O};function _(e,t){let r=g[e];if(!r)throw new Error(`[ndpr-toolkit] Unknown org template id: ${String(e)}. Expected one of: ${Object.keys(g).join(", ")}.`);return h(r(),t)}export{x as a,_ as b};