Skip to main content

Atlas Datamap

Atlas Datamap is a Python toolkit for structural and semantic database discovery. It scans an existing database, builds a navigable sigilo-style data map, exports portable metadata artifacts, and can layer local-LLM enrichment and natural-language QA on top of the same structural model.

PyPI package: atlas-datamap
Python package: atlas

Start Here

For most users, the first Atlas command should be:

atlas onboard

atlas onboard is the guided local workflow for a real database. It asks for connection details, privacy mode, sigilo preferences, optional local-AI settings, and optional local .env handling. It then writes a local workspace and runs the full Atlas round:

  • scan artifacts
  • panel and standalone HTML
  • health and executive reports
  • structured exports
  • local history snapshots
  • diff report when a previous snapshot exists
  • optional semantic enrichment outputs

If you are evaluating Atlas from GitHub or PyPI for the first time, start with atlas onboard before learning the lower-level commands.

Full wizard reference:

Origin

Atlas Datamap grew out of the same sigilo and systems-thinking work behind CCT, a complete programming language and compiler project:

Atlas is not the CCT compiler and it is not implemented as a CCT runtime. Instead, it is a standalone Python product inspired by CCT's visual sigilo language, database-structure reading patterns, and native rendering ideas.

What Atlas does

  • introspects relational databases into a canonical metadata graph
  • renders the graph as an interactive SVG sigilo
  • exports .sigil, .atlas, HTML, JSON, CSV, and Markdown artifacts
  • scores and classifies tables heuristically
  • enriches tables and columns with local AI semantics
  • answers natural-language questions against database metadata
  • diffs snapshots and keeps local history archives
  • exposes the same workflows through a CLI and a Python SDK

Supported databases

Atlas currently supports:

  • PostgreSQL
  • MySQL
  • MariaDB
  • SQL Server
  • SQLite
  • generic SQLAlchemy connections through generic+<dialect>://...

Supported local AI backends

Atlas does not bundle a model. It connects to a local provider that you run yourself. Current backends:

  • Ollama
  • llama.cpp
  • OpenAI-compatible local endpoints

Typical semantic workflows are:

  • atlas enrich for table and column semantics
  • atlas ask for natural-language metadata questions

Installation

Base installation:

pip install atlas-datamap

Install database and AI extras as needed:

pip install "atlas-datamap[postgresql]"
pip install "atlas-datamap[mysql]"
pip install "atlas-datamap[mssql]"
pip install "atlas-datamap[generic]"
pip install "atlas-datamap[ai]"

For local development:

make install-dev

Quickstart

Check the installed CLI:

atlas --help
atlas --version

Guided onboarding for a real database:

atlas onboard

The onboarding wizard asks for the database type, connection details, privacy mode, sigilo options, and optional local-AI settings. It writes only local files inside your chosen workspace and then runs the full Atlas round:

  • scan artifacts
  • panel HTML
  • standalone HTML
  • health and executive reports
  • structured exports
  • optional semantic enrichment
  • local history snapshots
  • diff report against the previous local snapshot when one exists

Secrets can be stored in a local .env file managed by the onboarding flow. Atlas does not upload those secrets, snapshots, or schema metadata to third parties on its own. Database traffic goes only to the database you configure, and onboarding restricts AI traffic to local endpoints such as localhost and 127.0.0.1.

Minimal connection config:

[connection]
engine = "sqlite"
database = "examples/full_showcase/generated/databases/aurora_demo_v1.db"
privacy_mode = "masked"
sample_limit = 20

Run a basic structural workflow:

atlas scan --config atlas.toml --output out
atlas open out/aurora_demo_v1.svg
atlas info --config atlas.toml --table main.payments --format json
atlas search --config atlas.toml "payment dispute"
atlas report --config atlas.toml --output out/health_report.html

Generate portable artifacts:

