Developers / Overview

Connect compliance to the systems you already run.

Izini has a documented REST API, signed webhooks and mobile SDKs, so your apps, backend, ticketing and reporting tools take part in compliance instead of someone copying data between screens.

Live API keys and webhooks come with every paid plan. The Free plan and the trial can create test keys.

The public Izini API reference: authentication, endpoints and the no-personal-details rule.
What you can connect

Six things your team can build

Consent in your apps

React Native and Flutter SDKs and a consent API: check consent before a tracker runs, record choices from any channel.

Requests from your backend

Open a data subject request from your own product or support desk through the DSAR gateway, and hear back when it closes.

Incidents from your IT tools

A SIEM, monitoring or helpdesk tool can log an incident directly. With personal data involved, the 72-hour clock starts.

Compliance figures in your dashboards

Read requests, incidents, records, suppliers and impact assessments into Power BI or a GRC tool.

Privacy checks in your pipeline

A release step for GitHub Actions, GitLab or any shell that stops a release until its privacy review is approved.

Alerts in Slack, Teams or Jira

Ready-made n8n and Make recipes turn Izini events into messages, tickets or spreadsheet rows.

Webhooks

13 events, signed and retried

Subscribe to any event, or all of them. Instant events arrive within about a minute; dated ones are checked every hour. Failed deliveries are retried for about a day, and every attempt is logged. Payloads carry IDs, references and dates, never a person's details.

consent.updatedSomeone grants or withdraws consent
dsar.receivedA data request arrives
dsar.due_soonA request is due within 7 days
dsar.overdueA request has passed its target
dsar.closedA request is closed
incident.createdAn incident is logged
incident.breach_clockThe 72-hour NDPC clock reaches a milestone
incident.ndpc_notifiedThe NDPC has been notified
dpia.completedAn impact assessment is completed
policy.publishedA privacy policy is published
vendor.dpa_review_dueA supplier agreement review is due
training.overdueA training campaign is overdue
car.dueThe annual audit return is coming due
Code

Small enough to read in one go

React Native · izini-mobile-sdk
import { Izini } from 'izini-mobile-sdk';

Izini.initialize({ projectCode: 'YOUR_PROJECT_CODE' });

// Before running a tracker
if (Izini.hasConsent('analytics')) Analytics.start();

// When the user decides
await Izini.updateConsent('analytics', true);
Node.js · verify a webhook
// Every webhook is signed: HMAC-SHA256 of "timestamp.body"
const expected = crypto
  .createHmac('sha256', process.env.IZINI_WEBHOOK_SECRET)
  .update(`${req.get('X-Izini-Timestamp')}.`)
  .update(req.body)
  .digest('hex');
const received = req.get('X-Izini-Signature-V2') ?? '';

Full guide: keep consent records in your own database →

Built to be safe to connect

Keys, limits and personal data

Scoped keys

Test and live keys, each limited to the scopes it needs, with optional expiry, rotation and a request log.

Predictable limits

Per-key rate limits with standard RateLimit headers, so your client knows when to slow down.

No personal details in

Send your own user ID or a keyed hash. An email address, phone number or card number sent as an identifier is refused.

Plan an integration with us

Tell us what you want to connect. We will show you the endpoints and events that fit, and set up test keys for your trial.

  • The endpoints and events for your use case
  • Test keys to try it safely
  • Answers on limits, security and data handling
Book a demoChat on WhatsAppWe reply within one business day.