{"id":5134,"date":"2026-11-09T11:57:22","date_gmt":"2026-11-09T11:57:22","guid":{"rendered":"https:\/\/sawaryn.com\/?p=5134"},"modified":"2026-11-09T12:00:42","modified_gmt":"2026-11-09T12:00:42","slug":"saas-provider-breach-uodo-notification","status":"publish","type":"post","link":"https:\/\/sawaryn.com\/en\/publikacje\/saas-provider-breach-uodo-notification\/","title":{"rendered":"A Breach at a SaaS Provider. Why Your Company Has Its Own 72 Hours to Notify the UODO."},"content":{"rendered":"<p>Your invoicing system provider has been hacked. It reported the breach to the UODO, notified CERT Polska and the Police, replaced its keys, and emailed users. Your servers remain untouched. And this is precisely when your own 72-hour clock starts ticking \u2014 because the provider\u2019s database contained data for which you, not the provider, are the controller.<\/p>\n<p>This scenario is affecting a growing number of companies. The number of breach notifications submitted to the President of the UODO is rising rapidly \u2014 from 14,069 in 2023 to 22,435 in 2025 (<a href=\"https:\/\/uodo.gov.pl\/file\/8177\" target=\"_blank\" rel=\"noopener\">UODO 2025 Annual Report<\/a>). The lack of a public breakdown by provider category means that we do not know how many of these notifications concerned breaches at SaaS processors \u2014 but we do know that <strong>the controller is responsible for notifying the breach<\/strong>, not the provider.<\/p>\n<p>In this article, you will find:<\/p>\n<ol>\n<li>An explanation of why the provider\u2019s notification does not replace your own.<\/li>\n<li>A schedule of actions for the first 72 hours.<\/li>\n<li>Pitfalls when counting data subjects.<\/li>\n<li>Specific recommendations \u2014 from securing the account to drafting a notice for business partners.<\/li>\n<\/ol>\n<h2>Key terms you need to know before reading further<\/h2>\n<p>Before we get to the heart of the matter, let us clarify a few terms. Without them, it is difficult to understand who is responsible for what after a breach at a provider.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Term<\/th>\n<th style=\"text-align: left;\">What it means<\/th>\n<th style=\"text-align: left;\">Why it matters<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Data controller<\/strong><\/td>\n<td style=\"text-align: left;\">The entity that determines the purposes and means of processing personal data. If you store your business partners\u2019 data in an invoicing system, you are the controller of that data.<\/td>\n<td style=\"text-align: left;\">You are responsible for notifying the UODO of the breach.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"https:\/\/sawaryn.com\/en\/publikacje\/how-to-audit-gdpr-data-processors\/\">Data processor<\/a> (processor)<\/strong><\/td>\n<td style=\"text-align: left;\">An entity that processes data on behalf of the controller \u2014 e.g. a SaaS provider or accounting firm.<\/td>\n<td style=\"text-align: left;\">The processor reports the breach to you, not to the supervisory authority.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Personal data breach<\/strong> (Article 4(12) GDPR)<\/td>\n<td style=\"text-align: left;\">An incident resulting in the accidental or unlawful destruction, loss, alteration, unauthorised disclosure of, or access to personal data.<\/td>\n<td style=\"text-align: left;\">An attack on a provider in which data was downloaded from your account constitutes a breach for you as the controller.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Initial notification<\/strong> (Article 33(4) GDPR)<\/td>\n<td style=\"text-align: left;\">A notification containing estimates and ranges, supplemented at a later stage.<\/td>\n<td style=\"text-align: left;\">You do not have to wait for precise data from the provider \u2014 you can (and should) report what you know.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Breach register<\/strong> (Article 33(5) GDPR)<\/td>\n<td style=\"text-align: left;\">Internal documentation of every breach \u2014 its circumstances, consequences, and remedial action.<\/td>\n<td style=\"text-align: left;\">You must maintain it even if you conclude that there is no risk and do not submit a notification.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Why the provider\u2019s notification does not replace your own<\/h2>\n<p>This is the most common mistake. The management board sees the provider\u2019s announcement: \u201cWe have reported the breach to the President of the UODO and notified CERT Polska and the Police&#8221; \u2014 and assumes the matter is closed.<\/p>\n<p>It is not.<\/p>\n<p><strong>The provider reports the breach insofar as it concerns data for which the provider itself is the controller<\/strong> \u2014 namely, the service users\u2019 account data (email address, encrypted password, telephone number, account identifier). Your business partners\u2019 data \u2014 records, invoice contents, bank account numbers, addresses, amounts \u2014 has a different controller. You.<\/p>\n<p>Article 33(1) GDPR states explicitly that it is the <strong>controller<\/strong> that notifies the supervisory authority of a breach. Article 33(2) requires the processor to notify the controller \u201cwithout undue delay&#8221; \u2014 but it does not specify a particular number of hours. A detailed deadline should be set out in the data processing agreement.<\/p>\n<p>The UODO has confirmed this principle: the obligation to notify remains with the controller when the incident occurred at the processor (<a href=\"https:\/\/bip.uodo.gov.pl\/pl\/138\/4538\" target=\"_blank\" rel=\"noopener\">UODO \u2014 The controller must report a breach at a processor<\/a>).<\/p>\n<h3>What this means for your company<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Who<\/th>\n<th style=\"text-align: left;\">What is reported<\/th>\n<th style=\"text-align: left;\">To whom<\/th>\n<th style=\"text-align: left;\">Legal basis<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">SaaS provider (processor)<\/td>\n<td style=\"text-align: left;\">A breach involving the service users\u2019 account data<\/td>\n<td style=\"text-align: left;\">To the President of the UODO \u2014 as the controller of that data<\/td>\n<td style=\"text-align: left;\">Article 33(1) GDPR<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">SaaS provider (processor)<\/td>\n<td style=\"text-align: left;\">The fact that a breach occurred<\/td>\n<td style=\"text-align: left;\">To you \u2014 as the controller of your business partners\u2019 data<\/td>\n<td style=\"text-align: left;\">Article 33(2) GDPR<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Your company (controller)<\/td>\n<td style=\"text-align: left;\">A breach involving the data of business partners, invoices, and contractors<\/td>\n<td style=\"text-align: left;\">To the President of the UODO<\/td>\n<td style=\"text-align: left;\">Article 33(1) GDPR<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Your company (controller)<\/td>\n<td style=\"text-align: left;\">Information about the breach<\/td>\n<td style=\"text-align: left;\">To data subjects \u2014 if the risk is high<\/td>\n<td style=\"text-align: left;\">Article 34(1) GDPR<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two separate notifications concerning the same incident. Two different scopes of data. Two different 72-hour deadlines.<\/p>\n<p><a href=\"https:\/\/sawaryn.com\/en\/contact\/\">Contact us<\/a> \u2014 we will help you assess whether and to what extent you need to report the breach.<\/p>\n<aside class=\"blog-article__inline-newsletter blog-article__inline-form flow\" aria-label=\"Article form\">\r\n                    <div class=\"blog-article__inline-newsletter-head flow\">\r\n                                    <h2>Discuss your situation with us<\/h2>\r\n                                                    <p>Leave your contact details and we will get back to you.<\/p>\r\n                            <\/div>\r\n                <div class=\"form form--cf7 blog-article__newsletter-form blog-article__inline-form-form\">\r\n            \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f2571-o1\" lang=\"\" dir=\"ltr\" data-wpcf7-id=\"2571\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/5134#wpcf7-f2571-o1\" method=\"post\" class=\"wpcf7-form init wpcf7-acceptance-as-validation\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"2571\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f2571-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"blog-article__inline-form-fields\">\n\t<p><label class=\"blog-article__inline-form-field\"><br \/>\n<span class=\"blog-article__inline-form-label\">First and last name<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"article-form-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required blog-article__inline-form-input\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Jan Kowalski\" value=\"\" type=\"text\" name=\"article-form-name\" \/><\/span><br \/>\n<\/label>\n\t<\/p>\n\t<p><label class=\"blog-article__inline-form-field\"><br \/>\n<span class=\"blog-article__inline-form-label\">E-mail<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"article-form-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email blog-article__inline-form-input\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"jankowalski@xyz.com\" value=\"\" type=\"email\" name=\"article-form-email\" \/><\/span><br \/>\n<\/label>\n\t<\/p>\n<\/div>\n<p><label class=\"blog-article__inline-form-field\"><br \/>\n<span class=\"blog-article__inline-form-label\">Message<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"article-form-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required blog-article__inline-form-textarea\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tell us briefly what you need...\" name=\"article-form-message\"><\/textarea><\/span><br \/>\n<\/label>\n<\/p>\n<div class=\"blog-article__newsletter-consent\">\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"article-form-privacy\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"article-form-privacy\" value=\"1\" class=\"blog-article__newsletter-checkbox\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Zgadzam si\u0119 na kontakt w sprawie przes\u0142anej wiadomo\u015bci i akceptuj\u0119 <a href=\"https:\/\/sawaryn.com\/app\/uploads\/2026\/11\/Sawaryn-i-Partnerzy-Privacy-Policy-v1.0-en-GB.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">polityk\u0119 prywatno\u015bci<\/a>.<\/span><\/label><\/span><\/span><\/span>\n\t<\/p>\n<\/div>\n<p class=\"blog-article__newsletter-submit-row\"><button type=\"submit\" class=\"button blog-article__newsletter-submit\">\r\n    <span class=\"button__label\">Submit<\/span>\r\n            <span class=\"button__icon\" aria-hidden=\"true\">\r\n                <span class=\"icon\" data-icon-size=\"sm\">\n        <img src=\"https:\/\/sawaryn.com\/app\/uploads\/2026\/05\/arrow-01.svg\" alt=\"\" class=\"icon__image\" loading=\"lazy\" decoding=\"async\" aria-hidden=\"true\" width=\"11\" height=\"13\">\n    <\/span>\n            <\/span>\r\n    <\/button>\n<\/p><div hidden aria-hidden=\"true\"><label>Leave this field blank<input type=\"text\" name=\"asl_website\" value=\"\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div><input type=\"hidden\" name=\"asl_started_at\" value=\"1794693690.eafd18fa7d677e9b5d02c6f03a66c8986e48b5e2774c5ef5ad472c6716e9f426\"><div id=\"sawaryn-turnstile-1\" class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAAEM6UD_FpW1mXB2Y\" data-theme=\"light\" data-action=\"contact\" data-language=\"en\"><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n        <\/div>\r\n    <\/aside>\n<h2>When your 72-hour period begins<\/h2>\n<p>The deadline runs <strong>from the moment the controller becomes aware of the breach<\/strong> \u2014 not from the attack on the provider, not from the notification submitted by the provider, and not from the moment the provider makes a dashboard available showing the scope of the downloaded data.<\/p>\n<p>\u201cBecoming aware of the breach&#8221; does not require establishing every detail of the incident. A reasonable degree of certainty that a breach has occurred is sufficient.<\/p>\n<h3>When the deadline begins \u2014 examples<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Situation<\/th>\n<th style=\"text-align: left;\">When you become aware of the breach<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">A business partner forwards you a notice from the provider<\/td>\n<td style=\"text-align: left;\">When you read the message<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">You see an announcement on the provider\u2019s website<\/td>\n<td style=\"text-align: left;\">When you read the announcement<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">A member of your team learns about it from industry media<\/td>\n<td style=\"text-align: left;\">When that person becomes aware of the information \u2014 not when they pass it on to the management board<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">The provider sends a notice to the account owner\u2019s email address<\/td>\n<td style=\"text-align: left;\">When the message is delivered to the inbox<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Therefore, the first thing to do after learning about an incident is to <strong>determine and record the exact moment you became aware of the breach<\/strong> (date, time, source of information). Then check with everyone who has access to the provider\u2019s account whether anyone knew about the incident earlier.<\/p>\n<p>If it turns out that an employee in the finance department saw the provider\u2019s announcement two days before the management board meeting, your 72-hour period may have started running at that point.<\/p>\n<h3>A note on weekends<\/h3>\n<p>If the 72-hour period expires on a Saturday or Sunday, finalising the notification on the last business day before the deadline is the only safe organisational decision. The form on biznes.gov.pl is available online, but it must be signed by a person authorised to represent the company.<\/p>\n<h2>Schedule for the first 72 hours \u2014 what to do and in what order<\/h2>\n<p>Below is a schedule based on a scenario in which the company learns about the incident in the afternoon of Day D. Adapt it to your circumstances.<\/p>\n<h3>Day D \u2014 from the moment you become aware of the breach<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Time (approximate)<\/th>\n<th style=\"text-align: left;\">Action<\/th>\n<th style=\"text-align: left;\">Person responsible<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">D, immediately<\/td>\n<td style=\"text-align: left;\">Record when you became aware of the breach. Check whether anyone in the company knew about it earlier.<\/td>\n<td style=\"text-align: left;\">The person who first received the information + DPO<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D, within 2 hours<\/td>\n<td style=\"text-align: left;\">Secure the account with the provider: change all users\u2019 passwords, enable two-factor authentication, and review the user list (including access granted to the accounting firm and former contractors).<\/td>\n<td style=\"text-align: left;\">IT \/ account administrator<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D, within 2 hours<\/td>\n<td style=\"text-align: left;\">Verify the bank account number in the account settings and on issued documents.<\/td>\n<td style=\"text-align: left;\">Finance department<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D, within 2 hours<\/td>\n<td style=\"text-align: left;\">Generate new API tokens and replace them in all integrations. If the application connects to KSeF using a token \u2014 revoke it and generate a new one.<\/td>\n<td style=\"text-align: left;\">IT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Day D+1 \u2014 before the 72-hour deadline<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Time (approximate)<\/th>\n<th style=\"text-align: left;\">Action<\/th>\n<th style=\"text-align: left;\">Person responsible<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">D+1, by 9:00<\/td>\n<td style=\"text-align: left;\">Compile the number of individuals by category (details in the next section).<\/td>\n<td style=\"text-align: left;\">DPO \/ legal department + finance department<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D+1, by 9:00<\/td>\n<td style=\"text-align: left;\">Send the provider an enquiry through an official channel, referring to Article 28(3)(f) GDPR: whether your account is among those from which data was downloaded, when the provider will make the dashboard showing the scope of the download available, and whether KSeF access credentials were downloaded.<\/td>\n<td style=\"text-align: left;\">DPO \/ legal department<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D+1, 9:00\u20139:30<\/td>\n<td style=\"text-align: left;\">Decision-making meeting: management board + DPO + lawyer. Risk assessment. Decision: submit a notification or document why the risk is unlikely.<\/td>\n<td style=\"text-align: left;\">Management board<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D+1, by 13:00<\/td>\n<td style=\"text-align: left;\">Draft the initial notification and the entry in the breach register.<\/td>\n<td style=\"text-align: left;\">DPO \/ legal department<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D+1, by 15:00<\/td>\n<td style=\"text-align: left;\">Submit the <a href=\"https:\/\/sawaryn.com\/publikacje\/zgloszenie-naruszenia-rodo-wyciek-danych-osobowych\/\">initial notification<\/a> using the form on biznes.gov.pl, signed by the governing body authorised to represent the company.<\/td>\n<td style=\"text-align: left;\">Management board<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">D+1, by the end of the day<\/td>\n<td style=\"text-align: left;\">Draft a notice for business partners. Send it where contracts provide for their own incident notification deadlines.<\/td>\n<td style=\"text-align: left;\">DPO \/ legal department + sales department<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>After receiving details from the provider (several days later)<\/h3>\n<ol>\n<li>Submit a supplementary notification under Article 33(4) GDPR.<\/li>\n<li>Identify the recipients and payers listed on invoices \u2014 this category has no separate records and is only visible in the contents of documents.<\/li>\n<li>Update the entry in the breach register.<\/li>\n<\/ol>\n<h2>How to count data subjects \u2014 five pitfalls<\/h2>\n<p>The notification form asks about <strong>individuals<\/strong>, not records. One person with ten invoices counts as one person. But identifying these people in an invoicing system can be more difficult than it seems.<\/p>\n<h3>Pitfall 1: a named email address with blank fields<\/h3>\n<p>A corporate business partner has blank \u201cfirst name&#8221; and \u201clast name&#8221; fields in its record, but the contact field contains the address jan.kowalski@firma.pl. This is personal data. This person must be included in the count.<\/p>\n<h3>Pitfall 2: partnerships<\/h3>\n<p>A civil-law partnership called \u201cKowalski and Nowak s.c.&#8221; or a registered partnership whose business name contains its partners\u2019 surnames \u2014 they appear in the system as business entities, but the partners\u2019 surnames are personal data.<\/p>\n<h3>Pitfall 3: re-invoicing to personal details<\/h3>\n<p>Invoices for sports and medical packages recharged to B2B contractors and former contractors contain: first and last name, home address, personal email address, and amounts. This is the group with the broadest scope of disclosed data \u2014 and the one most often overlooked because it is not associated with \u201ccustomers&#8221;.<\/p>\n<h3>Pitfall 4: invoice recipient and payer<\/h3>\n<p>Individuals may be listed on invoices as recipients or payers \u2014 without having their own records in the system. You need to look for them in the contents of documents, not in the business partner database. In the initial notification, mark this item as \u201cbeing determined&#8221;.<\/p>\n<h3>Pitfall 5: special categories of data in invoice line items<\/h3>\n<p>The mere description \u201cmedical package&#8221; or \u201csports package&#8221; on an invoice <strong>does not constitute health data<\/strong> within the meaning of Article 9 GDPR. However, if a line item on the document identifies a specific service \u2014 \u201crehabilitation&#8221;, \u201cperinatal care&#8221;, or a specific medical specialty \u2014 it does constitute health data. And it will usually determine that the individuals must be notified under Article 34 GDPR.<\/p>\n<p>Check the descriptions of line items on issued recharge invoices \u2014 not the name of the service in the agreement with the benefits provider.<\/p>\n<h2>Initial notification \u2014 do not wait for the provider\u2019s dashboard<\/h2>\n<p>The provider announces a dashboard that, once you log in, will show what data was downloaded from your account, from which periods, and how many records were involved. The dashboard appears after several days \u2014 that is, after your deadline has expired.<\/p>\n<p>The decision is simple: <strong>you submit a notification based on what you know and supplement it later<\/strong>.<\/p>\n<p>Article 33(4) GDPR explicitly allows information to be provided in phases without undue further delay. Recital 85 GDPR confirms that information may be provided gradually. The form on biznes.gov.pl accepts estimates and ranges.<\/p>\n<h3>What to enter in the initial notification<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Form field<\/th>\n<th style=\"text-align: left;\">What to enter<\/th>\n<th style=\"text-align: left;\">Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Nature of the breach<\/td>\n<td style=\"text-align: left;\">Unauthorised access to data processed by a processor (SaaS provider)<\/td>\n<td style=\"text-align: left;\">State that your systems were not compromised<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Categories of data subjects<\/td>\n<td style=\"text-align: left;\">Business partners (sole traders), contact persons, B2B contractors, individuals (recharged costs)<\/td>\n<td style=\"text-align: left;\">Mark items that are still being determined<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Approximate number of individuals<\/td>\n<td style=\"text-align: left;\">A range, e.g. \u201c30\u201360 people&#8221;<\/td>\n<td style=\"text-align: left;\">The form does not require an exact figure<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Categories of data<\/td>\n<td style=\"text-align: left;\">Identification, address, and financial data (bank account numbers, invoice amounts)<\/td>\n<td style=\"text-align: left;\">Indicate whether special categories of data may be involved<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Consequences<\/td>\n<td style=\"text-align: left;\">Risk of bank account substitution fraud, risk of phishing<\/td>\n<td style=\"text-align: left;\">Be specific rather than vague<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Remedial measures<\/td>\n<td style=\"text-align: left;\">Password changes, 2FA, new tokens, notice to business partners<\/td>\n<td style=\"text-align: left;\">List the actions taken and planned<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Information about supplementation<\/td>\n<td style=\"text-align: left;\">\u201cInitial notification \u2014 supplementary information will be provided after detailed data is received from the processor&#8221;<\/td>\n<td style=\"text-align: left;\">State this clearly<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The notification must be signed by the governing body authorised to represent the company \u2014 e.g. the president of the management board. Not the DPO.<\/p>\n<h2>The main risk after an invoicing data breach is not account takeover<\/h2>\n<p>In the event of a breach involving data from an invoicing system, the main threat is <strong>bank account substitution fraud<\/strong>. The attacker knows the parties to the transactions, the amounts, and which invoices remain unpaid. They can impersonate your company when contacting your customers \u2014 or impersonate your suppliers when contacting you.<\/p>\n<p>A message requesting a bank account change may be indistinguishable from a genuine one.<\/p>\n<h3>What to do immediately<\/h3>\n<ol>\n<li>Send your business partners a brief notice containing three points: the incident occurred at the service provider, not in your systems; your bank account number has not changed; every request to change a bank account number must be confirmed by telephone using a previously known number.<\/li>\n<li>Introduce a permanent internal procedure: confirm every change to a supplier\u2019s bank account number by telephone and check it against the VAT taxpayers register.<\/li>\n<li>Train the finance and sales teams to recognise bank account substitution fraud \u2014 using real-world examples.<\/li>\n<\/ol>\n<p>If a payment is made to a substituted account, recovery of the funds is not guaranteed. Article 143 of the Payment Services Act provides for a recovery mechanism, but the recipient\u2019s bank does not guarantee repayment (<a href=\"https:\/\/rf.gov.pl\/edukacja\/baza-wiedzy\/najczestsze-pytania-i-odpowiedzi-faq\/bledny-przelew\/\" target=\"_blank\" rel=\"noopener\">Financial Ombudsman \u2014 incorrect bank transfer<\/a>). A rapid response and immediate contact with the bank are crucial (<a href=\"https:\/\/mazowiecka.policja.gov.pl\/ra\/aktualnosci\/aktualnosci\/140416,Przelales-pieniadze-oszustowi-Liczy-sie-kazda-minuta.html\" target=\"_blank\" rel=\"noopener\">Police \u2014 transfer to a fraudster<\/a>).<\/p>\n<p>KSeF streamlines the circulation of invoices themselves, but it does not protect against payment instructions sent outside the system. The Ministry of Finance recommends treating KSeF tokens and certificates as sensitive data and protecting them to the same standard as online banking credentials (<a href=\"https:\/\/ksef.podatki.gov.pl\/ksef-na-okres-obligatoryjny\/informacje-ogolne-ksef-20\/certyfikaty-ksef\/\" target=\"_blank\" rel=\"noopener\">KSeF certificates \u2014 ksef.podatki.gov.pl<\/a>).<\/p>\n<h2>Breach register \u2014 mandatory even if you do not submit a notification<\/h2>\n<p>Article 33(5) GDPR imposes an obligation to <a href=\"https:\/\/sawaryn.com\/en\/publikacje\/documenting-reporting-personal-data-breaches\/\">document <strong>every<\/strong> breach<\/a> \u2014 its circumstances, consequences, and remedial action. This also applies where, after assessing the risk, you conclude that notification to the UODO is not required.<\/p>\n<p>In that case, the entry should explain the reasons for that assessment. No entry means no evidence that a risk assessment was carried out \u2014 and this may become a problem during a UODO inspection.<\/p>\n<h2>UODO penalties \u2014 confirmed fines for breaches of Article 33 GDPR<\/h2>\n<p>The UODO imposes fines for failing to report a breach or reporting it late. Confirmed cases:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Entity<\/th>\n<th style=\"text-align: left;\">Fine<\/th>\n<th style=\"text-align: left;\">Circumstances<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Bank Millennium<\/td>\n<td style=\"text-align: left;\">over PLN 350,000<\/td>\n<td style=\"text-align: left;\">UODO announcement of 16.12.2025<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Medical University of Silesia<\/td>\n<td style=\"text-align: left;\">PLN 25,000<\/td>\n<td style=\"text-align: left;\">Upheld by the Supreme Administrative Court in 2025<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Court enforcement officer<\/td>\n<td style=\"text-align: left;\">PLN 7,700 (failure to notify) + PLN 13,200 (failure to inform data subjects)<\/td>\n<td style=\"text-align: left;\">UODO announcement of 17.11.2025<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Housing association<\/td>\n<td style=\"text-align: left;\">PLN 5,000<\/td>\n<td style=\"text-align: left;\">UODO announcement of 20.04.2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>(<a href=\"https:\/\/uodo.gov.pl\/pl\/138\/4348\" target=\"_blank\" rel=\"noopener\">UODO \u2014 fine for a housing association<\/a>)<\/p>\n<p>None of the confirmed cases concerned exclusively an incident on the processor\u2019s side. However, the mere fact that the breach occurred at the provider does not release the controller from the obligation to report it.<\/p>\n<h2>The data processing agreement under scrutiny \u2014 what to demand from the provider after an incident<\/h2>\n<p>Article 28(3)(f) GDPR gives you a basis for requesting specific information from the provider about the scope of the breach affecting your account. Use it.<\/p>\n<h3>What to check in the data processing agreement after an incident<\/h3>\n<ol>\n<li>Did the provider comply with its obligation under Article 33(2) GDPR \u2014 did it notify you as the controller, or only the account user?<\/li>\n<li>Does the agreement specify a particular deadline for providing information about a breach (e.g. 24 or 48 hours)?<\/li>\n<li>Does the agreement specify the scope of information the provider must supply after an incident?<\/li>\n<li>Does the provider maintain a breach register and make documentation available on request?<\/li>\n<\/ol>\n<p>From the controller\u2019s perspective, a model clause should provide for: an emergency deadline (e.g. 24 hours for an initial analysis of the causes), an obligation to submit a partial report without waiting for the full findings, an update schedule, and a dedicated reporting channel.<\/p>\n<p>If your agreement does not contain such provisions \u2014 this is a good time to renegotiate it. Or change providers.<\/p>\n<h2>Parallel reporting obligations \u2014 GDPR is not the only route<\/h2>\n<p>If your company is subject to the Act on the National Cybersecurity System (amendment of 23 January 2026, effective from 3 April 2026, <a href=\"https:\/\/isap.sejm.gov.pl\/isap.nsf\/DocDetails.xsp?id=WDU20260000252\" target=\"_blank\" rel=\"noopener\">Journal of Laws 2026, item 252<\/a>), the same incident may need to be reported to the relevant CSIRT (MON, NASK, or GOV).<\/p>\n<p>A report to a CSIRT and a notification to the UODO are <strong>separate obligations<\/strong> based on different criteria. The transfer of a report from one CSIRT to another is not equivalent to notifying the President of the UODO (<a href=\"https:\/\/nowybiuletyn.uodo.gov.pl\/jedno-zdarzenie-dwa-rezimy-prawne-czyli-naruszenia-i-incydenty-na-styku-rodo-i-uksc\/\" target=\"_blank\" rel=\"noopener\">UODO \u2014 one incident, two legal regimes<\/a>).<\/p>\n<p>Financial entities may also have obligations under the DORA Regulation (EU 2022\/2554) \u2014 a third reporting route to sectoral authorities.<\/p>\n<h2>Liability for damages \u2014 who will pay<\/h2>\n<p>Article 82(1) GDPR grants data subjects the right to compensation for material or non-material damage. In Case C-300\/21 (\u00d6sterreichische Post), the CJEU confirmed that there is no minimum threshold for non-material damage \u2014 but a GDPR infringement does not automatically constitute damage; the individual must demonstrate specific harm (<a href=\"https:\/\/www.eur-lex.europa.eu\/legal-content\/PL\/TXT\/HTML\/?uri=CELEX:62021CJ0300\" target=\"_blank\" rel=\"noopener\">C-300\/21 \u2014 EUR-Lex<\/a>).<\/p>\n<p>The controller may be sued even if the breach occurred within the SaaS provider\u2019s infrastructure. After paying compensation, the controller has a right of recourse against the processor (Article 82(4)\u2013(5) GDPR). A contractual clause excluding liability towards third parties does not deprive them of their statutory right under Article 82.<\/p>\n<h2>How to prepare before an incident occurs<\/h2>\n<p>The first 72 hours after becoming aware of a breach should not involve improvisation. Prepare the following in advance:<\/p>\n<ol>\n<li><strong>A map of SaaS applications<\/strong> with data categories and roles (controller\/processor) \u2014 a separate entry for each application or a link in the <a href=\"https:\/\/sawaryn.com\/en\/publikacje\/processor-record-processing-categories-gdpr\/\">record of processing activities<\/a> (<a href=\"https:\/\/www.uodo.gov.pl\/pl\/383\/214\" target=\"_blank\" rel=\"noopener\">UODO \u2014 recording processing activities<\/a>).<\/li>\n<li><strong>A provider enquiry template<\/strong> referring to Article 28(3)(f) GDPR.<\/li>\n<li><strong>A notice template for business partners<\/strong> \u2014 three sentences ready to be personalised.<\/li>\n<li><strong>A management decision-making process<\/strong> \u2014 who calls the meeting, who decides whether to submit a notification, and who signs the form.<\/li>\n<li><strong>An initial notification template<\/strong> with fields marked for completion.<\/li>\n<li><strong>A breach register<\/strong> \u2014 even if you have never had an incident, the register should exist as a document ready to be completed.<\/li>\n<\/ol>\n<h2>We can help you<\/h2>\n<p>Handling a breach within 72 hours requires simultaneous action on several fronts: securing the account, taking an inventory of the data, assessing the risk, notifying the UODO, issuing a notice to business partners, and making an entry in the register. During a first incident, every one of these steps raises questions that must be answered under time pressure.<\/p>\n<p>We support technology and B2B companies in three ways:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Option<\/th>\n<th style=\"text-align: left;\">What it includes<\/th>\n<th style=\"text-align: left;\">Who it is for<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Operational minimum<\/strong><\/td>\n<td style=\"text-align: left;\"><a href=\"https:\/\/sawaryn.com\/en\/publikacje\/personal-data-breach-response-ai\/\">Breach response procedure<\/a> + breach register<\/td>\n<td style=\"text-align: left;\">Companies that want to have a procedure in place before an incident<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Solid foundation<\/strong><\/td>\n<td style=\"text-align: left;\">Procedure + templates (notification, notice, provider enquiry) + review of data processing agreements + team training<\/td>\n<td style=\"text-align: left;\">Companies using several SaaS applications containing business partner data<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Comprehensive protection<\/strong><\/td>\n<td style=\"text-align: left;\"><a href=\"https:\/\/sawaryn.com\/publikacje\/audyt-rodo-gdpr-outsourcing-iod\/\">Provider audit<\/a> + map of data in SaaS applications + on-call incident support + end-to-end handling of the notification before the UODO<\/td>\n<td style=\"text-align: left;\">Companies with a large business partner database and numerous integrations<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>We combine GDPR expertise with an understanding of IT and contracts \u2014 because a breach at a SaaS provider lies at the intersection of data protection, contract law, and technical security.<\/p>\n<h2>A breach at your provider is your problem \u2014 but it can be managed<\/h2>\n<p>The provider\u2019s notification does not replace your own. The 72-hour deadline runs from the moment you (or anyone in your organisation) learned about the incident. You do not need to know everything \u2014 Article 33(4) GDPR allows you to submit an initial notification and supplement it later. The main risk after an invoicing data breach is bank account substitution fraud, not account takeover.<\/p>\n<p>If you use external invoicing, CRM, or document workflow applications and want to have a procedure ready in case of an incident at a provider \u2014 <a href=\"https:\/\/sawaryn.com\/en\/contact\/\">contact us<\/a>. We will help you prepare a data map, notification templates, and a decision-making process before the pressure of the 72-hour deadline arises.<\/p>\n<h2>Frequently asked questions<\/h2>\n<p><strong>Our system provider has already reported the breach to the UODO \u2014 do we really have to report the same incident again?<\/strong><br \/>\nYes. The provider reported the breach insofar as it concerned data for which the provider itself is the controller (service user accounts). The data of your business partners in records and invoice contents has a different controller \u2014 you. The UODO has confirmed that the obligation to notify remains with the controller when the incident occurred at the processor.<\/p>\n<p><strong>Exactly when does the 72-hour period begin if I learned about the incident by chance from a business partner?<\/strong><br \/>\nFrom the moment you have a reasonable degree of certainty that a breach has occurred. If a business partner forwarded you a notice from the provider \u2014 from the moment you read that message. If anyone in your organisation had previously seen an announcement on the provider\u2019s website or in the media \u2014 from that earlier moment.<\/p>\n<p><strong>What should I do if I do not know within 72 hours how much of our data was actually breached?<\/strong><br \/>\nSubmit an initial notification with estimates and ranges. Article 33(4) GDPR explicitly allows information to be provided in phases. The form on biznes.gov.pl accepts estimates. The alternative is not a more precise notification \u2014 it is a late notification.<\/p>\n<p><strong>Do I have to inform business partners if our systems were not attacked?<\/strong><br \/>\nIf the breach is likely to result in a high risk to the rights or freedoms of individuals \u2014 yes (Article 34(1) GDPR). In the case of an invoicing data breach, the risk of bank account substitution fraud is real. Irrespective of the formal obligation, a prompt notice warning about attempts to substitute bank account numbers protects both your business partners and your reputation.<\/p>\n<p><strong>Does re-invoicing a medical package mean that health data has been breached?<\/strong><br \/>\nNot automatically. The mere description \u201cmedical package&#8221; on an invoice does not constitute health data within the meaning of Article 9 GDPR. However, if a line item on the document identifies a specific service \u2014 e.g. \u201crehabilitation&#8221; or a specific medical specialty \u2014 it constitutes special-category data. Check the descriptions of line items on issued documents, not the name of the service in the agreement with the benefits provider.<\/p>\n<p><strong>What if, after assessing the risk, we conclude that notification is not required \u2014 does that mean we do not have to do anything?<\/strong><br \/>\nYou must make an entry in the breach register under Article 33(5) GDPR. The entry should explain the reasons for concluding that the risk is unlikely. No entry means no evidence that an assessment was carried out \u2014 and this may become a problem during a UODO inspection.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If your SaaS provider is hacked, its UODO filing may not cover data you control. Learn when your 72 hours begin, how to assess risk and what to report.<\/p>\n","protected":false},"author":13,"featured_media":4025,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","sip_alt_url":"","sip_en_pl_url":"","sip_pair_uuid":"506bcef9-fe12-401e-bb76-db168a5f45c6","sip_pair_state":"draft_ready"},"categories":[1578],"tags":[1533,1446,1531,1546,1534],"specialization":[1215],"practice_area":[],"class_list":["post-5134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gdpr","tag-data-breach","tag-gdpr","tag-personal-data-protection","tag-risk-assessment","tag-uodo-en","specialization-gdpr"],"acf":[],"_links":{"self":[{"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/posts\/5134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/comments?post=5134"}],"version-history":[{"count":6,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/posts\/5134\/revisions"}],"predecessor-version":[{"id":5144,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/posts\/5134\/revisions\/5144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/media\/4025"}],"wp:attachment":[{"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/media?parent=5134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/categories?post=5134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/tags?post=5134"},{"taxonomy":"specialization","embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/specialization?post=5134"},{"taxonomy":"practice_area","embeddable":true,"href":"https:\/\/sawaryn.com\/en\/wp-json\/wp\/v2\/practice_area?post=5134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}