Applies toEUDEAT

Compliance as Code: Policy as Code for Cloud-Native SMEs

TL;DR

  • Compliance as Code: policy definition as versioned YAML/Rego files
  • Tools: five tools — Open Policy Agent, Terraform Sentinel, AWS Config Rules, Azure Policy, Conftest
  • Advantages: automated checking in the CI/CD pipeline, audit trail, reproducibility
  • NIS2 interface: measures under Section 30 BSIG (German BSI Act) can in part be expressed as testable policies — state yes, risk analysis and balancing no (AT: § 32 NISG 2026)
  • GDPR: data protection impact assessment can be integrated into code reviews
  • Evidence: § 30(1) sentence 3 BSIG requires documentation of compliance, Art. 5(2) GDPR requires accountability — the versioned rule base supplies the technical trail, not the substance
  • Limit: deadlines remain human processes — incident reporting 24 h / 72 h / 1 month (DE § 32 BSIG, AT § 34 NISG 2026), data subject requests one month (Art. 12(3) GDPR)
  • Scope: by type (Annex 1 or 2) and size of the entity, § 28 BSIG — certain types regardless of size; not by the tool stack
  • Austria: NISG 2026 instead of BSIG; applies from 1 October 2026

Main article: Compliance Tool Stack 2026 — which tools SMEs use for GDPR, NIS2, the EU AI Act, HinSchG and AGG, and which obligation each of them covers.

1. What is compliance as code?

Compliance as code means documenting requirements from data protection, security and compliance as code and enforcing them automatically — versioned and tested like software.

What is legally interesting about this is not the tool but the evidence. Under § 30(1) of the German BSI Act (BSIG), particularly important entities and important entities must take appropriate, proportionate and effective technical and organisational measures; compliance must be documented (§ 30(1) sentence 3 BSIG). In data protection, the accountability obligation under Art. 5(2) GDPR applies. A versioned rule base generates part of this trail automatically: who changed which requirement when, and which check ran alongside it. All references to the Austrian Network and Information Systems Security Act 2026 (NISG 2026) in this article take effect when it begins to apply on 1 October 2026.

Versioned means the following in practice: every rule exists as a text file in the repository — as a YAML or Rego file —, every change goes through the same approval as application code, and the history records author, time and reason. The file itself contains the details that the rule profile in sections 3 to 5 also lists — object checked, target state, effect in the event of a violation, and legal reference — supplemented by an identifier for the rule and a field for the reason. That is the part of the trail that arises without additional recording.

Schematically — tool-neutral and without the syntax of any particular policy language — the file therefore carries these fields, here for the example rule from section 3:

Rule:          object-storage-encryption
Object:        object storage bucket
Target state:  encryption active; storage in an EU region
Effect:        blocking
Reason:        cryptography and encryption are part of the minimum catalogue
Reference:     encryption: § 30(2) BSIG, § 32(4) NISG 2026
               EU region: practice recommendation, no legal reference

2. Tools 2026

Short answer: five tools are available — Open Policy Agent, Terraform Sentinel, AWS Config Rules, Azure Policy and Conftest. Which tool fits is decided by the existing stack; how strongly a rule takes effect is decided by where it is applied.

ToolScope (as at 2 May 2026)Where the check applies and what evidence it produces (practical assessment)
Open Policy Agent (OPA)general purposein the maturity model at the pull request, evidence before the change takes effect (section 6, level 2)
Terraform SentinelHashiCorp stackat the pull request, evidence before the change takes effect (section 6, level 2)
AWS Config RulesAWS-specificin live AWS operation, including changes made in the console; evidence produced afterwards as a dated deviation report (section 6, level 1)
Azure PolicyAzure stackin live Azure operation; evidence as with AWS Config Rules (section 6, level 1)
ConftestCI/CD testsas a test step in the existing CI/CD pipeline, before deployment

