Skip to main content

FestIn logo

FestIn

Credentialless discovery and monitoring of exposed S3-compatible cloud storage from domains, DNS and web crawling.

CI Python 3.13+ Docker pulls PyPI version Ruff


FestIn finds exposed S3 buckets tied to your domains and, since the 0.3 release, ships a multi-project, multi-user monitoring dashboard that watches them continuously: scheduled rescans, persisted findings, an exposure trend chart and a REST API — in an industrial ops-console UI.

Component What it does
festin scan Crawler + DNS discovery + bucket permutations + multi-cloud probing + secret detection. SARIF/CSV/JSONL export, Tor support, checkpoint/resume.
festin serve Dashboard on http://localhost:8420: projects, scans, findings, scheduled scans, users with JWT auth.

FestIn dashboard

See it in action

HOME — the exposure radar. Data-generated headline, severity split, scan outcomes and rankings — the full page:

Dashboard — home

SCANS — every execution with status tokens and project/status filters:

Dashboard — scans

FINDINGS — secrets classified by severity, with rule, bucket, object and redacted match:

Dashboard — findings

Project detail — domains, scheduled scans and recent executions per project:

Project detail

What's new in 0.3

  • Monitoring dashboard (festin-serve): multi-project (organize domains into projects), multi-user (JWT + admin/viewer roles), scheduled scans, full REST API.
  • Scan results persisted as real rows — buckets and findings are queryable, not just counters.
  • Exposure trend — a data-generated headline chart: is your exposure going up or down over 14 days?
  • Ops-console UI — vanilla-JS SPA, no build step, dark industrial design.
  • Docker image on Docker Hub: cr0hn/festin.

Full changelog in the documentation.

Quick start

# scanner: one-shot audit
uvx festin scan example.com --permute --export sarif --output findings.sarif

# dashboard: continuous monitoring
uvx festin-serve --port 8420
# open http://127.0.0.1:8420 — the first account you register becomes admin

Or with Docker:

docker run -d --name festin \
  -p 8420:8420 \
  -e FESTIN_JWT_SECRET="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')" \
  -v festin-data:/data \
  cr0hn/festin:latest

More install options (pip, uv, dev setup) in the installation guide.

Documentation

Everything lives in the MkDocs Material site — installation, tutorials, scanner CLI reference, dashboard tour, REST API, configuration, Docker/Kubernetes/HA deployment, security hardening and a runbook:

Read the documentation →

Topic Link
Tutorial: scanner usage/tutorial-scanner
Tutorial: dashboard usage/dashboard-tutorial
REST API usage/api
Production (Docker/K8s/HA) deploy
Runbook & troubleshooting reference/runbook

Build it locally:

uv sync --group docs
uv run mkdocs serve    # http://localhost:8000

Development

git clone https://github.com/cr0hn/festin.git && cd festin
uv sync --group dev
timeout 130 uv run pytest --timeout=30 -q    # 305 tests — always with the timeout

Contribution rules, complexity gates and verification checklist: reference/development.

License

Free and open for personal and professional use — no cost, no restrictions on what you use it for.

If you want to build a paid service or commercial product around FestIn (SaaS, managed offering, redistribution as part of a paid platform...), that use case is paid and requires a separate agreement with the author first. Contact: daniel@danielalfocea.com.

See LICENSE for the full terms.

Metadata

Release files for festin 0.3.2

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

Source distribution (sdist)

Source distribution for festin 0.3.2
File Size Uploaded
festin-0.3.2.tar.gz 6.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for festin 0.3.2
File Interpreter ABI Platform
festin-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 6.9 MB

Release files / festin-0.3.2.tar.gz

Download URL festin-0.3.2.tar.gz
Size 6.8 MB
Tags Source
SHA-256 checksum
How to use checksums
66fe6bf1a04151a05a60152efb0dd7690b6114082e0a6d83bab75c1b907fdd33
BLAKE2b-256 checksum
How to use checksums
8726fe8668c3787d6b7d960e620b49edf6652a2f8a01a5325db641aa009d15cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / festin-0.3.2-py3-none-any.whl

Download URL festin-0.3.2-py3-none-any.whl
Size 92.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6fc3d933ddf93d7a0128042e4d2336db4c3b89de0efb0465d1c1aa9c6c70de3
BLAKE2b-256 checksum
How to use checksums
ded0dc749fcfda4d78554433fa6fb99037dbaab3f1376ae5fd3d99ec76f665fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.0.14

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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