Workflow Automation¶
Dxtra automates privacy compliance workflows through event-driven processing that handles DID generation, integration data syncing, and rights request fulfillment.
How It Works¶
Dxtra uses event-driven automation internally to manage privacy workflows:
- Data changes trigger events -- When records are created or updated, automated workflows are triggered
- Asynchronous processing -- DID generation and audit registration run asynchronously
- Integration syncing -- Third-party platform webhooks are processed and linked to data subjects
flowchart TD
A[Data Change] --> B[Event Triggered]
B --> C{Event Type}
C -->|New Data Controller| D[Generate DID]
C -->|New Data Subject| E[Generate DID + Link Records]
C -->|Integration Webhook| F[Create/Update Data Subject]
C -->|Rights Request| G[Notify Privacy Team]
D --> H[Audit Trail Created]
E --> H
F --> H Automated Workflows¶
DID Generation¶
When a new data controller or data subject is created, Dxtra automatically generates a privacy-preserving DID (Decentralized Identifier). DIDs are deterministically generated from the record's UUID.
Data Subject Creation¶
When integration webhooks arrive from platforms like Shopify, Stripe, or Mailchimp:
- The platform extracts customer information from the webhook
- A data subject record is created or matched to an existing record using privacy-preserving links
- A DID is generated for the data subject
- The processing activity is logged for audit compliance
Rights Request Processing¶
When a data subject submits a rights request:
- The request is recorded with a timestamp
- Your privacy team is notified in the dashboard
- The request appears in the Rights Management queue for processing
User Provisioning¶
Queue Architecture¶
The platform uses per-tenant queues for audit registration:
- Request Queue:
audit_register_queue_{dataControllerDid}- Activities awaiting registration - Results Queue:
audit_register_results_queue_{dataControllerDid}- DIDs from blockchain
Message Flow¶
- Hasura event trigger fires on
data_processing_activitiesINSERT - dx-conduit handler publishes message to
audit_register_exchange - Consumer processes message and calls dx-agent for blockchain registration
- dx-agent generates DID deterministically from UUID via SHA3-256
- Consumer publishes result to results queue
- Results handler updates database with generated DID
Distributed Locking¶
The audit consumer uses Redis distributed locking (Redlock) to prevent concurrent processing:
- Lock Key:
audit_register_{dataControllerDid} - TTL: 45 seconds
- Behavior: If lock acquisition fails, message is requeued
Integration Webhooks¶
Dxtra processes incoming webhooks from connected platforms:
| Platform | Events Processed |
|---|---|
| Shopify | Customer create, order create, customer update |
| Stripe | Customer create, subscription events |
| Mailchimp | Subscribe, unsubscribe, profile update |
| WooCommerce | Customer create, order create |
When a webhook is received, Dxtra:
- Validates the webhook signature
- Creates or updates the data subject record
- Logs the data processing activity
- Syncs consent preferences where applicable
For integration setup, see Integrations Overview.
Retry and Error Handling¶
Failed event deliveries are retried automatically with exponential backoff. After multiple failed attempts, errors are visible in the dashboard for manual review.
Related Documentation¶
- Data Connectors -- Platform integration setup
- Data Subject Management -- DID generation workflow
- API Reference -- GraphQL API documentation