Practice recommendation (no legal obligation): more important than the choice of product is where a rule takes effect. A check in the pull request prevents the deviation from arising at all and leaves its result permanently attached to the change; a check in live operation only detects it afterwards and produces a dated deviation report. Both results are suitable in practice as material for documentation; the obligation itself attaches to the measures under § 30(1) and (2) BSIG, not to a product (§ 30(1) sentence 3 BSIG). Which point of application suits a specific rule is stated in the rule profile in sections 3 to 5.

For the effect of a rule, the following has proven useful: make blocking what is clearly named in the statutory minimum catalogue and is technically unambiguous to check — for example encryption, access control and multi-factor authentication (full catalogue in section 3). Make merely warning what requires a balancing exercise. Every blocking rule needs a documented exception route including responsibility, otherwise in an emergency it will be circumvented rather than applied. It has proven useful to limit every exception to 30 days: an extension requires renewed approval from the same role, otherwise the rule automatically applies again once the period expires.

3. Rule example cloud storage: enforcing encryption and storage location

A typical OPA rule reads: all S3 buckets must be encrypted and located in an EU region. In the pull request the test runs automatically; at deployment the rule blocks the deviation.

Rule profileDetail
Object checkedobject storage bucket
Target stateencryption active; storage in an EU region
Point of checking (practice)pull request and deployment
Effect in the event of a violationblocking
Exception route and responsibility (practice)written request limited to 30 days; approval by a named role in IT operations
Evidence producedcheck result attached to the change; in live operation a dated deviation report
Legal referenceencryption: § 30(2) BSIG, § 32(4) NISG 2026, Art. 21(2) of Directive (EU) 2022/2555 — EU region: practice recommendation without legal reference

Encryption here is not an in-house rule but part of the statutory minimum catalogue of risk management measures. § 30(2) nos. 1 to 10 BSIG (Germany), § 32(4)(a) to (j) NISG 2026 (Austria) and Art. 21(2) of Directive (EU) 2022/2555 require at least the following ten areas:

Area of the statutory minimum catalogueExpressibility as a rule and treatment in this article (practical assessment)
Risk analysis and security conceptscannot be expressed as a rule — risk analysis and the proportionality assessment remain decisions for people (sections 7 and 10)
Handling of security incidentspartly — detection, time stamps and deadline monitoring yes, classification and reporting no (section 7)
Business continuity including backup management and crisis managementnot shown as a rule example
Supply chain securitynot shown as a rule example
Secure procurement, development and maintenance including vulnerability managementnot shown as a rule example
Assessment of effectivenessnot shown as a rule example
Cyber hygiene and trainingnot shown as a rule example
Cryptography and encryptionshown as a rule — section 3 (encryption of object storage)
Personnel security and access controlshown as a rule — section 4 (access to the production environment)
Multi-factor authentication and secured communicationshown as a rule — section 4 (multi-factor authentication)

For personal data, Art. 32 GDPR requires technical and organisational measures that ensure availability, integrity and confidentiality.

The second half of the example rule — storage in an EU region — is a practice recommendation and not an obligation named in the minimum catalogue. Before you fix a rule to particular regions, clarify the requirements for transfers to third countries separately — the rule only enforces the decision, it does not replace it.

In the event of damage the difference becomes tangible: under Art. 34(3) GDPR, notification of the data subjects is not required, among other things, where appropriate technical and organisational protection measures — in particular encryption — have been applied. A rule that blocks unencrypted storage therefore has an effect on a legal consequence. The notification to the supervisory authority under Art. 33(1) GDPR (without undue delay and, where feasible, within 72 hours) remains unaffected; it is dispensed with only where the breach is unlikely to result in a risk to the rights and freedoms of natural persons.

4. Rule example access: MFA, bastion host and approval workflow

A second rule limits production access: it is possible only via multi-factor authentication, a bastion host and an approval workflow, and the rule enforces this automatically.

