Security, data and the supplier record
Who you contract with, where data is held, which security controls run today and which do not, and the record your DORA register needs. Gaps are listed next to what is in place.
Page reviewed on 19 October 2026. Controls were verified against the running systems on 8 August 2026 unless a row gives a later date.
1 h 25 minagainst an internal target of 8 h
Measured- Recovery point
- The restored database was about 10 hours behind production, with no files lost.
- Next drill
- Due 11 December 2026
At a glance
The six facts a supplier review asks for first. Each one links to its detail or to the register that holds it.
- Supplier
- Michal Jatczak, sole trader registered in Malta
- Trading as ITSailor. Malta VAT registered; invoices are issued in this name.
- Registration numbers and checks
- Microsoft partner
- Partner Location Account 7113951
- Microsoft Authorized Partner. Licences through Pax8 as a CSP Indirect Reseller.
- Open the partner record (opens in a new tab)
- Data location
- Core systems in Germany
- Servers, databases and backups in Falkenstein; website functions in Frankfurt. Providers outside the EEA are named.
- Sub-processors
- Security controls
- 23 of 36 measures in place
- 2 partial and 11 not in place. 5 of the in-place measures carry a stated limit.
- Read the controls
- Certification
- None held
- No ISO/IEC 27001, no SOC 2, no Cyber Essentials and no penetration test report.
- What you get instead
- Exit
- Exit Kit within 24 hours of engagement close
- Documentation, baselines, infrastructure-as-code, runbooks and a credentials map, under a Statement of Work.
- Terms, section 07
Data handling
Where personal data is held and processed, and the terms that govern it.
- Servers, databases, backups
- Hetzner, Falkenstein, Germany.
- Website functions
- Vercel, Frankfurt, Germany (fra1). Static files and request logs are served from Vercel's global edge network.
- Business email and files
- Microsoft 365, EU region.
- Short-lived tool data
- Upstash, Ireland (AWS eu-west-1): scan results for ten minutes, rate limits, sign-in state, and Tenant Security Scorecard trend scores for 180 days if you ask for them.
- Outside the EEA
- Some providers process outside the EEA, among them email delivery, AI report drafting, DNS and the tunnel, code hosting, booking and, if you accept it, analytics. Each one is named under Sub-processors with its location. Transfers rest on the Standard Contractual Clauses, and also on the EU-US Data Privacy Framework where the provider is certified.
- Connected tenants
- Every Microsoft permission a free tool requests is a read permission. One Google Workspace permission has no read-only variant; the permissions page names it and the two things we read with it. Permissions by connector
- Processor terms
- The Article 28 terms are part of the Terms of Service. They apply when an administrator connects a tenant or assigns a role, to managed automation packages, and to engagements under a Statement of Work. Terms, section 14
Sub-processors
Every provider that processes personal data on our instruction, from the same list the Privacy Policy publishes. A customer whose data we process gets at least 30 days' notice by email before a new one starts processing it.
Stripe Payments Europe Ltd.Ireland
- Purpose
- Payments. Stripe is also an independent controller for its own fraud prevention, financial risk, AML and KYC obligations and product development
- Transfers
- SCCs and Data Privacy Framework
Microsoft Ireland Operations Limited (Microsoft 365)EU
- Purpose
- Our business email and files
- Transfers
- Standard Contractual Clauses
Hetzner Online GmbHGermany
- Purpose
- Our servers, databases and backups, including the automation server that runs managed automation packages
- Transfers
- Stays in the EEA
Vercel, Inc.Functions in Frankfurt; edge network and analytics outside the EEA
- Purpose
- Website hosting, and analytics only if you accept it; the analytics is cookie-free and not used for advertising or cross-site profiling. Vercel is also an independent controller for the usage data its service generates
- Transfers
- SCCs and Data Privacy Framework
Cloudflare, Inc.Global network
- Purpose
- DNS and a secure tunnel to our servers
- Transfers
- SCCs and Data Privacy Framework
Resend (Plus Five Five, Inc.)United States
- Purpose
- Sending email: our own, and the email our managed automation packages send for a client
- Transfers
- SCCs and Data Privacy Framework
Upstash, Inc.Ireland
- Purpose
- Tool and security data: rate limits, sign-in state, scan results for up to 10 minutes, and Tenant Security Scorecard trend scores for up to 180 days
- Transfers
- Standard Contractual Clauses
GitHub, Inc.United States
- Purpose
- Private repositories for client deliverables
- Transfers
- SCCs and Data Privacy Framework
OpenAI (API)Outside the EEA
- Purpose
- Writing free-tool reports. API inputs are not used to train models
- Transfers
- Standard Contractual Clauses
Anthropic (Claude API)Outside the EEA
- Purpose
- SaaS Auditor briefs from aggregate figures, and contract extraction when you upload a contract. API inputs are not used to train models
- Transfers
- Standard Contractual Clauses
Mistral AIEU and EFTA
- Purpose
- AI steps in the managed automation packages, on its EU endpoint. Mistral is also an independent controller for the abuse monitoring its terms provide for
- Transfers
- Standard Contractual Clauses
Cal.comOutside the EEA
- Purpose
- Booking calls and workshop sessions
- Transfers
- Standard Contractual Clauses
DocRaptorOutside the EEA
- Purpose
- Producing eBook PDFs, which carry the buyer's email in the licence line
- Transfers
- Standard Contractual Clauses
| Provider | Purpose | Transfers |
|---|---|---|
| Stripe Payments Europe Ltd.Ireland | Payments. Stripe is also an independent controller for its own fraud prevention, financial risk, AML and KYC obligations and product development | SCCs and Data Privacy Framework |
| Microsoft Ireland Operations Limited (Microsoft 365)EU | Our business email and files | Standard Contractual Clauses |
| Hetzner Online GmbHGermany | Our servers, databases and backups, including the automation server that runs managed automation packages | Stays in the EEA |
| Vercel, Inc.Functions in Frankfurt; edge network and analytics outside the EEA | Website hosting, and analytics only if you accept it; the analytics is cookie-free and not used for advertising or cross-site profiling. Vercel is also an independent controller for the usage data its service generates | SCCs and Data Privacy Framework |
| Cloudflare, Inc.Global network | DNS and a secure tunnel to our servers | SCCs and Data Privacy Framework |
| Resend (Plus Five Five, Inc.)United States | Sending email: our own, and the email our managed automation packages send for a client | SCCs and Data Privacy Framework |
| Upstash, Inc.Ireland | Tool and security data: rate limits, sign-in state, scan results for up to 10 minutes, and Tenant Security Scorecard trend scores for up to 180 days | Standard Contractual Clauses |
| GitHub, Inc.United States | Private repositories for client deliverables | SCCs and Data Privacy Framework |
| OpenAI (API)Outside the EEA | Writing free-tool reports. API inputs are not used to train models | Standard Contractual Clauses |
| Anthropic (Claude API)Outside the EEA | SaaS Auditor briefs from aggregate figures, and contract extraction when you upload a contract. API inputs are not used to train models | Standard Contractual Clauses |
| Mistral AIEU and EFTA | AI steps in the managed automation packages, on its EU endpoint. Mistral is also an independent controller for the abuse monitoring its terms provide for | Standard Contractual Clauses |
| Cal.comOutside the EEA | Booking calls and workshop sessions | Standard Contractual Clauses |
| DocRaptorOutside the EEA | Producing eBook PDFs, which carry the buyer's email in the licence line | Standard Contractual Clauses |
Recipients that are not our sub-processors
- Microsoft Ireland Operations Limited (licences)
- Not our sub-processor. Licensor of the Microsoft licences you buy through us; it processes your tenant content as your provider, under its agreement with you.
- Pax8, Inc.
- Not our sub-processor. Our distributor; it receives licence order details to fulfil your order, under its own terms. Your tenant data does not reach it.
- Telegram Messenger Inc.
- Not our sub-processor. Messaging service that carries alerts and approval notices from our managed automation packages to the staff accounts that asked for them, and to us, under its own terms. It receives no personal data of a client's customers: a message carries a reference, a count or a status and a link to our own server.
Security controls
The measures Article 32 GDPR asks for, extracted from the internal record of processing with the status each one actually has. A few rows can be checked from outside and say so; the others rest on records and code that are not public, so read them as terms held in writing.
- In place
- running on the date the row gives, or on 8 August 2026 where it gives none
- Partial
- running for part of the scope
- Not in place
- not implemented, and nothing is promised by listing it
Encryption and identifiers
5 in place, 1 not in place
Transport encryption
In place
All public traffic is served over HTTPS with a strict transport security header, subdomains included and preload set: two years on this website, one year on the API and the automation service, where the network provider in front of them sets it. You can read the header on the response for this page.
GDPR Art. 32(1)(a)
Minimum TLS version
In placemeasured 20 September 2026
TLS 1.2 is the floor on every public hostname: TLS 1.0 and 1.1 handshakes were refused when measured on 20 September 2026. The setting belongs to the hosting providers, so it is measured again at every quarterly drill. You can check it by offering TLS 1.1 with an SSL client.
GDPR Art. 32(1)(a)
Identifiers before they reach a log
In place
Directory identities are replaced with a keyed one-way digest (HMAC-SHA-256 under a server key) before anything is logged. This is pseudonymisation under Article 4(5): ITSailor holds the key, so the log data remains personal data.
GDPR Art. 32(1)(a)
Short-lived tenant scan results
In place
A free-tool scan result is kept for up to ten minutes, encrypted with AES-256-GCM under a key the database provider does not hold. Without the key the scan does not start, and there is no plaintext fallback. The database runs in Ireland, inside the EEA.
GDPR Art. 32(1)(a)
Off-site backups encrypted at rest
In place
Each backup bundle is encrypted on the host before it leaves, to two keys whose private halves are not on that host: one is in a password manager, one on an offline drive. Environment files stay out of the bundle. Database dumps travel inside it, so stored credentials are carried as ciphertext and password hashes.
GDPR Art. 32(1)(a), DORA Art. 12(2)
Encryption at rest of the production database volume
Not in place
Not implemented. The databases run in containers on one server with no disk or volume encryption, so a physical or hypervisor-level compromise is not mitigated.
GDPR Art. 32(1)(a)
Encryption and identifiers
5 in place, 1 not in place
| Measure | What is the case | Answers |
|---|---|---|
| Transport encryptionIn place | All public traffic is served over HTTPS with a strict transport security header, subdomains included and preload set: two years on this website, one year on the API and the automation service, where the network provider in front of them sets it. You can read the header on the response for this page. | GDPR Art. 32(1)(a) |
| Minimum TLS versionIn placemeasured 20 September 2026 | TLS 1.2 is the floor on every public hostname: TLS 1.0 and 1.1 handshakes were refused when measured on 20 September 2026. The setting belongs to the hosting providers, so it is measured again at every quarterly drill. You can check it by offering TLS 1.1 with an SSL client. | GDPR Art. 32(1)(a) |
| Identifiers before they reach a logIn place | Directory identities are replaced with a keyed one-way digest (HMAC-SHA-256 under a server key) before anything is logged. This is pseudonymisation under Article 4(5): ITSailor holds the key, so the log data remains personal data. | GDPR Art. 32(1)(a) |
| Short-lived tenant scan resultsIn place | A free-tool scan result is kept for up to ten minutes, encrypted with AES-256-GCM under a key the database provider does not hold. Without the key the scan does not start, and there is no plaintext fallback. The database runs in Ireland, inside the EEA. | GDPR Art. 32(1)(a) |
| Off-site backups encrypted at restIn place | Each backup bundle is encrypted on the host before it leaves, to two keys whose private halves are not on that host: one is in a password manager, one on an offline drive. Environment files stay out of the bundle. Database dumps travel inside it, so stored credentials are carried as ciphertext and password hashes. | GDPR Art. 32(1)(a)DORA Art. 12(2) |
| Encryption at rest of the production database volumeNot in place | Not implemented. The databases run in containers on one server with no disk or volume encryption, so a physical or hypervisor-level compromise is not mitigated. | GDPR Art. 32(1)(a) |
Platform and detection
8 in place, 1 partial, 3 not in place
Network exposure
In place
Applications are published through an outbound-only tunnel, and no application port is reachable from the internet. SSH is the only service on the production host that accepts traffic from the internet, read off the host on 21 September 2026.
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(i)
Remote administrative access
In place
SSH by public key only, through a named non-root account. Root login and password authentication are disabled, and repeated failures from one source are banned automatically.
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(i)
Patching
In place
Operating system security updates install automatically. Restarts do not, so a kernel fix waits for a manual reboot. Application images are pinned to exact versions, so a rebuild reproduces what runs.
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(e)
Browser-side hardening
In place
Every response from this website carries a content security policy, nosniff, a frame-ancestors restriction, a referrer policy and a permissions policy. The policy allows inline script, so the defence against injected script is sanitising untrusted HTML where it is rendered. The API sends its own policy; the automation service sends nosniff only.
GDPR Art. 32(1)(b)
Abuse and brute-force control
In place
Sliding-window rate limits on sign-in, password reset, public forms, the consent record, checkout and document rendering. If the limit store is unreachable, checkout and document rendering fall back to a count kept by each server instance, and public forms are accepted without a limit.
GDPR Art. 32(1)(b)
Change control
In placeas a convention, not as an enforced control
Every change to the production website goes through a pull request with the automated gate. The gate reports and does not block: no repository ruleset or code-owner rule enforces it.
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(e)
Availability monitoring
In place
External monitors run by UptimeRobot check the API, the customer portal, this website and the automation service every five minutes and alert by email. The results are on a public status page.Open the status page
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(b)
Availability service level
Not in place
None is offered. UptimeRobot publishes the observed uptime of each monitored service on the public status page. ITSailor commits to no level and publishes no figure of its own.Open the status page
GDPR Art. 32(1)(b)
Security event detection and alerting
Not in place
No central log aggregation, no security information and event management system, and no alerting on security events. Alerts cover availability only, so a security event is found when someone looks.
GDPR Art. 32(1)(b), NIS2 Art. 21(2)(b)
Backup state alerting
In place
An external monitor expects every scheduled backup run: a failure, or a run that never starts, raises an email alert. A forced failure proved the alarm on 28 August 2026. The alert reaches one person, and the credential that reports health sits on the production host, so a compromise of that host could report a healthy run that did not happen.
GDPR Art. 32(1)(b), DORA Art. 12(2)
Server-side logging
Partial
Structured logging with stable event names exists through a shared module. Most server logging is still plain console output.
GDPR Art. 32(1)(b)
Log integrity
Not in place
No write-once or tamper-evident log storage is operated.
GDPR Art. 32(1)(b)
Platform and detection
8 in place, 1 partial, 3 not in place
| Measure | What is the case | Answers |
|---|---|---|
| Network exposureIn place | Applications are published through an outbound-only tunnel, and no application port is reachable from the internet. SSH is the only service on the production host that accepts traffic from the internet, read off the host on 21 September 2026. | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(i) |
| Remote administrative accessIn place | SSH by public key only, through a named non-root account. Root login and password authentication are disabled, and repeated failures from one source are banned automatically. | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(i) |
| PatchingIn place | Operating system security updates install automatically. Restarts do not, so a kernel fix waits for a manual reboot. Application images are pinned to exact versions, so a rebuild reproduces what runs. | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(e) |
| Browser-side hardeningIn place | Every response from this website carries a content security policy, nosniff, a frame-ancestors restriction, a referrer policy and a permissions policy. The policy allows inline script, so the defence against injected script is sanitising untrusted HTML where it is rendered. The API sends its own policy; the automation service sends nosniff only. | GDPR Art. 32(1)(b) |
| Abuse and brute-force controlIn place | Sliding-window rate limits on sign-in, password reset, public forms, the consent record, checkout and document rendering. If the limit store is unreachable, checkout and document rendering fall back to a count kept by each server instance, and public forms are accepted without a limit. | GDPR Art. 32(1)(b) |
| Change controlIn placeas a convention, not as an enforced control | Every change to the production website goes through a pull request with the automated gate. The gate reports and does not block: no repository ruleset or code-owner rule enforces it. | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(e) |
| Availability monitoringIn place | External monitors run by UptimeRobot check the API, the customer portal, this website and the automation service every five minutes and alert by email. The results are on a public status page.Open the status page | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(b) |
| Availability service levelNot in place | None is offered. UptimeRobot publishes the observed uptime of each monitored service on the public status page. ITSailor commits to no level and publishes no figure of its own.Open the status page | GDPR Art. 32(1)(b) |
| Security event detection and alertingNot in place | No central log aggregation, no security information and event management system, and no alerting on security events. Alerts cover availability only, so a security event is found when someone looks. | GDPR Art. 32(1)(b)NIS2 Art. 21(2)(b) |
| Backup state alertingIn place | An external monitor expects every scheduled backup run: a failure, or a run that never starts, raises an email alert. A forced failure proved the alarm on 28 August 2026. The alert reaches one person, and the credential that reports health sits on the production host, so a compromise of that host could report a healthy run that did not happen. | GDPR Art. 32(1)(b)DORA Art. 12(2) |
| Server-side loggingPartial | Structured logging with stable event names exists through a shared module. Most server logging is still plain console output. | GDPR Art. 32(1)(b) |
| Log integrityNot in place | No write-once or tamper-evident log storage is operated. | GDPR Art. 32(1)(b) |
Backup and restore
3 in place, 3 not in place
Automated twice daily backup
In place
At 03:00 and 15:00 Malta time both production databases, the uploads and the automation data are bundled and shipped off-site to a storage box in Falkenstein, Germany. A bundle from this schedule was restored onto a replacement machine on 20 September 2026.
GDPR Art. 32(1)(c), DORA Art. 12(1)(a)
A copy the production host cannot delete
In place
Daily provider-side snapshots, which the production host holds no credential to create, change or delete. Tested on 11 August 2026: a file deleted by the backup identity was recovered from a snapshot with a matching digest. The recovery window is bounded by the number of snapshot slots.
GDPR Art. 32(1)(c), DORA Art. 12(3)
Documented restore procedure
In place
A restore script and a step-by-step procedure exist, from stopping the services to checking that both health endpoints answer.
GDPR Art. 32(1)(c), DORA Art. 12(1)(b)
Geographic separation of the off-site copy
Not in place
The off-site copy is in the same location as the production host, with no second region and no second provider, so a regional loss takes both.
GDPR Art. 32(1)(c), DORA Art. 12(2)
Recovery point objective
Not in place
None is committed. Two runs a day bound the loss at twelve hours. The rebuild of 20 September 2026 lost ten hours of database change and no files.
GDPR Art. 32(1)(c), DORA Art. 12(6)
Recovery time objective
Not in place
None is committed. The rebuild of 20 September 2026 took one hour and twenty-five minutes against an internal target of eight hours. It is one sample, with the bounds stated in the drill record on this page.
GDPR Art. 32(1)(c), DORA Art. 12(6)
Backup and restore
3 in place, 3 not in place
| Measure | What is the case | Answers |
|---|---|---|
| Automated twice daily backupIn place | At 03:00 and 15:00 Malta time both production databases, the uploads and the automation data are bundled and shipped off-site to a storage box in Falkenstein, Germany. A bundle from this schedule was restored onto a replacement machine on 20 September 2026. | GDPR Art. 32(1)(c)DORA Art. 12(1)(a) |
| A copy the production host cannot deleteIn place | Daily provider-side snapshots, which the production host holds no credential to create, change or delete. Tested on 11 August 2026: a file deleted by the backup identity was recovered from a snapshot with a matching digest. The recovery window is bounded by the number of snapshot slots. | GDPR Art. 32(1)(c)DORA Art. 12(3) |
| Documented restore procedureIn place | A restore script and a step-by-step procedure exist, from stopping the services to checking that both health endpoints answer. | GDPR Art. 32(1)(c)DORA Art. 12(1)(b) |
| Geographic separation of the off-site copyNot in place | The off-site copy is in the same location as the production host, with no second region and no second provider, so a regional loss takes both. | GDPR Art. 32(1)(c)DORA Art. 12(2) |
| Recovery point objectiveNot in place | None is committed. Two runs a day bound the loss at twelve hours. The rebuild of 20 September 2026 lost ten hours of database change and no files. | GDPR Art. 32(1)(c)DORA Art. 12(6) |
| Recovery time objectiveNot in place | None is committed. The rebuild of 20 September 2026 took one hour and twenty-five minutes against an internal target of eight hours. It is one sample, with the bounds stated in the drill record on this page. | GDPR Art. 32(1)(c)DORA Art. 12(6) |
1 h 25 minagainst an internal target of 8 h
- Recovery point
- The restored database was about 10 hours behind production, with no files lost.
- Next drill
- Due 11 December 2026
- The public hostname stayed pointed at production, so no name service or tunnel cutover time is included.
Measured by Michal Jatczak on a replacement machine rebuilt from ITSailor's own backup. One sample on one date.
Testing and vulnerability handling
6 in place, 1 partial, 2 not in place
Automated gate on every change
In placeas a reporting gate
Every pull request and every push to main runs the linter, a type check, the full test suite, a production build, a prerender check, a bundle budget and a secret guard.
GDPR Art. 32(1)(d), NIS2 Art. 21(2)(e)
Tested controls, not only tested code
In place
Tests in the gate fail when the published connector permissions differ from what the connectors request, when the sub-processor list and the Privacy Policy disagree, or when a page makes a claim the claim gate bans.
GDPR Art. 32(1)(d)
Dependency inventory
In placefrontend package tree only
A CycloneDX software bill of materials of the frontend package tree is produced weekly from the main branch and on demand. The container images on the production host are not in it.
GDPR Art. 32(1)(d), NIS2 Art. 21(2)(e)
Dependency vulnerability scanning
In place
Grouped update pull requests for the application, the scripts, the pipeline actions and the pinned images, and a weekly audit against two advisory databases. A high or critical finding in code that reaches a user turns the security scan red; findings in container images and development-only packages report. Three of the scanned images are configured on the production host and scanned from a version list transcribed in June 2026, so a clean result proves that list rather than the running images. There is no static analysis of the code ITSailor writes.
GDPR Art. 32(1)(d), NIS2 Art. 21(2)(e)
Restore proved
In placetwo dated events, one of them a rebuild from nothing
On 11 June 2026 a database restore ran on the production host. On 20 September 2026 the whole estate was rebuilt from one encrypted off-site bundle on a throwaway machine and reconciled by row and file count. Production was not modified.
GDPR Art. 32(1)(c), DORA Art. 12(2)
Recurring restore drill
Partial
The first drill ran on 20 September 2026. The programme is quarterly, and one drill is a single data point: the second is due 11 December 2026.
GDPR Art. 32(1)(d), DORA Art. 11(6)
Penetration testing
Not in place
None has been performed, so no report exists to offer or summarise.
GDPR Art. 32(1)(d)
Periodic access review
Not in place
There is no documented periodic review of which provider console holds which access.
GDPR Art. 32(1)(d), NIS2 Art. 21(2)(i)
Vulnerability reports from outside
In place
A security contact is published under RFC 9116, with the scope and the safe harbour on this page.
NIS2 Art. 21(2)(e)
Testing and vulnerability handling
6 in place, 1 partial, 2 not in place
| Measure | What is the case | Answers |
|---|---|---|
| Automated gate on every changeIn placeas a reporting gate | Every pull request and every push to main runs the linter, a type check, the full test suite, a production build, a prerender check, a bundle budget and a secret guard. | GDPR Art. 32(1)(d)NIS2 Art. 21(2)(e) |
| Tested controls, not only tested codeIn place | Tests in the gate fail when the published connector permissions differ from what the connectors request, when the sub-processor list and the Privacy Policy disagree, or when a page makes a claim the claim gate bans. | GDPR Art. 32(1)(d) |
| Dependency inventoryIn placefrontend package tree only | A CycloneDX software bill of materials of the frontend package tree is produced weekly from the main branch and on demand. The container images on the production host are not in it. | GDPR Art. 32(1)(d)NIS2 Art. 21(2)(e) |
| Dependency vulnerability scanningIn place | Grouped update pull requests for the application, the scripts, the pipeline actions and the pinned images, and a weekly audit against two advisory databases. A high or critical finding in code that reaches a user turns the security scan red; findings in container images and development-only packages report. Three of the scanned images are configured on the production host and scanned from a version list transcribed in June 2026, so a clean result proves that list rather than the running images. There is no static analysis of the code ITSailor writes. | GDPR Art. 32(1)(d)NIS2 Art. 21(2)(e) |
| Restore provedIn placetwo dated events, one of them a rebuild from nothing | On 11 June 2026 a database restore ran on the production host. On 20 September 2026 the whole estate was rebuilt from one encrypted off-site bundle on a throwaway machine and reconciled by row and file count. Production was not modified. | GDPR Art. 32(1)(c)DORA Art. 12(2) |
| Recurring restore drillPartial | The first drill ran on 20 September 2026. The programme is quarterly, and one drill is a single data point: the second is due 11 December 2026. | GDPR Art. 32(1)(d)DORA Art. 11(6) |
| Penetration testingNot in place | None has been performed, so no report exists to offer or summarise. | GDPR Art. 32(1)(d) |
| Periodic access reviewNot in place | There is no documented periodic review of which provider console holds which access. | GDPR Art. 32(1)(d)NIS2 Art. 21(2)(i) |
| Vulnerability reports from outsideIn place | A security contact is published under RFC 9116, with the scope and the safe harbour on this page. | NIS2 Art. 21(2)(e) |
People
1 in place, 2 not in place
People with access to customer personal data
In place
One. There are no employees, and no contractor holds standing access to production systems or customer data.
GDPR Art. 32(1)(b), DORA Art. 29
Separation of duties
Not in placestructural, and disclosed
Not possible in a one-person business: the same person writes, reviews, approves and deploys a change. The automated gate is the only independent check before production.
GDPR Art. 32(1)(b), DORA Art. 29
A second operator
Not in placestructural, and disclosed
There is none. The service, and any restore, depend on one person and on that person's password manager. Record it as concentration risk.
DORA Art. 29, NIS2 Art. 21(2)(d)
People
1 in place, 2 not in place
| Measure | What is the case | Answers |
|---|---|---|
| People with access to customer personal dataIn place | One. There are no employees, and no contractor holds standing access to production systems or customer data. | GDPR Art. 32(1)(b)DORA Art. 29 |
| Separation of dutiesNot in placestructural, and disclosed | Not possible in a one-person business: the same person writes, reviews, approves and deploys a change. The automated gate is the only independent check before production. | GDPR Art. 32(1)(b)DORA Art. 29 |
| A second operatorNot in placestructural, and disclosed | There is none. The service, and any restore, depend on one person and on that person's password manager. Record it as concentration risk. | DORA Art. 29NIS2 Art. 21(2)(d) |
Certificates, reports and insurance not held
- No ISO/IEC 27001 certification.
- No SOC 2 attestation of any type.
- No Cyber Essentials or equivalent scheme certificate.
- No Cloud Security Alliance STAR registry entry.
- No penetration test report.
- No professional indemnity or cyber insurance.
Where a procurement process requires a certificate, ITSailor cannot supply one. It can supply an extract of this record and the audit and information rights in the processor terms. The GDPR, DORA and NIS2 references show which of your own obligations a row can support, where those frameworks apply to you. Where a procurement process asks for insurance, there is no policy to show; liability follows section 11 of the Terms of Service or a signed agreement.
Supplier record
For the register of information DORA Articles 28 to 30 require. One block to copy; every field survives the paste.
- Legal entity
- Michal Jatczak, sole trader registered in Malta
- Trading name
- ITSailor
- VAT identification
- MT32760411
- D-U-N-S
- 507601021
- Function supported
- ICT consultancy, Microsoft 365 and Azure architecture and security, managed automation packages, and cost tooling
- Microsoft Partner Location Account
- 7113951
- Data location
- Servers, databases and backups on Hetzner, Falkenstein, Germany; functions in Vercel Frankfurt (fra1). Providers outside the EEA are named in the sub-processor register
- Sub-processors
- itsailor.io/legal/subprocessors, summarised at itsailor.io/trust#sub-processors
- Processor terms
- Processor terms are part of the Terms of Service
- Exit strategy
- Exit Kit delivered within 24 hours of SOW engagement close. No request required
- Exit clause
- itsailor.io/legal/terms#exit-kit
- Deliverable licence
- Perpetual, irrevocable, royalty-free licence; may be passed to a successor supplier without approval
- Position in the chain (asserted)
- Direct provider. Microsoft CSP Indirect Reseller via the Pax8 marketplace. Written confirmation on request
Reviewed on 2026-10-19.
Both registers are search forms: paste the number shown here.
Terms behind the record
- The Exit Kit is delivered within 24 hours of engagement close on a SOW engagement.
- A contract term, delivered without a request: documentation, configuration baselines, infrastructure-as-code, runbooks and a map of where each credential is kept and who holds it, never the secrets themselves. For the workshop, the Exit Kit is part of the deliverable pack.
- CommittedTerms, section 07
- Every deliverable is licensed to you perpetually and irrevocably, and you may pass it to a successor supplier without asking us.
- A perpetual, irrevocable, royalty-free licence to the documents, configurations, code and runbooks delivered to you, once paid for. A Statement of Work may assign specific material to you instead. Third-party and open-source components keep their own licences, and Microsoft licences bought through us stay with the vendor under the CSP Marketplace Terms.
- CommittedTerms, section 06, licence and ownership
Procurement
- Questionnaires and contracts
- legal@itsailor.io
DORA Article 30(2) against the Terms
Each of the nine points with the Terms section that answers it. For a financial entity, the points the Terms leave open are agreed in a signed document before the service starts.
- (i)
- Taking part in your ICT security awareness programmes
- Not covered; agreed per engagement. Terms, section 15
Vulnerability disclosure
How to report a security issue, what you may test, and the safe harbour that covers it.
Report to
security@itsailor.io- Machine-readable
- /.well-known/security.txt under RFC 9116
- Languages
- English or Polish
- Response
- One person reads the mailbox, so no response time is committed. If you need an acknowledgement by a date, say so in the message.
- You may test
- The public website and the publicly reachable endpoints of the ITSailor tools, from your own account or your own tenant.
- Stay within these limits
- No denial of service or load testing, no scanning that degrades the service for others, no social engineering of the founder or any provider, no physical testing, and no access to another customer's data. If a proof of concept would need someone else's data, stop and describe the path.
- Out of scope
- Customer Microsoft 365 and Google Workspace tenants, which are not ours to authorise, and the platforms of the providers listed under Sub-processors, which run their own disclosure programmes.
- Safe harbour
- This policy is the written permission of Michal Jatczak, as owner of these systems, to test them within these limits. If you stay within them, act in good faith and give him reasonable time to fix an issue before you disclose it, your testing is authorised: he will not bring or support a civil claim or a criminal complaint against you for it, or treat it as a breach of the Terms, and if anyone else raises it he will confirm in writing that it was authorised. This binds no other person or authority, authorises no access to anyone else's data or systems, and carries no bounty. Testing beyond these limits needs separate written permission; Terms, section 09 sets the rule.
Data subject requests go to privacy@itsailor.io.