atlas export json --atlas out/aurora_demo_v1.atlas --output out/dictionary.json
atlas export csv --atlas out/aurora_demo_v1.atlas --entity tables --output out/tables.csv
atlas export markdown --atlas out/aurora_demo_v1.atlas --output out/dictionary.md
atlas export svg --atlas out/aurora_demo_v1.atlas --output out/standalone.html

Local AI with Ollama

Install the AI extra and pull a small local model:

pip install "atlas-datamap[ai]"
ollama pull qwen2.5:1.5b

Example AI config:

[ai]
provider = "ollama"
base_url = "http://127.0.0.1:11434"
model = "qwen2.5:1.5b"
timeout_seconds = 60
temperature = 0.1

Semantic enrichment and QA:

atlas enrich --ai-config atlas.ai.toml --sigil out/aurora_demo_v1.sigil --output out/semantic
atlas ask --ai-config atlas.ai.toml --sigil out/semantic/aurora_demo_v1_semantic.sigil "Where are payment disputes tracked?"

Atlas sends structural metadata and privacy-aware sanitized samples to the local model. It does not send the rendered SVG image to the model.

If you configure atlas enrich or atlas ask manually outside atlas onboard, the effective trust boundary is the AI endpoint you choose. atlas onboard restricts AI to localhost-style endpoints, while manual AI configs can point elsewhere if you explicitly set them that way.

Python SDK

from atlas import Atlas, AtlasConnectionConfig

config = AtlasConnectionConfig.from_url("sqlite:///demo.db")
atlas = Atlas(config)

result = atlas.scan()
sigilo = atlas.build_sigilo(result, style="network", layout="circular")
sigilo.save("demo.svg")

snapshot = atlas.create_snapshot(result, sigilo)
snapshot.save("demo.atlas")

Native sigilo renderer

Atlas includes a native C sigilo renderer and a Python fallback renderer.

  • when the native library is available, Atlas uses it automatically
  • when it is unavailable, Atlas falls back to Python without breaking the higher-level workflow
  • atlas --version reports which path is active

Public CLI surface

Current commands:

  • scan
  • open
  • info
  • search
  • report
  • onboard
  • export
  • enrich
  • ask
  • diff
  • history

Documentation

Example showcase

The repository contains a full end-to-end showcase with a larger fictional financial-commerce database:

Fictional bank sigilo

python examples/full_showcase/build_full_showcase.py
python examples/full_showcase/build_full_showcase.py --enable-ollama

That showcase exercises:

  • sigilo generation
  • reports and exports
  • semantic enrichment
  • natural-language QA
  • snapshot diffing
  • local history
  • SDK usage

The repository also includes a focused fictional-bank sigilo example that shows the datamap language more directly:

  • SVG: examples/fictional_bank.system.svg
  • Generator: examples/render_fictional_bank_sigilo.py

Privacy note

Atlas is local-first and does not upload credentials, snapshots, or schema metadata to third parties on its own. Still, masked is a name-based redaction mode, not a full DLP guarantee, and generated artifacts can persist rich schema metadata locally. For the safest default workflow, start with atlas onboard, prefer a local AI runtime, and use stats_only or no_samples when you do not want sample-derived prompt context. See the full guidance in docs/privacy.md.

Development

Common project commands:

make install-dev
make build
make build-c
make docs
make lint
make typecheck
bash tests/run_tests.sh

License

MIT

Metadata

Release files for atlas-datamap 1.0.7

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

Source distribution (sdist)

Source distribution for atlas-datamap 1.0.7
File Size Uploaded Provenance
atlas_datamap-1.0.7.tar.gz 220.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for atlas-datamap 1.0.7
File
atlas_datamap-1.0.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
atlas_datamap-1.0.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
atlas_datamap-1.0.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 3.3 MB

Release files / atlas_datamap-1.0.7.tar.gz