Rule profileDetail
Object checkedaccess to the production environment
Target statemulti-factor authentication; entry exclusively via the bastion host; prior approval in the workflow
Point of checking (practice)at every access attempt, in live operation
Effect in the event of a violationblocking
Exception route and responsibility (practice)emergency access under the four-eyes principle; the approving role is named in advance, the subsequent documentation is subject to a deadline
Evidence produceddated, person-specific approval decision; separate logs for privileged access, configuration changes and failed logins
Legal referenceaccess control, multi-factor authentication and personnel security: § 30(2) BSIG, § 32(4) NISG 2026, Art. 21(2) of Directive (EU) 2022/2555

Practice: as the target state of this rule, bastion host means a single hardened access point — all other access routes into the production environment remain closed at network level. From this follows a criterion that is easy to check: outside this point there is no direct access to the production environment. The evidence is carried by the approval workflow, because it produces a dated, person-specific decision. Keeping the three types of log named in the profile separately has proven useful: they answer three different questions — who used elevated rights, what was changed in the configuration, and who attempted unsuccessfully to log in. The full statutory minimum catalogue is in section 3.

5. Rule example data protection: what a PII finding in the repository triggers

A pre-commit hook checks the code for personal data (PII, personally identifiable information) before it is accepted and blocks the commit if something is found.

Rule profileDetail
Object checkedsource code, configuration and test data before acceptance
Target stateno personal data in the repository
Point of checking (practice)pre-commit hook, before acceptance
Effect in the event of a violationblocking
Exception route and responsibility (practice)approval only after documented triage, limited to 30 days; the data protection officer is responsible, otherwise the designated data protection role
Evidence producedblocked commit with the location in the code; documented triage decision with legal basis
Legal referenceArt. 6(1) GDPR (legal basis), Art. 9(1) and (2) GDPR (special categories), Art. 35(1) and (3) GDPR (impact assessment)

A scanner finds patterns, not a legal basis. Whether processing is permissible is decided by Art. 6(1) GDPR: it is lawful only if at least one of the six grounds is met — consent, contract, legal obligation, vital interests, public interest or legitimate interest. For special categories, for example health data or biometric data for unique identification, Art. 9(1) GDPR imposes a general prohibition on processing with narrow exceptions under paragraph 2. A finding in the repository is therefore a reason to examine, not a verdict.

Practice recommendation (no legal obligation) for the triage after a finding, in three steps: first, name the purpose of processing and the legal basis under Art. 6(1) GDPR. Second, check whether a special category under Art. 9(1) GDPR is affected — in which case the prohibition on processing applies, and the assessment of exceptions under Art. 9(2) GDPR must be documented. Third, where a high risk is likely — in particular where new technologies are used — initiate the data protection impact assessment under Art. 35(1) GDPR before the processing begins.

Two points can be supported well technically: where processing is based on consent, the controller must be able to demonstrate that consent was given (Art. 7(1) GDPR), and withdrawal must be as easy as giving consent (Art. 7(3) GDPR). Integrating the data protection impact assessment into code reviews builds on Art. 35 GDPR. Art. 35(3) GDPR names as further triggers for the assessment referred to in step 3 the systematic and extensive evaluation of personal aspects producing legal effects (profiling), large-scale processing of special categories of data under Art. 9 GDPR, and systematic monitoring of publicly accessible areas on a large scale. If one of these points applies in the review, that is the occasion to start the assessment.

Practice, how this becomes a process step: the preliminary check belongs in the pull request template as a fixed item — the three triggers of Art. 35(3) GDPR as tick boxes. It is set up by the development role and decided by the data protection officer, otherwise by the designated data protection role. The result is a dated note on the pull request, either 'no data protection impact assessment required' with reasons or 'assessment initiated'; this note is at the same time material for accountability under Art. 5(2) GDPR.

6. SME maturity — and why it does not change the set of obligations

