Data Protection Impact Assessment (DPIA)
Data Protection Impact Assessment (DPIA)
Project:
BilkoDrop —BalkanFintechAccountingPaymentSaaSApp (ALAI Holding AS) Processing Activity:Multi-TenantAllAccountingpersonalDatadataProcessingprocessing(invoices,inexpenses,DropVAT,paymenttax filings)services Version: 1.0 Date: 2026-02-23 Author: ALAI ComplianceArchitectTeam DPO: TBD — appointment required ([email protected])[email protected] — planned) Status: Draft — DPO Review Required Reviewers: DPO, Legal Counsel,Engineering LeadCTO Classification: Confidential
Document History
| Version | Date | Author | Changes |
|---|---|---|---|
| 0.1 | 2026-02- |
Compliance |
Initial DPIA legal/dpia-vurdering.md) |
| 1.0 | 2026-02-23 | Security Architect (ALAI) | English compliance template format |
Source document: legal/dpia-vurdering.md — DPIA-DROP-001 (v1.0, approved 2026-02-12)
DPIA Trigger Checklist
A DPIA is required under GDPR Art. 35 if ANY of the following apply:
| # | Trigger | Applies? | Notes |
|---|---|---|---|
| 1 | Systematic |
||
| 2 | Large-scale processing of special category data |
NO | |
| 3 | Systematic monitoring of publicly accessible areas | NO | |
| 4 | |||
| 5 | |||
| 6 | Innovative use of technology with unpredictable privacy impact | ||
| 7 | Cross-border transfer outside EEA without adequate protection | YES | |
| 8 | Processing data that prevents data subjects from exercising rights | NO |
DPIA Required: YES
Reason: Cross-borderMultiple transfertriggers ofapply: RS/BAautomated datatransaction subjectsmonitoring, toinnovative EU-hostedOpen infrastructure;Banking processingtechnology, of national tax IDs (PIB/JMBG/OIB/JIB) as sensitive identifiers;large-scale financial data forprocessing, thousandscross-border oftransfers organizationsto andnon-adequate their counterparties.countries.
1. Processing Activity Description
1.1 Activity Overview
Activity Name: Multi-TenantDrop AccountingPayment Services — All Personal Data Processing
System/Product: BilkoDrop (bilko.io)getdrop.no) — Remittance + QR Payment App
Business Unit: ProductALAI Holding AS — Drop product
Processing Owner: EngineeringCEO Lead/ CISO ([email protected])[email protected])
Description of Processing:
BilkoDrop processesis financiala andpayment personalapplication datafor onall behalfresidents of businessNorway organizations (data controllers) in Serbia, Bosnia & Herzegovina, and Croatia:providing:
User account dataRemittance —email,internationalfullmoneyname,transfersbcrypt-hashedtopassword,30+TOTPcountriessecretvia PSD2 PISPOrganizationQRdataPayments —legalin-storename,QRtaxcodeIDpayments(PIB/JIB/OIB),viaaddress,PSD2banking detailsPISPContactAccountdataInformation —customer/supplier names, tax IDs, email, phone, IBANInvoice data — invoice numbers, dates, amounts, VAT, payment statusExpense data — amounts, categories, descriptions, receipt attachmentsTransaction data —reading banktransactions,balancesdouble-entryviadebit/creditPSD2 Audit trail — all mutations logged with user ID, IP, timestamp, old/new valuesAISP
Drop operates a pass-through model: it never holds customer funds. All payments are initiated directly from the user's bank account via Open Banking APIs. User authentication occurs via BankID (OIDC, security level "høyt" — eIDAS High).
Trigger / Business Justification:
SMBsProviding inaccessible, thelow-cost Balkanspayment lackand affordable,remittance compliant cloud accounting software. Processing this data is necessaryservices to deliverall theNorwegian contractedresidents. accountingNorwegian-registered serviceresidents andcan meetsend legalmoney obligationsabroad underat RS/BA/HRlower accountingfees andthan taxtraditional laws.services. Financial inclusion for all communities.
1.2 Processing Operations
| Operation | Data Category | Technology | Location |
|---|---|---|---|
| Collection |
|||
| Collection |
|||
| Collection — |
Financial (bank account, amount, recipient) | PSD2 Open Banking API (Neonomics) | Norway (EEA) |
| Collection — KYC/AML | Identity documents, PEP status, risk profile | Sumsub SDK | EU |
| Storage | All |
SQLite (MVP) → PostgreSQL |
|
| Processing — AML monitoring | |||
| Sharing — Remittance | |||
| Deletion / Anonymization |
2. Necessity & Proportionality Assessment
2.1 Purposes of Processing
| Purpose | Specific Description | Legitimate? | |
|---|---|---|---|
| Verify user |
YES — |
||
| YES — core service delivery | |||
| Account information (AISP) | Read bank balances for user dashboard | YES — core service delivery, with |
|
| AML/transaction monitoring | Detect and prevent money laundering | YES — legal obligation ( |
|
| Customer identification and | risk YES — legal obligation ( |
||
| YES — |
|||
| YES — | |||
2.2 Data Minimization Assessment
| Data Element | Collected | Strictly Necessary? | ||
|---|---|---|---|---|
Full name |
YES | YES |
||
Fødselsnummer (11 digits) |
YES | YES |
||
Date of birth |
YES (derived from fødselsnummer) | YES | Age verification | |
| Email address | YES | YES |
||
Phone number (+47) |
YES | YES |
||
Bank |
YES | YES |
||
Transaction data (amount, recipient, currency) |
YES | YES |
||
IP |
YES | YES |
||
| Device ||||
|
YES | YES | Session | |
KYC documents (passport, national ID) |
YES | YES | Hvitvaskingsloven § 12 identity verification | |
| PEP status | YES | YES | Hvitvaskingsloven § 18 | |
| Marketing preferences | NO | NO |
Not collected | |
|
Fields recommended for removal: None identified. All fields are necessary for regulatory compliance or service delivery.
2.3 Lawful Basis
| Processing Activity | Lawful Basis | Justification |
|---|---|---|
| Account |
Contract |
|
| Payment initiation (PISP) | Contract (Art. 6.1.b) | Core service |
| Consent (Art. 6.1.a) | PSD2 requires explicit PSU consent | |
| AML/KYC processing | Legal obligation |
|
| Legal obligation |
||
| Legitimate interest |
||
3. Data Subjects & Categories of Data
3.1 Data Subject Groups
| Group | Description | Estimated Volume | Vulnerability Level |
|---|---|---|---|
| Low-Medium | |||
| Low | |||
| Payment recipients | Persons abroad receiving remittances | TBD | Low ( |
3.2 Personal Data Categories
| Category | Data Elements | Sensitivity | |
|---|---|---|---|
| Financial | High (L3-L4) | ||
| KYC/AML | Identity documents, PEP status, risk profile | High (L4) | 5 years after account closure (hvvl. §30) |
| Behavioral |
Transaction patterns, device ID, IP |
Standard (L3) | |
4. Data Processing Purposes & Legal Basis
| Processing Purpose | Personal Data Used | Legal Basis | Retention Period |
|---|---|---|---|
| User registration and authentication | Name, fødselsnummer, email, |
Contract (Art. 6.1.b) | |
| Contract + Legal obligation | Session only | ||
| AISP bank balance reading | Bank account number, balance | Consent (Art. 6.1.a) | Until consent withdrawn |
| PISP payment initiation | Bank account, amount, recipient details | Contract (Art. 6.1.b) | 5 years (Bokføringsloven) |
| Remittance — cross-border transfer | Sender name, |
Contract (Art. 6.1.b) | 5 years |
| KYC identity verification | Full identity data, documents, PEP status | Legal obligation (Art. 6.1.c) — hvvl. §§ 10-18 | 5 years (hvvl. §30) |
| Transaction monitoring (AML) | Transaction data, patterns, amounts | Legal obligation (Art. 6.1.c) — hvvl. §§ 24-25 | |
| Legitimate interest (Art. 6.1.f) | 12 months auth logs, 24 months security | ||
| Suspicious Transaction Reporting (EFE) | Identity + transaction data | Legal obligation (Art. 6.1.c) — hvvl. §26 | |
5. Data Flow Mapping
flowchartUser TD→ DS([DataBankID Subject\nBusiness(SCA user])authentication)
-->|Registers→ /Drop CreatesPlatform invoice| COLLECT[Web App\nbilko.io(Norway — VercelAWS EU]EEA)
COLLECT├── -->|HTTPSRegistration POSTdata Zod→ validated|PostgreSQL API[ExpressDB API\napi.bilko.io(Norway)
├── KYC data → Sumsub (EU EEA) → Drop DB
├── AISP: Bank balance → Neonomics → User's bank → Drop dashboard
├── PISP: Payment instruction → Neonomics → User's bank → Recipient bank
│ └── For remittance: → Correspondent bank → Recipient country bank
├── Errors → Sentry (EU EEA)
└── Suspicious transactions → EFE (Altinn — Railway EU West]
API -->|Prisma ORM AES-256| DB[(PostgreSQL\nRailway EU West\nFrankfurt/Paris)]
API -->|Receipt upload| R2[(Cloudflare R2\nEU region AES-256)]
DB -->|Append-only| AUDIT[(LoggedAction\nImmutable audit trail)]
API -->|Invoice email| SG[SendGrid\nEU region]
API -->|UBL 2.1 XML| SEF[SEF efaktura.gov.rs\nSerbia]
API -->|UBL 2.1 HR-CIUS| FINA[HR-FISK fina.hr\nCroatia]
DB -->|On deletion| ANON[Anonymization\nPII removed]
DB -->|On export| EXPORT[JSON export to data subject]
ANON --> DB
style DB fill:#ffcccc,stroke:#cc0000
style AUDIT fill:#ffe4cc,stroke:#cc6600Norway)
Data processors (GDPR Art. 28):
| Processor | Service | Data Shared | Country | DPA |
|---|---|---|---|---|
| Name, fødselsnummer | Norway (EEA) | Required — planned | ||
| Sumsub | KYC/AML document verification | ID documents, biometric liveness | EU (EEA) | Yes — legal/dpa-sumsub.md |
| Neonomics | PSD2 AISP/PISP | Bank account data, payment instructions | EU (EEA) | Required — planned |
| Swan | Banking/payment rails | Transaction data | EU (EEA) | Yes — legal/dpa-swan.md |
| AWS | Infrastructure hosting | All |
EU |
|
legal/dpa-sentry.md |
||||
6. Risk Assessment Matrix
6.1 Risk Scoring Scale
| Score | Likelihood | Severity |
|---|---|---|
| 1 | Remote — unlikely to occur | Negligible — minimal impact |
| 2 | Unlikely — exceptional circumstances | Limited — short-term, minor inconvenience |
| 3 | Possible — could occur | Significant — real impact on rights |
| 4 | Likely — will probably occur | Severe — serious impact on rights and freedoms |
Risk Score = Likelihood (1-5) × Severity (1-5).| ScoreLow: 1-6:4 Low;| 7-12:Medium: Medium;5-8 | High: 9-12 | Critical: 13-19: High; 20-25: Critical.16
6.2 RisksRisk to Data Subjects
| Risk ID | Risk to Data Subjects | Likelihood | Severity | Score | Existing Controls | Residual Risk | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| R1 | Unauthorized access to financial data ( |
2 | TLS 1.3, |
MEDIUM | ||||||
| R2 | 2 | MEDIUM | ||||||||
| R3 | 1 | 3 | 3 | Purpose limitation, data | no LOW |
|||||
| R4 | 3 | 3 | 9 | SCCs planned, data |
HIGH → MEDIUM with TIA | |||||
| R5 | False positive — legitimate transaction blocked by AML rules | 2 | 2 | 4 | ||||||
| LOW |
||||||||||
| R6 | 2 | 2 | 4 | Automated deletion planned Phase 2 | LOW | |||||
| R7 | BankID session compromise via phishing/MitM | 1 | 4 | 4 | BankID security (handled by BankID Norge AS), session timeout | LOW | ||||
| R8 | Third-country authorities accessing data via remittance partners | 2 | 3 | 6 | ||||||
| MEDIUM | ||||||||||
| R9 | ||||||||||
| 4 | BankID |
LOW | ||||||||
7. Mitigation Measures
| Risk ID | Mitigation Measure | Owner | Deadline | Status |
|---|---|---|---|---|
| R1 | Field-level AES-256-GCM encryption for |
Engineering | Phase 2 | Planned |
| R1 | Platform | Phase |
Planned | |
| R2 | Phase |
|||
| Planned | ||||
| R4 | Phase |
Planned | ||
| Phase | ||||
| Planned | ||||
| MVP | Implemented | |||
| R6 | Automated data retention + deletion jobs (5-year AML, 2-year other) | Engineering | Phase |
Planned |
| R8 | Phase |
Planned | ||
Residual risk conclusion:after mitigation: All residual risks areassessed as LOW or MEDIUM. No CRITICALHIGH or HIGHCRITICAL residual risks.risks Processing may proceed subject to DPO approval andafter Phase 12 mitigations beingare implemented before first paying customer.implemented.
DPO Conclusion: ☐ Acceptable — proceed | ☐ Conditional — pendingProcessing Phasemay 1proceed mitigationsfor |MVP ☐(no Escalatelive transactions). Prior to supervisorylive authoritytransactions: BankID SCA required, KYC implemented, SCCs in place, DPO appointed.
8. DPO Consultation Record
DPO Name: TBD ([email protected])— DPO appointment required before Phase 2 launch
Consultation Date: ToTBD
beDPO scheduledInput: beforePending first paying customerappointment
DPO Input:
(required
[Tobeforebelivecompleted after DPO appointment]
DPO Recommendation:transactions):
- Approved — risks are acceptable and adequately mitigated
- Conditional approval — subject to implementing Phase
12 mitigations - Rejected — requires redesign
required Escalate to supervisory authority
DPO Signature: _________________________ Date: _____________
9. Supervisory Authority Consultation
Consultation Required: NO — based on current risk assessment (pendingall DPOresidual review)risks LOW-MEDIUM after mitigation)
Reason:Basis: GDPR Art. 35(7) — Residual risks after mitigations are acceptable. No CRITICALprior orconsultation HIGHwith residualDatatilsynet risks. MEDIUM risks standard for cloud accounting SaaS.required.
Monitoring: If requiredPhase —2 relevantimplementation authoritiesreveals bynew jurisdiction:risks (e.g., from real-world transaction data), this assessment will be reviewed and Datatilsynet consultation may be required.
HR: AZOP — [email protected] — https://azop.hrRS: Poverenik — [email protected] — https://www.poverenik.rsBA: AZLP — [email protected] — https://www.azlp.ba
10. DPIA Review Schedule
Next scheduled review: 2027-02-2312 (annual) orOR when:when any of the following occurs:
NewBankIDcountryintegrationlaunchimplemented (RSPhase2,2)- Live
PhasePSD22,AISP/PISPBAtransactionsPhase 3)commenced - New
governmentremittanceintegrationcorridors(SEF,added - Sumsub
CPF)or KYC vendor changed - Data breach
orincidentnear-missrelated to this processing NewChangedataincategoriesapplicable Norwegian orprocessorsEU regulationsRegulatoryDORAchangesimplementation in Norway (ZZPLexpectedamendment,2026BiH reform, GDPR updates)H2)
Review Owner: DPO ([email protected])once appointed)
Review Log:
| Date | Reviewer | Changes Made | Outcome |
|---|---|---|---|
| 2026-02- |
Compliance |
Initial DPIA (legal/dpia-vurdering.md) |
Draft |
| 2026-02-23 | Security Architect (ALAI) | English compliance template format | Draft — awaiting DPO review |
Approval
| Role | Name | Date | Signature |
|---|---|---|---|
| Author | 2026-02-23 | ||
| DPO | TBD — appointment required | ||
| Alem Bašić (CEO/CISO) | |||
| Legal Counsel | TBD | ||
| Alem Bašić |