Download URL atlas_datamap-1.0.7.tar.gz
Size 220.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aeff9f33b049bce2c40b5b8fcd903189899e64bf4d644c6b792d90f5cd831209
BLAKE2b-256 checksum
How to use checksums
a06623142c72ceff36b220e9465e80ca750e590d8ce56036d5ef6aefa790effb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-win_amd64.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-win_amd64.whl
Size 255.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
dadc68d13c95bdd612fa9db4ae4f4574cc89129930748bc681070187e5196562
BLAKE2b-256 checksum
How to use checksums
af35a6c00a4fb02ad83a0e69a339f4232778aebc12a8d49bd7aac3740dec0178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 247.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
94ba208d8447f4abcd597a805d749fdc734f827a0ed64172bc9c4adafbde7199
BLAKE2b-256 checksum
How to use checksums
e09a1f2abec73db03fda9f722d0cf6a1f21edf7dacf4b648663fc05003f8b20d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 247.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fc22412976001e9c1634ffb74ab7d2c9063a57cf4d4baad2935be7e7ca1e3779
BLAKE2b-256 checksum
How to use checksums
d6c625d9317553b7735e61a20802772d18bdf2feceba368caed190ee628a6384
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Size 269.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7afc26a07efaf17bb1ea241581e33c10a715035650917b1c10882c4c4bbf1087
BLAKE2b-256 checksum
How to use checksums
032bde35fd8c0b7e98f29fc32f90cc630972428a86f15b6a71fe1950c15deb9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl
Size 244.8 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
82bb0512234895f864444ee25fb1f3de20797d0bbfc9adbbb23581f89b78938a
BLAKE2b-256 checksum
How to use checksums
f7bef34fd22da336716599869c3438b4cf939449d09ad16fe767555ba16d64f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_universal2.whl

Download URL atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_universal2.whl
Size 269.2 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f331a99b41cc95e85e8ec086f83fbe1fbf6126649a8ba8251221200977d893c2
BLAKE2b-256 checksum
How to use checksums
3fa3d0265dfeae8ee65050ddfdc8cc2a7083559a6eb3d72295c2095e0cc3f946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl
Size 255.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
2c8b011ffbd748605a11faeff522746b82432f50820f14b047274bd93c532201
BLAKE2b-256 checksum
How to use checksums
dd7e8bdbdcf7164bffe222d226e2d31a77b7857fa40d649c387dfb6d9eb9a17c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 247.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
55a9987cc257b1b359a976b90f7c8142e8058c7ed9d7553ee6c3079cffe6cefb
BLAKE2b-256 checksum
How to use checksums
7038853c3d4660720f4b881c2b7f0167383ae5b4ce36f7af841efacc94efe114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 247.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
78cd4ee8c433e58973fb70fcd14caf84b1008137e6ec83a6a060f0ed8b31ae20
BLAKE2b-256 checksum
How to use checksums
91221e372596156e69b45d6e00c3d251a7db5b8ff085073f8da9f1ad6caca7b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Size 269.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f837fc712f4244adac1c7324e18d76f917b9f38e3a812dd78600f422a8fb149d
BLAKE2b-256 checksum
How to use checksums
5a00902b6d0cbcd0549fbf7d101db5cdf6aaf820d9ddf78587e21fd9f7011692
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl
Size 244.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1a781e0f7b54825f0282998f97ec8feb33c2acb66ebb40818c1bf39d876b7cf2
BLAKE2b-256 checksum
How to use checksums
c92cf88523ab20f20642671c3d434c0e1b4ab2f8c6ed7961445030e1944032da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Release files / atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_universal2.whl

Download URL atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_universal2.whl
Size 269.1 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3fa07784483dc75b634c64b85798d0d9aa9274fd81b45220a22b6b487c4f1ab6
BLAKE2b-256 checksum
How to use checksums
9f1f9163891b7d0af3272704b2ec380a1802dddbeda9d046a2d24779d0acd7ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Apr 3, 2026.

Transparency log

Security for atlas-datamap 1.0.7

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.

Full provenance

All 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for atlas_datamap-1.0.7.tar.gz

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 Apr 3, 2026.

Transparency log

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.

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