YARDtwin uses essential cookies for authentication and session management. With your consent we also set optional marketing cookies (LinkedIn Insight Tag) on our public website pages only — never inside the application, and never without your opt-in. We set no analytics cookies. Read our Privacy Policy, GDPR Policy, and Cookie Policy.
How we protect customer data, keep the platform available, and support compliance with EU GMP Annex 11, 21 CFR Part 11 and the GDPR.
YARDtwin runs on Microsoft Azure with Norway East compute and Sweden Central for data, registry and secrets. Customer data is stored in the EU/EEA; the limited transfers to sub-processors outside the EEA are listed below and covered by Standard Contractual Clauses.
| Control | Implementation | Status |
|---|---|---|
| TLS | TLS 1.2 minimum, TLS 1.3 preferred (Azure Front Door); HSTS preload | Verified |
| WAF | Azure Front Door WAF — Prevention mode, custom rate-limit rules, no managed rule set | Active |
| HSTS | 2-year max-age with preload | Verified |
| HTTPS-only | App Service enforced | Verified |
| DB firewall | Azure-only + admin IP allowlist | Verified |
| Control | Implementation | Status |
|---|---|---|
| Password policy | 12+ characters with upper-case, lower-case and a number; account lockout after repeated failures | Enforced |
| Breach check | Every password a user sets or changes is checked against a public list of passwords exposed in data breaches, using k-anonymity: only the first 5 characters of the password’s hash leave our servers. If the list cannot be reached within 2 seconds, the password is accepted (the check fails open). On by default; an organisation administrator can switch it off. | Active |
| MFA | TOTP (Google/Microsoft Authenticator) | Available |
| SSO/SAML | SAML 2.0 (Azure AD, Okta, Google Workspace) | Active |
| Brute force | 5 attempts, 15-min lockout (429) | Active |
| JWT tokens | 1-hour access token; 7-day rolling refresh token with a 30-day absolute limit | Active |
| RBAC | Role-based permissions with route-level enforcement | Active |
| Tenant isolation | Every query filtered by tenant_id | Verified |
| Control | Implementation | Status |
|---|---|---|
| Encryption at rest | Azure PostgreSQL AES-256 | Active |
| Encryption in transit | TLS 1.2 minimum, TLS 1.3 preferred (Azure Front Door); HSTS preload | Active |
| Password hashing | bcrypt (12 rounds) | Active |
| Parameterized SQL | Placeholder parameters for request values; SAST scan on every pull request | Active |
| Secrets | Azure Key Vault | Active |
| Audit trail | Append-only; designed to support ALCOA+ data integrity | Active |
Customer data is hosted in Microsoft Azure regions in the EU/EEA — Norway East (application, storage) and Sweden Central (database, secrets). Norway is an EEA state in which the GDPR applies, so this is an intra-EEA arrangement requiring no Chapter V transfer mechanism. Creation of resources outside the approved regions is blocked at the platform level by an Azure Policy “Deny” assignment, so customer data cannot be provisioned outside the EU/EEA. Some features send data to the sub-processors listed below (and at /subprocessors), including some outside the EEA — for example Anthropic in the US for AI features, and e-mail delivery — under EU Standard Contractual Clauses (and the EU-US Data Privacy Framework where the recipient is certified); only the minimum data necessary is sent.
YARDtwin uses a small, vetted set of sub-processors to deliver the service. Each is bound by a Data Processing Agreement. We maintain this register and notify customers of material changes in line with GDPR Article 28.
| Provider | Purpose | Location | Transfer safeguard |
|---|---|---|---|
| Microsoft Azure | Hosting, database and file storage | EEA — Sweden Central and Norway East (geo-redundant copy of uploaded files in Norway West) | Microsoft Products and Services DPA; data stays in the EEA |
| Anthropic | AI reading of driver licences and documents (on by default; a site administrator can switch it off), one-to-one comparison of a driver’s gate photo with the licence or stored driver photo (off by default; a site administrator can switch it on or off), and the in-app assistant | USA | Standard Contractual Clauses and a transfer impact assessment (not certified under the EU-US Data Privacy Framework); API data is not used for model training and is deleted within 30 days under Anthropic’s standard commercial terms |
| Resend | Transactional e-mail | USA | Standard Contractual Clauses (its EU-US Data Privacy Framework re-certification is under review) |
| Stripe | Billing contact and payment data (YARDtwin stores no card numbers) | EU / USA | Standard Contractual Clauses; PCI DSS Level 1 |
| Twilio | SMS and WhatsApp notifications (only if the customer enables them) | USA | Standard Contractual Clauses |
| Google and Microsoft | Sign-in identity data (only if the customer uses those sign-in options) | EU / USA | Standard Contractual Clauses / EU-US Data Privacy Framework |
| ElevenLabs | Optional text-to-speech: voices the in-app assistant’s replies, which can contain operational details such as vehicle registrations, and the voice on public pages | USA | EU-US Data Privacy Framework + Standard Contractual Clauses |
These run on the public website only. They receive no customer operational data and are not sub-processors of it; any that set cookies load only with consent.
| Provider | Purpose | Location | Transfer safeguard |
|---|---|---|---|
| LinkedIn Insight Tag | Marketing measurement on public pages — loads only after marketing-cookie consent, never inside the application or for signed-in users | EU / USA | Consent; LinkedIn DPA with Standard Contractual Clauses |
YARDtwin uses AI to read driver licences and shipping documents (OCR), to compare a driver’s gate photo one-to-one with the licence or stored driver photo where a site turns this on, to power the in-app assistant, and to generate voice guidance. AI processing is assistive: its output is presented to a person — at a staffed gate, for example, a gate operator confirms each check-in. Where a site turns on automatic check-in from its number-plate cameras or an unmanned gate, a truck whose booking matches cleanly is checked in without a gate operator, and anything else is passed to gate staff. YARDtwin does not make automated decisions producing legal or similarly significant effects on individuals (GDPR Article 22).
Strict CSP with per-request nonces on scripts (no unsafe-inline). Full set of security headers returned on every response: HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy, Cross-Origin-Resource-Policy.
No third-party penetration test has been carried out yet; an independent test is planned before the first enterprise go-live. An internal white-box code audit was completed in October 2026 and all Critical findings were fixed.
Functional security testing on 11 April 2026 covering 1,890+ API calls across 270 appointments: 0 failures.
We welcome reports from security researchers. Email admin@yardtwin.comwith a description of the finding and steps to reproduce. We acknowledge receipt within 2 business days and aim to patch critical issues within 7 days. Please do not publicly disclose vulnerabilities before we have had a chance to remediate.
Questions about personal data, the DPA, sub-processors or data-subject rights go to dpo@yardtwin.com. This is a role mailbox monitored by the person responsible for data protection at YARDtwin Ltd. YARDtwin has not designated a statutory Data Protection Officer under GDPR Article 37, which is not mandatory for its processing; we publish the contact address rather than an individual's name. Data-subject requests can also be submitted through the DSAR portal. /data-request
Last updated: October 2026 · yardtwin.com