Data Processing Agreement (DPA)
Integration API access is gated on an executed DPA between your organization and Novatrade24. The DPA:- Classifies the parties’ roles (controller / processor / joint controllers) per data category.
- Specifies sub-processors, data categories, and lawful basis.
- Enumerates data-subject rights handling and breach notification timelines.
dpaVersion + dpaAcceptedAt) and rejects every API call with 403
when the DPA is missing or out of date. Renewal follows a documented
process: new DPA version → email notification → grace window → enforcement.
Inspect your DPA state via GET /v1/me:
Authentication
- OAuth 2.0 client_credentials via Keycloak service accounts (realm
nt24-idp). See Authentication. - Short-lived bearer tokens (typical 5 min).
- Rotatable
client_secretper customer. - No per-user login, no credential persistence in your backend beyond the
client_secretyou manage.
Authorization
Multiple layers:- Organization scope — your API client is bound to one
IntegrationOrganization. Cross-organization access is impossible. - Authorized partners — every partner-scoped URL (
/partners/{sellerId}/...) validates{sellerId}against your org’s authorized partners list. - Capability flags — features (e.g.
allowMarketplaceLedKyc,allowContactPersonalData,allowKycDocumentDownload) are independently provisioned per organization. Denied features return403regardless of valid token.
Encryption
| Scope | Standard |
|---|---|
| In transit | TLS 1.2+ enforced. Older protocols rejected. |
| At rest | Disk-level encryption on database and object storage. |
| Sensitive fields | Field-level encryption on bank account numbers and identity document scans. |
Data residency
- All data stored in Germany (Hetzner Falkenstein data centers).
- No third-country transfers for platform data. Limited third-party services (Stripe, iDenfy) operate in the EU; see DPA for sub-processor list.
- No replication outside the EU. If your customer’s compliance program requires in-country hosting outside Germany, that is a bespoke engagement and not supported in the standard offering.
Audit trail
- Every API call logged with actor (API client uuid), partner context, endpoint, response status, timing, and request id. Retained per compliance requirements.
- Hibernate Envers on the domain model provides entity-level revision
history (who changed what, when). Integration API writes are attributed as
api_client:{uuid}in the Enversmodifiercolumn, distinct from web-app user writes. - PII-access separate log stream with 6-year retention for reads of
personal contact data and KYC document downloads. Caller can provide
X-Purposeheader to record justification.
Personal data handling
- Data minimization by default.
GET /buyers/{id}returns company-level data only (VAT, company name, address). Personal contact data is on the/contactssub-resource, which requires theallowContactPersonalDatacapability. - KYC document downloads (ID scans, bank statements) require
allowKycDocumentDownloadand are logged to the PII-access stream with 6-year retention. - Right to erasure: NT24 honors data-subject erasure requests subject
to legal retention obligations (VAT records: 10 years in EU). Records
required by law remain; freeform personal fields are erased. A future
webhook (
buyer.erasure_required) will notify your system to cascade deletion in your own datastores.
Breach notification
NT24 notifies affected organizations promptly on incidents meeting the classification criteria in the DPA. Notifications include:- Nature, scope, and data categories affected.
- Mitigations applied.
- Recommended customer-side actions.
Availability posture
| Phase | Commitment |
|---|---|
| Phase 1 (pilot) | Best effort, no formal SLA. Public status page planned; incidents communicated via email to organization admins until then. |
| Phase 2 (GA) | 99.5% uptime informal target. HA infrastructure. |
| Phase 3 (enterprise) | 99.9% contractual SLA for ENTERPRISE tier. |
Sub-processors
Current platform sub-processors handling customer data:- Hetzner Online GmbH (hosting, Germany)
- Keycloak (authentication — self-hosted on Hetzner)
- Stripe (payment processing, EU)
- iDenfy (KYC verification, EU)
Reporting a security concern
Responsible disclosure: [email protected]. We acknowledge within 3 business days.Next
GDPR details
Lawful basis, subject rights, retention overrides.
DPA
Controller/processor relationship, breach notification timelines.