Skip to main content

tibet-nis2 — NIS2 Directive Compliance Tool

NIS2 (Directive 2022/2555) deadline has passed. Every essential and important entity in the EU must comply. No exceptions, no extensions, no excuses.

tibet-nis2 is a standalone compliance tool covering all ten sub-articles of NIS2 Article 21(2) — from risk analysis to multi-factor authentication — with a full TIBET audit trail for every assessment, decision, and incident.

Why This Exists

The EU adopted NIS2 because cyber incidents keep escalating:

  • Odido hack (2024) — Millions of customer records exposed. A telecom provider that should have had supply chain security and incident response in place. NIS2 Art. 21(2)(d) was written exactly for this.
  • Politie cookies hack — Dutch police systems compromised through a trivial web vulnerability. Basic cyber hygiene (Art. 21(2)(g)) would have prevented it.
  • Ransomware across EU hospitals — Patient data held hostage because backup and business continuity plans (Art. 21(2)(c)) were missing.

NIS2 is not bureaucracy. It is the minimum bar for operating critical infrastructure in 2025.

What It Covers

All ten cybersecurity risk-management measures from NIS2 Art. 21(2):

Sub-article Requirement tibet-nis2
(a) Risk analysis & information system security policies Asset inventory + risk assessment
(b) Incident handling 24h/72h/final report templates
(c) Business continuity & crisis management Continuity checks
(d) Supply chain security Dependency mapping + verification
(e) Security in acquisition of network/information systems Procurement checks
(f) Assessing effectiveness of risk management Scoring + gap analysis
(g) Basic cyber hygiene & cybersecurity training Hygiene checklist
(h) Cryptography & encryption policies Crypto audit
(i) HR security, access control, asset management Access + asset checks
(j) Multi-factor authentication MFA verification

Every check produces a TIBET token — an immutable provenance record linking the assessment to the asset, the auditor, and the NIS2 article.

Installation

pip install tibet-nis2

Or from source:

git clone https://github.com/jaspertvdm/tibet-nis2.git
cd tibet-nis2
pip install -e .

Quick Start

from tibet_nis2 import NIS2Auditor, Asset

auditor = NIS2Auditor(organization="Acme BV", sector="essential")

# Register assets
auditor.add_asset(Asset(
    id="srv-prod-01",
    name="Production Database",
    category="ESSENTIAL",
    asset_type="database",
    owner="infra-team",
    criticality=5,
))

auditor.add_asset(Asset(
    id="fw-edge-01",
    name="Edge Firewall",
    category="ESSENTIAL",
    asset_type="network",
    owner="security-team",
    criticality=5,
    dependencies=["srv-prod-01"],
))

# Run full compliance check
report = auditor.check_compliance()
print(f"Score: {report.overall_score}/100")
print(f"Compliant: {report.compliant}")
print(f"Gaps: {len(report.gaps)}")

# Incident response
incident = auditor.incident_report(
    asset_id="srv-prod-01",
    incident_type="data_breach",
    description="Unauthorized access to customer database detected",
)
print(f"Early warning deadline: {incident.early_warning_deadline}")
print(f"Full report deadline: {incident.full_report_deadline}")

CLI Commands

# NIS2 overview — what it is, who must comply, deadlines
tibet-nis2 info

# Run compliance check (demo mode with sample assets)
tibet-nis2 check

# Show asset inventory
tibet-nis2 assets

# Incident response demo (simulates Odido-style breach)
tibet-nis2 incident

# Full demo: assets → risks → compliance → incident → deadlines
tibet-nis2 demo

# Show all Art. 21(2) sub-articles and coverage status
tibet-nis2 articles

# JSON output (all commands)
tibet-nis2 check --json
tibet-nis2 assets --json

TIBET Audit Trail

Every assessment produces provenance tokens with the TIBET structure:

  • ERIN — What was assessed, what was found
  • ERAAN — Related assets, dependencies, JIS identity
  • EROMHEEN — Auditor node, timestamp, NIS2 article reference
  • ERACHTER — The "why": which NIS2 article this satisfies
auditor = NIS2Auditor(organization="Acme BV")
# ... add assets, run checks ...
chain = auditor.provenance.chain()
# Every token is linked, hashed, and traceable

Part of the TIBET Ecosystem

tibet-nis2 is part of the TIBET protocol family:

  • tibet-core — Provenance token engine
  • tibet-pol — Policy enforcement (no action without proof)
  • tibet-twin — Digital twin synchronicity guard
  • tibet-y2k38 — Y2038 time overflow protection
  • tibet-edge — Edge device provenance
  • tibet-nis2 — NIS2 compliance (this package)

Authors: J. van de Meent & R. AI (Root AI) License: MIT — Humotica AI Lab 2025

License

MIT

Credits

Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.


Stack-positie: Groep evidence · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← tibet-wayback · tibet-report → · See STACK.md · See demo/golden-path/ for the spine end-to-end.

Enterprise

For private hub hosting, SLA support, custom integrations, or compliance guidance:

Enterprise enterprise@humotica.com
Support support@humotica.com
Security security@humotica.com

See ENTERPRISE.md for details.

Metadata

Release files for tibet-nis2 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tibet-nis2 0.1.1
File Size Uploaded Provenance Actions
tibet_nis2-0.1.1.tar.gz 19.5 kB Without provenance Details for tibet_nis2-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tibet-nis2 0.1.1
File Interpreter ABI Platform Actions
tibet_nis2-0.1.1-py3-none-any.whl Python 3 none any Details for tibet_nis2-0.1.1-py3-none-any.whl

Total release size: 41.2 kB

Release files / tibet_nis2-0.1.1.tar.gz

Download URL tibet_nis2-0.1.1.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
64494f38d1a72acbc1d2fcc90ee0e8d92338784e245f04ff2b4b68475dd7aa9e
BLAKE2b-256 checksum
How to use checksums
064fc1ca67d8cc99934906c233e732442f515b1ee36e67974c1ce393a026cd1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / tibet_nis2-0.1.1-py3-none-any.whl

Download URL tibet_nis2-0.1.1-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56c20061bd3632f2e71052e3dbfb16dee346e00a6e0756d9fa6f5205aab84274
BLAKE2b-256 checksum
How to use checksums
b84c033c74d73930caf6b7b559ab92c46836f56928f005bf2f7e9e736a24e74b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for tibet-nis2 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page