Data Processing Agreement
The UK GDPR and EU GDPR Article 28 data processing agreement for SrvYard customers: roles, instructions, security measures, sub-processors, international transfers, breach notification, audits and deletion.
- Operator
- Spykra Technologies UK Ltd
- Registered
- England & Wales, No. 14554019
- Governing law
- England and Wales
- Contact
- [email protected]
Version: 1.0 · Effective: 24 October 2026 · Last updated: 24 October 2026
This Data Processing Agreement ("DPA") is part of the Terms of Service between Spykra Technologies UK Ltd ("Spykra", "we", "us", the Processor) and the customer that accepts them (the "Customer", the Controller). It sets out the terms on which Spykra processes personal data on the Customer's behalf when it provides SrvYard, as Article 28 of the UK GDPR and of the EU GDPR require. It applies automatically from the moment the Customer starts using the service, and no separate signature is needed. A signed copy is available on request from [email protected].
Parties and roles
- Customer as controller. For personal data contained in or arising from the Customer's servers, sites, databases, cloud and Git accounts, deployments, logs, tickets and organisation settings ("Customer Personal Data"), the Customer is the controller (or, where it acts for its own clients, a processor, and Spykra is then its sub-processor on the same terms).
- Spykra as processor. Spykra processes Customer Personal Data only on the Customer's behalf and on its documented instructions, to provide SrvYard.
- Spykra as controller. This DPA does not cover personal data for which Spykra is itself the controller: the data of the Customer's account holders and members that Spykra uses to run accounts, take payment (billing data held with Stripe), secure the service and communicate with them, and the data on the public website. That processing is described in the Privacy Policy.
- Governing documents. This DPA is incorporated into the Terms of Service. If it conflicts with the Terms on the processing of personal data, this DPA prevails. Annexes I to III are part of it.
- Applicable law. It applies to processing under the UK GDPR and the Data Protection Act 2018, and, where it applies to the Customer, the EU GDPR. "Data protection law" means those laws as amended. Terms such as "controller", "processor", "personal data", "processing", "data subject" and "personal data breach" have the meanings those laws give them.
Subject matter, duration, nature and purpose
- Subject matter. Provision of SrvYard: a control panel that connects to the Customer's servers over SSH and to its cloud providers, Git hosts, DNS and storage providers, to install, deploy, configure, monitor and back up software on them, with a REST API, webhooks, notifications, support tickets and an assistant.
- Duration. From the date the Customer starts using the service until the agreement ends and Customer Personal Data has been deleted or returned under Return and deletion.
- Nature of the processing. Receiving, storing, transmitting, displaying, encrypting and deleting data; running commands and scripts on the Customer's servers and reading their output; generating logs, metrics and notifications; and, only when the Customer uses the optional AI features, sending limited text to AI providers.
- Purpose. To provide the service the Customer asked for, to support it, to keep it secure, and to meet the Customer's documented instructions. Spykra does not process Customer Personal Data for its own purposes, does not sell it, and does not use it to train AI models.
Types of personal data and categories of data subjects
Annex I lists them in detail. In short:
- Data subjects: the Customer's members and invited people; the Customer's own clients and staff, and visitors and users of the Customer's sites, but only to the extent their personal data appears in what the service handles (for example in deployment logs, error output, ticket text or the output of commands); and people named in tickets or chat messages the Customer writes.
- Types of data: names, email addresses, IP addresses and technical identifiers; credentials and tokens the Customer provides (secrets, treated as confidential data); log and diagnostic output; and any personal data the Customer chooses to put in tickets, chat or attachments.
The Customer's site files and databases stay on its servers. SrvYard does not copy the content of the Customer's databases or files to its own systems: backups are made on the Customer's server and sent to storage the Customer supplies. The service is not designed for special category data or criminal-offence data, and the Customer should not send such data to Spykra in tickets or chat.
Controller's instructions
- Spykra processes Customer Personal Data only on the Customer's documented instructions. The Terms, this DPA, the Documentation, and what the Customer configures or requests in the console and the API are its complete instructions at the start.
- Further instructions need to be consistent with the service. If Spykra thinks an instruction infringes data protection law, it tells the Customer without delay and may suspend the instruction until the Customer confirms or changes it.
- Spykra processes the data outside the instructions only where the law requires it, and then tells the Customer first unless the law forbids that.
- The Customer is responsible for having a lawful basis for its processing, for the lawfulness of what it puts into the service, and for telling its own data subjects what they are entitled to be told.
Confidentiality
Spykra ensures that everyone it authorises to process Customer Personal Data is bound by a duty of confidentiality (by contract or by law), receives access only as far as their job needs, and can be identified in the audit trail. Staff access to a customer account is limited to named staff, is recorded with the staff member's name, and by default starts read-only (see Annex II).
Security
Taking account of the state of the art, the costs, the nature, scope, context and purposes of the processing and the risk to individuals, Spykra implements the technical and organisational measures in Annex II and keeps them appropriate to the risk. Spykra may update them over time, as long as it does not materially reduce the overall level of protection.
Sub-processors
- General authorisation. The Customer authorises Spykra to use the sub-processors in Annex III.
- Changes. Spykra will tell the Customer of any intended addition or replacement of a sub-processor at least 30 days before it starts processing Customer Personal Data, by email to the address on the account and by updating Annex III. The Customer may object on reasonable data protection grounds within that period. The parties will work in good faith to resolve the objection. If it cannot be resolved, the Customer may end the affected service on written notice, and Spykra will refund the unused part of any prepaid fee for it.
- Flow-down. Spykra uses a written contract with each sub-processor that imposes data protection obligations no less protective than this DPA, and remains liable to the Customer for the sub-processor's performance as it is for its own.
- Not sub-processors. The cloud, DNS, Git, storage and notification providers that the Customer connects are chosen by the Customer. SrvYard acts on them on the Customer's instruction, with the Customer's credentials, and they are not Spykra's sub-processors.
International transfers
-
Spykra stores platform data in data centres in the UK and EU, and will not move it outside the UK and EEA except as this DPA allows.
-
The Customer's own data may be in any country the Customer chooses to provision servers in. That is the Customer's decision, not a transfer by Spykra.
-
Spykra's sub-processors for optional AI features, Anthropic and OpenAI, are in the United States. Stripe and Cloudflare operate globally. For a restricted transfer of Customer Personal Data to a sub-processor outside the UK and EEA, Spykra uses one of these mechanisms, as the law requires:
- the UK International Data Transfer Agreement, or the UK Addendum to the EU Standard Contractual Clauses, for transfers governed by the UK GDPR;
- the EU Standard Contractual Clauses (Decision (EU) 2021/914, Module Three, processor to processor) for transfers governed by the EU GDPR; and
- together with a transfer risk assessment and supplementary measures where needed (for example, the secrets removal and minimisation described in Annex II).
The UK-US and EU-US data bridges under the Data Privacy Framework are available only as an additional mechanism and only where a sub-processor participates in them. Spykra does not state that any sub-processor participates unless it has checked.
-
Transfers from the Customer in the EEA to Spykra in the UK rely on the EU's adequacy decision for the UK. If it ceases to apply, the EU Standard Contractual Clauses, Module Two (controller to processor), are incorporated by reference, with the choices in the paragraph below, and the parties will sign them if asked.
-
Choices for the Standard Contractual Clauses. Clause 7 (docking) applies; in Clause 9, Option 2 (general authorisation) with a 30-day period; in Clause 11 the optional redress body does not apply; in Clause 17 and Clause 18 the law and courts of Ireland. The competent supervisory authority is that of the Customer's EU member state. Annex I to III of this DPA are the annexes of the Clauses.
Assistance
- Data subject requests. If a data subject writes to Spykra about Customer Personal Data, Spykra does not answer on its own behalf (unless the law requires) and forwards the request to the Customer without undue delay. Taking account of the nature of the processing, Spykra helps the Customer respond, by appropriate technical and organisational measures. The console and API already allow the Customer to export, correct and delete most data itself. Where it cannot, Spykra helps within a reasonable time, normally within 10 working days.
- Security, DPIAs and consultation. Taking account of the nature of the processing and the information it has, Spykra assists the Customer with its obligations on security of processing, breach notification, data protection impact assessments and prior consultation of a regulator.
- Costs. Assistance that the service provides as a feature is included. Spykra may charge reasonable costs for substantial extra assistance that goes beyond that, if it tells the Customer first.
Personal data breach
- Spykra notifies the Customer without undue delay and in any case within 72 hours after becoming aware of a personal data breach affecting Customer Personal Data, and aims to do so much sooner for a breach that is likely to put individuals at high risk.
- The notice goes by email to the account owner and, for a serious incident, other contacts the Customer has given. It describes, as far as then known: the nature of the breach and the categories and approximate numbers of data subjects and records; the likely consequences; what Spykra has done and will do; and a contact for more information. Spykra may provide the information in phases.
- Spykra takes reasonable steps to contain and investigate the breach, to limit harm and to prevent a repeat, and keeps a record of breaches. It does not notify a supervisory authority or data subjects of a breach affecting Customer Personal Data on the Customer's behalf unless the law or the Customer requires it; deciding whether and how to notify is the Customer's responsibility as controller.
- A notice or a step taken under this clause is not an admission of fault or liability.
Audits
- Spykra makes available to the Customer the information necessary to show that it complies with Article 28, including this DPA, the Security page, the Documentation and answers to reasonable written security questionnaires, no more than once a year.
- If that does not satisfy the Customer, or a supervisory authority requires it, or a personal data breach has occurred, the Customer (or an independent auditor bound by confidentiality, that is not a competitor of Spykra) may audit Spykra's compliance on at least 30 days' written notice, during working hours, no more than once a year (except after a breach or where a regulator demands it), without interfering unreasonably with the business, and subject to Spykra's confidentiality and security rules. The scope is agreed beforehand. The Customer pays the cost of the audit.
- Spykra has not been audited or certified against a security standard (such as ISO 27001 or SOC 2) and does not claim to be. The information provided under this clause describes how the service is built and run.
Return and deletion
- While the agreement lasts, the Customer can export and delete much of its data itself: a personal data export, organisation configuration exports (with or without secrets), the REST API, and deletion of servers, sites, organisations and its account.
- When the agreement ends, Spykra stops connecting to the Customer's servers. Within 30 days of the Customer's written request after termination, Spykra deletes the Customer Personal Data it holds, or returns it in a structured, commonly used, machine-readable format if the Customer asks before deletion. If the Customer makes no request, Spykra deletes it when the organisation is deleted and in any case on the retention cycle in the Privacy Policy.
- Copies in backups of the platform are removed on their normal rotation and are not used for any other purpose in the meantime.
- Spykra may keep personal data where the law requires it (for example, accounting records), and only for as long, and then it protects it under this DPA.
- The Customer must itself revoke tokens, keys and access it gave to SrvYard at its cloud, Git, DNS and storage providers and on its servers; Spykra cannot do this on the Customer's behalf once the agreement has ended.
Liability
Each party's liability under this DPA is subject to the limitations and exclusions in the Terms of Service, and amounts paid under this DPA count towards the same cap. Nothing in this DPA limits liability that cannot lawfully be limited, or a data subject's rights against either party under Article 82 of the UK GDPR or EU GDPR, or the rights of data subjects under the Standard Contractual Clauses.
Term, changes and general
- This DPA lasts as long as Spykra processes Customer Personal Data for the Customer.
- Spykra may update this DPA, and Annex III by the notice above, if the change is needed because of a change in the law or in the service. Material changes are notified with 30 days' notice as the Terms of Service describe. A new version number and effective date will appear at the top.
- This DPA is governed by the law of England and Wales, and its courts have jurisdiction, except where the Standard Contractual Clauses require otherwise.
- If part of it is unenforceable, the rest stays in force.
Annex I: Details of processing
| Item | Details |
|---|---|
| Controller (data exporter) | The Customer: the person or organisation that created the account. Contact: the account owner's email address. |
| Processor (data importer) | Spykra Technologies UK Ltd, 86–90 Paul Street, London, England, EC2A 4NE, United Kingdom, registered in England & Wales No. 14554019. Contact: [email protected]. No data protection officer is appointed. |
| Subject matter | Provision of SrvYard, a server control panel. |
| Nature of processing | Storage, transmission, display, encryption, deletion; running commands on the Customer's servers over SSH and reading their output; logging; notification; limited text submission to AI providers for features the Customer enables or uses. |
| Purpose | To provide, secure and support the service as the Customer instructs. |
| Categories of data subjects | The Customer's members and invitees; the Customer's staff and clients; users and visitors of the Customer's sites (incidentally, where their data appears in logs, errors, ticket text or command output). |
| Categories of personal data | Name, email address, IP address, user agent, account and role identifiers; sign-in and audit records of the Customer's members; site names, domains and server addresses; credentials and tokens supplied by the Customer (encrypted); deployment, command and error logs (known secrets masked); ticket and chat text and attachments; any other personal data the Customer chooses to submit. |
| Special category data | None intended. The Customer must not submit it. |
| Frequency | Continuous, for the term of the agreement. |
| Retention | As set out in the Privacy Policy and under Return and deletion above. |
| Sub-processor processing | Subject matter, nature and duration are as in Annex III. |
| Competent supervisory authority | For the UK GDPR: the Information Commissioner's Office. For the EU GDPR: the authority of the Customer's EU member state. |
Annex II: Security measures
Each measure below is a feature of the software, as it behaves today. They are also explained, with links to the documentation, on the Security page.
Access control and authentication
| Measure | Detail |
|---|---|
| Password storage | Account passwords are hashed with bcrypt and never stored in a readable form. |
| Two-factor authentication | Time-based one-time passwords with recovery codes, switched on only after a working code is entered. An organisation owner can require it for every member; a member without it can open only their security settings. |
| Passkeys | WebAuthn sign-in with a fingerprint, face scan or device PIN, one per device. |
| Sign-in protection | Sign-in is limited to five attempts a minute per email address and IP address; two-factor, passkey, registration and password reset endpoints have their own limits. Email sign-in codes expire after 10 minutes. |
| Sessions | Each browser session is listed with its IP address and last activity and can be ended. Sessions expire after 120 minutes of inactivity. |
| Roles and permissions | Five built-in roles (Owner, Admin, Manager, Developer, Viewer) over a catalogue of permissions, custom roles and teams on the Business plan, and least-privilege defaults. |
| Organisation isolation | Every record belongs to one organisation, and queries are scoped to it. A request for another organisation's record behaves as if it does not exist. |
| API tokens | Bearer tokens bound to one organisation, with scopes that cannot exceed the role of the creator. Only a hash of the token is stored. |
Encryption and secrets
| Measure | Detail |
|---|---|
| Encryption in transit | The console, API and documentation are served over HTTPS with HTTP Strict Transport Security in production. |
| Encryption at rest of secrets | Server SSH private keys, cloud provider and DNS tokens, Git host credentials, storage provider keys, backup passphrases, site environment files, database user passwords, certificate private keys, webhook secrets and notification channel settings, package and registry credentials, social sign-in tokens and migration import credentials are stored with application-level encryption and decrypted only inside the job that needs them. The console shows a hint, never the value. |
| One-time credentials | The sudo and database administrator passwords SrvYard generates on a server are handed over through a one-time download. The stored copy is encrypted, expires after 24 hours by default and is emptied by the first download. |
| Webhook signing | Outgoing webhooks carry an HMAC-SHA256 signature over a timestamp and the raw body. Secret rotation has a 24-hour grace period. |
| Backup encryption | File backups can be encrypted with a passphrase (AES-256) before they leave the server. Configuration exports with secrets are sealed under a passphrase the Customer chooses (minimum 12 characters). |
| Secret masking | Command and deployment output is scrubbed as it is written: values known to be secret are masked before a line is stored. Data sent to AI providers is scrubbed of secrets first and never includes environment values. |
Network and application
| Measure | Detail |
|---|---|
| Rate limiting | API tokens are limited to 60 requests a minute and heavy operations to 10 a minute; public endpoints and the documentation chat have their own limits. |
| Response headers | X-Content-Type-Options, X-Frame-Options: DENY, a strict referrer policy, a restrictive permissions policy and Cross-Origin-Opener-Policy. A Content Security Policy is sent in report-only mode while it is tightened. |
| Server access | A separate SSH key pair for each server; after first setup SrvYard connects as its own srvyard user, not root. The firewall is set to deny incoming traffic except SSH, HTTP and HTTPS. Changes of a server's SSH host key are detected and block connections until reset. |
| Spam and abuse | Forms use honeypot fields and rate limits. |
Logging, audit and staff access
| Measure | Detail |
|---|---|
| Audit log | Sensitive changes are recorded with the member, the time and the IP address. A change made with an API token carries the token's name. Sign-in attempts, including failures, are recorded. |
| Staff access | The staff panel is separate from customer accounts. By default it requires two-factor authentication, ends sessions after 30 minutes idle or 8 hours in total, supports an IP allow-list, and starts any impersonation of a customer read-only, with a written reason, ending automatically after 60 minutes. Staff actions on behalf of a customer carry the staff member's name in the audit log. |
| Activity feed | Changes to servers and sites are recorded in an activity feed kept for 14 days. |
Organisational measures
| Measure | Detail |
|---|---|
| Confidentiality | Everyone with access is bound by confidentiality and gets access only as far as the work needs. |
| Incident handling | Breaches are assessed and recorded; the Customer is notified as the DPA states. |
| Vulnerability disclosure | A published disclosure process and a security.txt file on the website. |
| Data minimisation | The service does not copy the content of the Customer's databases or files to its own systems, and sends AI providers only limited, scrubbed text for features that need it. |
| Sub-processors | Chosen with care and bound by written data protection terms. |
The measures protect the data held by SrvYard. Securing the Customer's servers, applications and data is the Customer's responsibility.
Annex III: Sub-processors
The Customer authorises these sub-processors of Customer Personal Data. The list is current as at the effective date at the top of this page.
| Sub-processor | What it does | Customer Personal Data it receives | Location |
|---|---|---|---|
| Hosting provider (infrastructure and storage for the SrvYard platform) | Runs the application, databases, queues and storage | All data the platform stores | Data centres in the UK or EU |
| Email delivery provider | Sends transactional email | Recipient addresses and the content of emails | UK or EU |
| Anthropic | Language-model provider for the documentation chat assistant and, if enabled, deployment failure explanations | Questions typed into the chat (secrets removed) and conversation history; for signed-in users, names and status of the account's organisations, servers, sites and recent deployments that the assistant looks up; failed-deployment output with secrets removed and no environment values | United States |
| OpenAI | Embedding provider for documentation search | Chat and search queries (secrets removed), as embeddings; public documentation text | United States |
| Cloudflare | DNS for free subdomains | Subdomain name and server public IP | Global network |
Two other providers are not sub-processors of Customer Personal Data. Stripe processes the Customer's subscription payments; that data is Account and billing data for which Spykra is the controller, as the Privacy Policy explains. iDrive e2 (object storage) holds website and documentation images and receives no personal data from Customers. The hosting and email providers can be named, with the transfer safeguards in use, by writing to [email protected].
For the optional AI features, only Customers that use the chat, enable deployment explanations (Business plan, per organisation) or use documentation search cause data to be sent to Anthropic or OpenAI.