Data Processing Agreement (DPA)
Version 1.2 · Effective 2026-09-02
Parties: Off By Two LLC, d/b/a ESXPress (“Processor”) and the Customer (“Controller”)
1. Background
This Data Processing Agreement (“DPA”) forms part of the Terms of Service between Off By Two LLC, d/b/a ESXPress (“Processor,” “we,” “us”) and the Customer (“Controller,” “you”). It reflects the parties’ agreement on the processing of Personal Data in accordance with applicable data protection laws, including the EU General Data Protection Regulation (GDPR), UK GDPR, and California Consumer Privacy Act (CCPA/CPRA).
2. Definitions
Capitalized terms not defined here have the meanings given in the Terms of Service.
| Term | Definition |
|---|---|
| Personal Data | Any information relating to an identified or identifiable natural person processed by ESXPress on behalf of Controller |
| Controller | The entity that determines the purposes and means of processing Personal Data (the Customer) |
| Processor | The entity that processes Personal Data on behalf of the Controller (ESXPress) |
| Sub-Processor | Any third party engaged by the Processor to process Personal Data |
| Data Subject | The individual to whom Personal Data relates |
| SCCs | EU Standard Contractual Clauses for the transfer of personal data to third countries |
| Security Incident | A breach of security leading to accidental or unlawful destruction, loss, alteration, unauthorized disclosure of, or access to Personal Data |
3. Processing of Personal Data
3.1 Purpose and Nature
The Processor shall process Personal Data only:
- As necessary to provide the Service (PDF-to-ESX conversion platform)
- In accordance with Controller’s documented instructions (these Terms and this DPA)
- As required by applicable law
- As necessary to operate an authorized OEM, Reseller, or API Partnership (including generating a native ESX file from structured JSON submitted through the ESXPress API)
- Not for AI model training, product-improvement datasets, or advertising. ESXPress does not use Personal Data to train AI models, and does not use proof-of-concept, test, or evaluation data for training or product improvement.
3.2 Categories of Data Subjects
- Controller’s employees and authorized users
- Property owners and insured parties identified in uploaded documents
- Other individuals whose data appears in uploaded PDFs
3.3 Types of Personal Data
- Identifiers: Name, email address, IP address
- Property information: Addresses, claim numbers
- Insurance information: Carrier names, policy references (if present in PDFs)
- Financial data: Subscription and billing records (Stripe customer ID only)
3.4 Duration
Personal Data is processed for the duration of the Service agreement and retained as follows:
- Conversion records and metadata: retained for the life of the account (this powers History and re-download). There is no automated schedule that erases database records after account deletion.
- Uploaded source PDFs and generated ESX files: removed according to the account’s configurable retention window (1–30 days) when Ephemeral Privacy Mode is enabled on the account; uploaded source PDFs more than 30 days old are also removed by a scheduled platform cleanup. Database records and metadata are retained.
- Deleted conversions: soft-deleted; underlying files and records are then handled under the retention practices above. No separate 90-day purge is performed.
4. Processor Obligations
4.1 Compliance with Instructions
The Processor shall process Personal Data only on documented instructions from the Controller, including with regard to transfers of Personal Data to a third country.
4.2 Confidentiality
The Processor ensures that persons authorized to process Personal Data have committed themselves to confidentiality or are under an appropriate statutory obligation of confidentiality.
4.3 Security Measures
The Processor implements appropriate technical and organizational measures, including:
- Encryption in transit (TLS 1.2+)
- Encryption at rest: W-9 tax identifiers encrypted with Fernet (AES-128-CBC); database storage-layer encryption provided by the hosting provider; ESX output files use the ESX container format's standard wrapping required for import compatibility
- Access controls (JWT authentication, MFA, role-based access)
- Append-only audit logging of administrative actions
- Multi-tenant data isolation
- Regular security reviews and risk assessments
4.4 Sub-Processors
Authorized Sub-Processors
| Sub-Processor | Purpose | Location | Data Processed |
|---|---|---|---|
| Supabase | Database hosting | US (AWS us-west-2, Oregon) | All account and conversion data |
| Stripe | Payment processing | US | Billing data (no card numbers) |
| DeepSeek | AI line-item extraction | China (PRC) | PDF content (transient) |
| Kimi-k3 (via opencode.ai) | Vision OCR fallback | Not contractually established | PDF page images (transient) |
| Google Gemini (Google LLC) | OCR / vision analysis | US | PDF page images & roof photos (transient) |
| Cloudflare | CDN, DDoS protection | Global | Network traffic, IP addresses |
| Hostinger | VPS hosting | US (Phoenix, AZ) | Application logs |
| SMTP email relay (Google Workspace) | Transactional email delivery | US | Email addresses (outbound email) |
| Mailgun | Email delivery event webhooks | US | Delivery/bounce event metadata |
| Slack | Slack bot workspace integration | US | Workspace/tenant mapping, command payloads |
Sub-Processor Engagement
The Controller provides general authorization for the Processor to engage the Sub-Processors listed above. The Processor shall:
- Inform the Controller of any intended changes concerning the addition or replacement of Sub-Processors
- Provide the Controller with an opportunity to object to such changes
- Impose data protection terms on Sub-Processors that are no less protective than this DPA
- Remain liable for the acts and omissions of its Sub-Processors
OEM / API Partners: Where ESXPress provides conversion services through an OEM, Reseller, or API Partnership (for example, generating ESX files from JSON submitted by a partner’s application), ESXPress acts as a sub-processor on behalf of the partner, and the partner is responsible for notifying the relevant data controllers (for example, insurers or policyholders) of that processing. Data submitted through an API or partnership is subject to the same no-AI-training and retention commitments in this DPA.
4.5 Data Subject Rights
The Processor shall assist the Controller in fulfilling obligations to respond to Data Subject requests under GDPR/CCPA, including:
- Right of access (data export endpoint:
POST /api/v1/privacy/export) - Right to erasure (data deletion endpoint:
POST /api/v1/privacy/delete) - Right to rectification (profile update)
- Right to data portability (JSON export format)
4.6 Security Incident Notification
The Processor shall notify the Controller without undue delay and, where feasible, within 72 hours upon becoming aware of a Security Incident affecting Personal Data. The notification shall:
- Describe the nature of the incident
- Identify the categories and approximate number of Data Subjects concerned
- Describe the likely consequences
- Describe measures taken or proposed to address the incident
4.7 Data Protection Impact Assessment
The Processor shall provide reasonable assistance to the Controller with data protection impact assessments and prior consultations with supervisory authorities.
4.8 Deletion or Return of Data
Upon termination of the Service, the Processor shall, at the Controller’s choice:
- Return all Personal Data in a structured, commonly used, machine-readable format, or
- Delete all Personal Data, except where retention is required by law
5. Controller Obligations
The Controller warrants that:
- Processing of Personal Data is lawful under applicable data protection laws
- It has provided all necessary notices and obtained all required consents from Data Subjects
- Its instructions to the Processor comply with applicable law
- It has conducted its own assessment of the Processor’s security measures
6. International Data Transfers
6.1 Transfer Mechanism
For transfers of Personal Data from the EEA, UK, or Switzerland to the United States, the parties rely on the EU Standard Contractual Clauses (SCCs), Module Two (Controller-to-Processor), as incorporated by reference.
6.2 SCC Details
- Commission Implementing Decision (EU) 2021/914 of 4 June 2021
- Module Two: Transfer Controller to Processor
- Governing law: Ireland (Clause 17)
- Dispute resolution: Courts of Ireland (Clause 18)
7. CCPA/CPRA Service Provider Addendum
If the Controller is a “Business” under CCPA/CPRA and shares Personal Information with ESXPress:
- ESXPress acts as a “Service Provider” under CCPA
- ESXPress shall not “sell” or “share” Personal Information
- ESXPress shall not retain, use, or disclose Personal Information for any purpose other than providing the Service
- ESXPress shall not combine Personal Information received from the Controller with personal information from other sources
- ESXPress certifies that it understands and will comply with these restrictions
8. Audit Rights
8.1 Documentation
The Processor makes available to the Controller all information necessary to demonstrate compliance with this DPA, including security documentation, self-assessments, and audit logs. A formal SOC 2 attestation is not currently available; the Processor’s most recent security self-assessment can be provided on request.
8.2 On-Site Audits
Upon reasonable notice (minimum 30 days) and no more than once per year, the Controller or its authorized auditor may conduct an on-site audit of the Processor’s data processing facilities, subject to:
- Confidentiality obligations
- Minimization of business disruption
- Controller bearing the costs of the audit
- Scope limited to Personal Data processing
Alternative: The Processor may provide an independent security assessment, or a third-party audit report if one becomes available, in lieu of an on-site audit.
9. Liability
Each party’s liability arising out of or related to this DPA shall be subject to the limitations and exclusions set forth in the Terms of Service. Nothing in this DPA limits either party’s liability for:
- Breach of data protection obligations resulting in fines by supervisory authorities
- Damages claimed by Data Subjects for violation of their data protection rights
10. Term & Termination
This DPA remains in effect as long as the Processor processes Personal Data on behalf of the Controller under the Terms of Service. Provisions that by their nature should survive termination shall survive.
11. Governing Law
This DPA is governed by the law specified in the Terms of Service, except that data protection provisions for EEA/UK Data Subjects are governed by the laws of the Data Subject’s jurisdiction and the SCCs.
Execution
This DPA is entered into by the parties’ acceptance of the Terms of Service or by separate written agreement.
Off By Two LLC, d/b/a ESXPress
Email: hello@esxpress.org
Phone: (918) 9-PDF-ESX · (918) 973-3379
Website: https://esxpress.org