The maturity of the toolbox does not determine whether obligations exist — it only influences how much effort the evidence takes. Three levels are common; the allocation is a practice recommendation (no legal obligation):

  • Level 1 — a single cloud provider: that provider's rule mechanics (section 2: AWS Config Rules for AWS, Azure Policy for Azure). As long as infrastructure is changed via the console, the evidence arises only afterwards, as a dated deviation report. You move to level 2 as soon as infrastructure is no longer changed in the console but as code.
  • Level 2 — infrastructure is managed as code: OPA and Terraform Sentinel, supplemented by Conftest as a test step in the pipeline. Now the evidence arises as a check result at the pull request, that is, before the deviation takes effect. You move to level 3 as soon as more than one account or provider must meet the same requirement.
  • Level 3 — rules are to apply across several accounts or providers: your own policies and drift detection that reports deviations from the target state in live operation. This level is reached when a requirement is defined centrally once and checked in every account; the evidence for this appears with a date in the check log.

Decisive for the set of obligations in Germany is § 28 BSIG: an entity counts as a particularly important entity if it is another entity of a type specified in Annex 1 and employs at least 250 employees or has an annual turnover of more than EUR 50 million and also an annual balance sheet total of more than EUR 43 million. An entity counts as an important entity if it is an entity of a type specified in Annex 1 or 2 with at least 50 employees or an annual turnover and an annual balance sheet total each of more than EUR 10 million, unless it already counts as a particularly important entity. Without allocation to a type in the annexes, this size classification does not apply; irrespective of these size criteria, § 28 BSIG covers, among others, qualified trust service providers, top-level domain name registries and DNS service providers. Operators of critical installations count separately as particularly important entities under § 28(1) BSIG.

In Austria, classification runs via §§ 24 and 25 NISG 2026 with the same size criteria: large enterprise from 250 employees or more than EUR 50 million turnover and more than EUR 43 million balance sheet total, medium-sized enterprise from 50 employees or more than EUR 10 million turnover and more than EUR 10 million balance sheet total.

7. Which obligations can be expressed as a rule — and which cannot

Short answer: what can be automated is the state, not the judgement. Rules check whether a measure works technically and produce the evidence for it; whether an obligation is met, whether an incident is 'significant' and whether a report is due are decided by people.

Every legal reference in the table is marked with the legal area (DE, AT or EU). The two right-hand columns are practical assessment; the references named there merely identify the relevant provision.

ObligationLegal referenceWhat the rule can do (practice)What it does not replace
Risk management measures (including cryptography, access control, MFA) DE: § 30(1) and (2) BSIG AT: § 32(1) and (4) NISG 2026 EU: Art. 21(1) and (2) Dir. (EU) 2022/2555 check the target state, block the deviation at deployment risk analysis and the assessment of what is proportionate
Documentation of compliance DE: § 30(1) sentence 3 BSIG generate change history and check logs automatically the substantive completeness of the documentation
Technical and organisational measures for personal data EU: Art. 32 GDPR enforce encryption and access limits technically the assessment of the level of protection
Accountability EU: Art. 5(2) GDPR provide traceable, dated evidence the assessment of whether the obligation is met in substance
Demonstrating consent EU: Art. 7(1) and (3) GDPR record of evidence per consent; keep the withdrawal route technically just as easy the design and information content of the consent
Reporting significant security incidents (24 h / 72 h / 1 month) DE: § 32(1) nos. 1 to 4 BSIG AT: § 34(2) nos. 1 to 5 NISG 2026 detection, time stamps, preservation of evidence, reminders of the deadlines classification as significant (DE § 2 no. 11 BSIG, AT § 35(1) NISG 2026) and the report itself
Reporting a personal data breach (without undue delay and, where feasible, within 72 hours; not required where a risk is unlikely) EU: Art. 33(1) GDPR detection and time measurement from becoming aware risk assessment and the decision to report
Responding to data subject requests (without undue delay, at the latest within one month; extension by two months only where the complexity and number of requests make it necessary, and only with notification within one month stating the reasons) EU: Art. 12(3) GDPR deadline monitoring and escalation the substance of the response
Registration with the authority (three months from the point at which the entity falls within scope; changes within two weeks) DE: § 33(1) and (5) BSIG AT: § 29(2) to (4) NISG 2026 reminders and maintenance of the master data the registration itself

