Data Processing Agreement

Effective: March 2026

This Data Processing Agreement ("DPA") forms part of the agreement between the Customer and Byte8 Ltd ("Cargoman") for the provision of the Cargoman private Composer registry service. This DPA sets out the terms on which Cargoman processes personal data on behalf of the Customer in compliance with applicable data protection legislation, including the UK GDPR, EU GDPR, and the Data Protection Act 2018.

1. Definitions

Data Controller: The Customer, who determines the purposes and means of processing personal data through the use of the Cargoman service.
Data Processor: Byte8 Ltd, trading as Cargoman (Companies House: 16334175), which processes personal data on behalf of the Customer.
Data Subject: An identified or identifiable natural person whose personal data is processed through the Cargoman service.
Sub-processor: A third-party processor engaged by Cargoman to process personal data on behalf of the Customer. The current list of sub-processors is maintained at cargoman.io/legal/subprocessors.
Personal Data: Any information relating to an identified or identifiable natural person, as defined by applicable data protection law.
Processing: Any operation or set of operations performed on personal data, whether or not by automated means, including collection, recording, organisation, structuring, storage, adaptation, alteration, retrieval, consultation, use, disclosure, dissemination, restriction, erasure, or destruction.

2. Scope and Purpose

This DPA applies to the processing of personal data by Cargoman on behalf of the Customer in connection with the provision of the Cargoman private Composer registry service.

Categories of data processed:
  • Account data (name, email address, organisation name)
  • Package metadata (package names, version numbers, author information)
  • Usage logs (API requests, download records, timestamps)
  • Technical data (IP addresses, user agent strings, authentication tokens)
Purpose: Providing the Cargoman private Composer registry service, including package hosting, distribution, access control, and related administrative functions.
Duration: Processing shall continue for the duration of the service term plus 30 days following termination to allow for data export and deletion.

3. Processor Obligations

Cargoman shall:

  • Process personal data only on the Customer's documented instructions, unless required to do so by applicable law, in which case Cargoman shall inform the Customer of that legal requirement before processing (unless prohibited by law)
  • Ensure that all personnel authorised to process personal data are bound by appropriate confidentiality obligations
  • Implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk of processing
  • Assist the Customer in responding to Data Subject requests within 15 business days of receiving notice of such a request
  • On termination of the service, delete or return all personal data to the Customer, at the Customer's choice, and delete existing copies unless applicable law requires retention
  • Make available to the Customer all information necessary to demonstrate compliance with the obligations set out in this DPA, and allow for and contribute to audits and inspections conducted by the Customer or an auditor mandated by the Customer, with reasonable notice and no more than once per year

4. Sub-Processing

The current list of sub-processors is available at cargoman.io/legal/subprocessors.

Cargoman shall provide the Customer with at least 30 days' written notice before engaging any new sub-processor. The Customer may object to the engagement of a new sub-processor in writing within 14 days of receiving such notice.

If the Customer objects and no reasonable resolution can be reached, the Customer may terminate the affected services without penalty by providing written notice within 30 days of the original notification.

Cargoman remains fully liable for the acts and omissions of its sub-processors as if they were the acts and omissions of Cargoman itself.

5. Security Measures

Technical measures:
  • Encryption in transit (TLS 1.3)
  • Encryption at rest (AES-256)
  • Password hashing (Argon2)
  • Access token hashing (SHA-256)
  • Role-based access controls (RBAC)
  • Network segmentation
  • Regular vulnerability assessments
Organisational measures:
  • Staff confidentiality agreements
  • Security awareness training
  • Access limited to need-to-know basis
  • Incident response procedures

6. Data Breach Notification

In the event of a personal data breach, Cargoman shall notify the Customer without undue delay and no later than 72 hours after becoming aware of the breach. The notification shall include:

  • The nature of the personal data breach
  • The categories and approximate number of Data Subjects affected
  • The approximate number of personal data records concerned
  • The likely consequences of the breach
  • The measures taken or proposed to address the breach and mitigate its effects

Cargoman shall cooperate with the Customer in fulfilling the Customer's obligations under Articles 33 and 34 of the GDPR, including notification to supervisory authorities and communication to Data Subjects where required.

7. International Transfers

Primary processing location: Germany (EU), Hetzner data centres in Falkenstein and Nuremberg.

Where personal data is transferred outside the European Economic Area or the United Kingdom, Cargoman ensures appropriate safeguards are in place:

  • EU-US transfers: EU-US Data Privacy Framework certification where applicable
  • Standard Contractual Clauses (EU SCCs) as approved by the European Commission for all other transfers
  • UK International Data Transfer Agreement (IDTA) where required for transfers from the United Kingdom

8. Data Subject Rights

Cargoman shall assist the Customer in responding to requests from Data Subjects exercising their rights under applicable data protection law, including rights of access, rectification, erasure, restriction, portability, and objection.

If Cargoman receives a request directly from a Data Subject, Cargoman shall promptly notify the Customer and shall not respond to the request without the Customer's prior written instructions, unless required by applicable law.

Cargoman shall respond to the Customer's instructions regarding Data Subject requests within 15 business days.

Exception: Immutable version control data, such as composer.json author information and git commit metadata, cannot be deleted as doing so would compromise software supply chain integrity and the reproducibility of package builds. This exception is limited to metadata that is integral to the functioning of the Composer package ecosystem.

9. Return and Deletion

Upon termination of the service agreement, the Customer may request a full export of their personal data in JSON format within 30 days of termination.

After the 30-day export period, Cargoman shall delete all Customer personal data, except where retention is required by applicable law (for example, payment records retained for tax compliance purposes).

Deletion shall include:

  • Database records
  • Stored packages
  • Logs
  • Backups (within 90 days of the deletion request)

10. Liability

Each party's liability under this DPA is subject to the limitations and exclusions of liability set out in the Terms of Service.

Nothing in this DPA limits either party's liability for breaches of applicable data protection law to the extent such liability cannot be limited under that law.

11. Governing Law

This DPA is governed by the laws of England and Wales.

For Data Subjects located in the European Union, the EU General Data Protection Regulation (EU GDPR) applies as mandatory law regardless of the governing law of this DPA.

For Data Subjects located in the United Kingdom, the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018 apply.

12. Amendments

This DPA may be updated from time to time to reflect changes in data protection law, regulatory guidance, or our processing activities.

Cargoman shall provide at least 30 days' written notice of any material changes to this DPA. Continued use of the service after such changes take effect constitutes acceptance of the updated DPA.

Contact

For questions about this Data Processing Agreement, please contact us:

Byte8 Ltd
Companies House: 16334175
London, United Kingdom
Email: [email protected]