Skip to main content

DORA Compliance Auditor for OpenAPI Specs

Project description

PanDoraSpec - DORA Compliance Audit Tool

The PanDoraSpec Tool is an automated audit system designed to verify compliance with DORA (Digital Operational Resilience Act) requirements for third-party ICT providers. It performs deep technical analysis of APIs to detect schema drift, resilience issues, and security vulnerabilities.

Project Structure

This is a monorepo containing both the backend and frontend components:

  • backend/: Python/FastAPI/Celery application that runs the audit engine using Schemathesis.
  • frontend/: Next.js application providing the user interface for submitting audits and viewing reports.

Getting Started

Prerequisites

  • Docker Desktop installed and running.

Application Setup

The entire stack is containerized using Docker Compose.

  1. Start the application:

    docker-compose up --build
    

    This will start the following services:

  2. Access the Dashboard:

    Open your browser to http://localhost:3000.

  3. Run an Audit:

    • Enter a Vendor Name.
    • Provide the OpenAPI Schema URL OR Upload a local Schema File (JSON/YAML).
    • (Optional) detailed API Key.
    • Click "Run DORA Audit".

Audit Modules

Module A: The "Docs vs. Code" Drift Check (The Integrity Test)

Why: DORA requires you to monitor if the service effectively supports your critical functions. If the API behaves differently than documented, it's a risk.

Module B: The "Resilience" Stress Test (Art. 24 & 25)

Why: DORA Article 25 explicitly calls for "Digital operational resilience testing".

Module C: The Security Hygiene Check

Why: Basic ICT security requirements.

Module D: The Compliance Report (The Deliverable)

Output: A branded PDF titled "DORA ICT Third-Party Technical Risk Assessment".

CLI Usage (Open Core)

You can run the audit engine directly from the command line using the pandoraspec command.

# Run against a URL using Docker
docker exec -it checker-api-1 pandoraspec https://petstore.swagger.io/v2/swagger.json --vendor "PetStore"

# Run locally (if installed via pip install .)
pandoraspec https://petstore.swagger.io/v2/swagger.json

# Run against a local file
pandoraspec ./openapi.json

(Note: The CLI provides beautiful terminal output powered by Rich)

Deployment

This project is configured for Railway deployment out-of-the-box.

Production Notes

  • Frontend: The frontend/Dockerfile uses a multi-stage build (standalone output) for optimized production performance.
  • Backend API: Runs via Uvicorn.
  • Worker: Runs via Celery with Redis as the broker.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandoraspec-0.1.0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pandoraspec-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file pandoraspec-0.1.0.tar.gz.

File metadata

  • Download URL: pandoraspec-0.1.0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pandoraspec-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c15c4047e86cf1fcc44806d7c0a74a1c62f96531f010e0fa159f9c8eb5f5413d
MD5 cfa17a4e75950c4f4ed795d81830acd6
BLAKE2b-256 52f0ab2e8659c71aa3ac0bd6738b3771235c552d030ff4b6b4bc38aef879f8fc

See more details on using hashes here.

File details

Details for the file pandoraspec-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pandoraspec-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for pandoraspec-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34b19c9e8e3478b7d75be8f70857024b316a9f2e3338c5cc00370179e72461ba
MD5 5bfa191e6c4f45b1d0faeccc67e94a4b
BLAKE2b-256 0f24edce72bd4159a3d675ad1555a288b18e10139f2f8c97b11370be8876db3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page