The reporting stages of the row 'Reporting significant security incidents' in detail (DE: § 32(1) nos. 1 to 4 BSIG, AT: § 34(2) nos. 1 to 5 NISG 2026):

  • Stage 1 — without undue delay, at the latest within 24 hours of becoming aware of the incident: early initial report, in Austria an early warning.
  • Stage 2 — without undue delay, at the latest within 72 hours: report with an initial assessment; Art. 23(4)(b) of Directive (EU) 2022/2555 names for this the severity, the impact and, where applicable, indicators of compromise.
  • On request: an intermediate report.
  • Stage 3 — at the latest one month after the 72-hour report: final report. If the incident is still ongoing, a progress report must first be submitted; the final report follows once handling has been concluded.

The recipient in Germany is the joint reporting office of the Federal Office for Information Security (BSI) and the Federal Office of Civil Protection and Disaster Assistance (BBK), and in Austria the competent — sector-specific or national — CSIRT.

On the row 'Registration with the authority' in detail: in Austria the three-month period additionally runs from the entry into force of the NISG 2026. Changes to the master data must in Germany in principle be reported without undue delay, at the latest within two weeks (§ 33(5) BSIG), and in Austria within two weeks for the core data under § 29(2) nos. 1 to 5 NISG 2026. For entities that have counted in Germany as particularly important entities or important entities since the BSIG entered into force on 6 December 2025, the three-month period under § 33(1) BSIG has expired; the BSI points out that the statutory registration deadline has already passed (section 10).

8. Audit trail: what the evidence must carry

Short answer: without an audit trail, a passed CI check remains transient console output — only logging turns it into evidence.

Minimum fields per entry: time stamp (UTC), user ID, action (read/write/delete), affected record as a hash, result (success/fail), IP address. Reproducibility here means: the same rule version produces the same check result against the same state — which is why a check log remains comprehensible even months later. These details are practice, not statutory mandatory fields. Conversely: with user ID and IP address the log itself processes personal data — treat it therefore like any other processing of personal data, including inclusion in the record of processing activities, in so far as you are required to keep one.

For tamper resistance, hash-based logs (HMAC), append-only storage and WORM storage have proven useful; immutable logs have the higher evidential value, and hash chains and time stamping increase it further. In graded terms: the minimum is append-only storage, so that entries cannot be changed after the fact. The next level is hash chaining, where the logs are to hold up against third parties. WORM storage and time stamping are worth the effort as soon as evidence is due — in Germany under § 39(1) BSIG only for operators of critical installations, in Austria under § 33 NISG 2026 for all essential entities and important entities; the cycles for this are set out in the next paragraph.

Retention: neither Directive (EU) 2022/2555 nor the BSIG nor the NISG 2026 prescribes log retention periods — 90 days operational plus 12 months archive is a practice value. Because the log contains personal data, document these values as a deletion period, not merely as a retention time. What is legally required is the documentation of compliance (§ 30(1) sentence 3 BSIG). A fixed cycle exists in Germany only for operators of critical installations: evidence by means of security audits, reviews or certifications at the earliest three years after the initial classification and thereafter every three years (§ 39(1) BSIG). In Austria, § 33 NISG 2026 applies instead: a structured self-declaration within twelve months of the registration obligation arising and — on request — evidence from an independent body within two years; essential entities must demonstrate the operational and organisational implementation within two months of being requested to do so. In Germany, commercial and tax law periods remain unaffected: depending on the type of document, six years under § 257 of the German Commercial Code (HGB) or ten years under § 147 of the German Fiscal Code (AO).

9. In what order SMEs should start

Short answer: the first step is not a rule but clarifying whether you fall within scope — without that it is unclear which obligations are to be expressed at all. The following order is a practice recommendation (no legal obligation); the references named identify the respective obligation, not the route to meeting it.

  1. Clarify whether you fall within scope — management. Check whether the entity can be allocated to a type under Annex 1 or 2 and meets the size criteria: § 28 BSIG in Germany, §§ 24 and 25 NISG 2026 in Austria.
  2. Check registration and catch up if necessary — management. Check whether registration took place and make good any omission without undue delay: § 33(1) BSIG via the registration facility set up jointly by the BSI and the BBK, § 29 NISG 2026 with the Cybersecurity Authority (Cybersicherheitsbehörde, Austria). Deadlines for changes to the master data are in section 7.
  3. Set the first rule where the minimum catalogue applies technically — IT operations. Cryptography, access control and multi-factor authentication under § 30(2) BSIG or § 32(4) NISG 2026 can be formulated as a target state and checked automatically.
  4. Log check results — IT operations, and where personal data is involved together with the data protection officer. The logs are material for the documentation of compliance under § 30(1) sentence 3 BSIG and for accountability under Art. 5(2) GDPR.
  5. Define the reporting route and the classification decision as a human process — management. Record who decides whether an incident is significant (§ 2 no. 11 BSIG, § 35(1) NISG 2026) and who submits the report under § 32 BSIG or § 34 NISG 2026 — determined before the first incident occurs.

10. Limits: what policy as code does not take away

Short answer: responsibility. In Germany, the management bodies of particularly important entities and important entities must implement the risk management measures under § 30 BSIG and monitor their implementation (§ 38(1) BSIG); if they breach these duties, they are liable to their entity for culpably caused damage under the rules of the company law applicable to the legal form (§ 38(2) BSIG), and they must attend training regularly (§ 38(3) BSIG). In Austria, the management bodies must ensure and supervise compliance with the measures under § 32 NISG 2026 and attend cybersecurity training (§ 31 NISG 2026); the NISG 2026 contains no express internal liability provision such as § 38(2) BSIG — liability there follows from general company law.

Second, no pipeline handles a registration with an authority. Registration with the BSI must be carried out under § 33(1) BSIG at the latest three months after the entity acquires that status; the BSI points out that the statutory registration deadline has already passed. There is no official date for the start of supervisory and fining practice. Anyone who has missed registration should make it good without undue delay — it is a precondition for the further steps. For entities that only later count for the first time as particularly important entities or important entities, the three-month period under § 33(1) BSIG runs. And third, the balancing exercise remains: § 30(1) BSIG requires appropriate, proportionate and effective measures. What is proportionate in a specific operation cannot be stored as a rule — it must be reasoned and documented.

Frequently asked questions

From what company size is policy as code worthwhile?
Empirical value (as at 2 May 2026): the set-up pays off from around 10 cloud engineers or 50 IT staff. That is an empirical value and not a statutory threshold: whether NIS2 obligations exist depends on the type and size of the entity (DE: § 28 BSIG; AT: §§ 24, 25 NISG 2026).
How long does it take to learn Open Policy Agent?
Empirical values (as at 2 May 2026): 1 to 2 weeks per engineer for Open Policy Agent, 2 to 4 months to a complete set-up. Both are empirical values and not a requirement from any standard.
Does policy as code replace the documentation under § 30(1) sentence 3 BSIG?
No, but it can produce it. The obligation requires that compliance with the measures be documented. A versioned rule base with check logs covers the technical part; risk analysis, the proportionality decision and the allocation to the areas of § 30(2) nos. 1 to 10 BSIG remain editorial work. In data protection the same applies to Art. 5(2) GDPR.
Which NIS2 obligations cannot be automated?
Those tied to deadlines and those that are personal. Registration within three months (DE § 33 BSIG, AT § 29 NISG 2026), reporting significant incidents in three stages (24 hours, 72 hours, final report within one month of the 72-hour report — DE § 32 BSIG, AT § 34 NISG 2026; deadlines and recipients in detail in section 7), the classification of an incident as significant (DE § 2 no. 11 BSIG, AT § 35(1) NISG 2026) and the training obligation of the management (DE § 38(3) BSIG, AT § 31 NISG 2026).
How long must policy logs be retained?
For NIS2 there is no statutory log retention period; 90 days operational plus 12 months archive is a practice value (derivation and evidence cycles in section 8). In Germany, commercial and tax law retention periods remain unaffected: depending on the type of document, six years under § 257 HGB or ten years under § 147 AO.
Does the approach apply in Austria in the same way?
The technical approach yes, the legal references no. Instead of the BSIG, the NISG 2026 applies (BGBl. I Nr. 94/2025): registration § 29, risk management measures § 32, evidence § 33, reporting § 34, management bodies § 31. The competent body is the Federal Office for Cybersecurity (Cybersicherheitsbehörde, Austria), an authority subordinate to the Federal Minister of the Interior. The NISG 2026 begins to apply on 1 October 2026. The GDPR itself applies in the same way in both countries; the national supplements differ — in Germany the German Federal Data Protection Act (BDSG) (among other things the obligation to designate a data protection officer as soon as, as a rule, at least 20 persons are constantly engaged in the automated processing of personal data, § 38(1) BDSG), in Austria the Austrian Data Protection Act (DSG) without an additional designation threshold. Supervision is exercised in Germany by the authorities competent under Land law or by the Federal Commissioner for Data Protection (BfDI), and in Austria by the Austrian Data Protection Authority (Datenschutzbehörde).

Sources

  • German BSI Act 2025 (BSIG, consolidated following the NIS2UmsuCG), §§ 30, 32, 38 (management duties), gesetze-im-internet.de/bsig_2025 (as at: 17 August 2026)
  • German BSI Act 2025 (BSIG), § 2 no. 11 (significant security incident), § 28 (types of entity and size thresholds, Annex 1 and 2), § 30(1) sentence 3 (documentation obligation), § 33 (registration), § 39(1) (evidence every three years for operators of critical installations), gesetze-im-internet.de/bsig_2025
  • Directive (EU) 2022/2555 (NIS2), Art. 21(1) and (2) (risk management measures), Art. 23 (reporting obligations), eur-lex.europa.eu (NIS2 Directive)
  • Austria: NISG 2026 (BGBl. I Nr. 94/2025), § 32 (risk management measures), § 34 (reporting 24 h / 72 h / 1 month to the competent CSIRT), § 29 (registration), ris.bka.gv.at
  • Austria: NISG 2026 (BGBl. I Nr. 94/2025), § 24 and § 25 (essential/important entities, size thresholds), § 31 (management bodies), § 33 (self-declaration and evidence), § 35(1) (significant cybersecurity incident), ris.bka.gv.at
  • Regulation (EU) 2016/679 (GDPR), Art. 32 (technical and organisational measures), eur-lex.europa.eu (GDPR)
  • Regulation (EU) 2016/679 (GDPR), Art. 5(2) (Accountability), Art. 6(1) (legal bases), Art. 7 (consent and withdrawal), Art. 9 (special categories), Art. 12(3) (response deadline), Art. 33 and 34 (notification and communication), Art. 35 (data protection impact assessment), eur-lex.europa.eu (GDPR)
  • German Federal Data Protection Act (BDSG), § 38(1) (obligation to designate where at least 20 persons are constantly engaged in automated processing), § 40(1) and § 9(1) (supervisory competence), gesetze-im-internet.de/bdsg_2018; Austria: Austrian Data Protection Act (DSG), § 5 and § 18(1) (Austrian Data Protection Authority), ris.bka.gv.at
  • § 257 HGB and § 147 AO (commercial and tax law retention periods), gesetze-im-internet.de/hgb/__257, gesetze-im-internet.de/ao_1977/__147
  • Open Policy Agent (OPA) specification, openpolicyagent.org

Legal status of the sources reviewed: 17 August 2026 (BSIG); other sources: 2 May 2026

Practitioner note: This article is practice-oriented compliance documentation, not legal advice. We are compliance specialists, not a law firm. For legally binding advice, consult an admitted lawyer.

Tools & self-tests

Fine calculator Calculate the potential fine risk for your company. Compliance deadlines calendar 2026-2028 All relevant compliance deadlines (GDPR, AI Act, NIS2, HinSchG, AGG).