Skip to main content

scalio-catalog

Shared code for the Scalio Blueprint governance catalog: one desired state per tenant, used by Foundry (roll out), Citadel (keep, drift) and Rosetta (document). Concept and decisions BP1-BP12: https://claude.ai/artifact/8PYfvHPm17KsooerLU95Ar (scalio-docs concepts/governance-catalog.md, ADR 0027). Format contract: scalio-docs interfaces/catalog-format.md.

Nothing in this package is secret. The catalog content lives in the private repo scalio_blueprint; the signing seed stays in 1Password.

Documents

Kind What Owner
ResourceType Something in a tenant (name as in Microsoft365DSC/UTCM, e.g. AADConditionalAccessPolicy): properties, read/write endpoint, permission Scalio
Control One security statement: match, desired values, parameters, severity, texts DE/EN, frameworks Scalio, MSP, customer
Baseline Versioned bundle of controls with default values Scalio, MSP
Assignment Tenant -> baseline@version, mode, channel, values, exceptions, own controls customer
Pack Header of a signed package Scalio, MSP

References: id (highest), id@1.2.3 (exact), id@^1.2 (same major, at least 1.2). Assignments name an exact version.

Use in an app

from scalio_catalog import Catalog, compare, effective, plan_upgrade, summary, verify

catalog = verify(package_bytes, TRUSTED_CATALOG_KEYS)        # signed pack from Compass or the image
eff = effective(catalog, assignment)                         # baseline + customer layer, master untouched
results = compare(eff, {c.id: read_resource(c) for c in eff.controls})   # app reads the tenant
print(summary(results))                                      # {"counts": ..., "score": 92}
plan = plan_upgrade(catalog, assignment, "scalio.kmu-standard@1.5.0")    # three-way, conflicts listed

compare statuses: ok, drift, missing, excepted (all deviations covered by an active exception), not_read, removed (customer removed it), incomplete (a value is missing).

Values (later wins): control default, baseline parameters, value on the baseline entry, assignment values, assignment controlValues.<control>. Exceptions need a reason, end date and approver; expired ones count as deviations again and are listed in problems; at most 366 days when approvedAt is given.

Command line

scalio-catalog validate <folders...>          check structure, references, texts
scalio-catalog effective <assignment> <folders...> [--today 2026-11-01]
scalio-catalog pack <folder> -o dist          sign (CATALOG_SIGNING_KEY or --key-file), --base for other packs
scalio-catalog verify <file> --key <public>   check a package
scalio-catalog keygen                         new key: seed to 1Password, public key into the apps
scalio-catalog schema > catalog-v2.schema.json

Editing in VS Code

Install the YAML extension (Red Hat) and add to the workspace settings of scalio_blueprint:

{ "yaml.schemas": { "./schema/catalog-v2.schema.json": ["controls/**/*.yaml", "baselines/**/*.yaml",
  "resource-types/**/*.yaml", "pack.yaml"] } }

(scalio-catalog schema > schema/catalog-v2.schema.json writes the file.)

Release

Bump pyproject.toml and __version__, CHANGELOG line, merge, then "Freigeben" in the Scalio Dev cockpit (or Actions -> Publish with the version). Publishes to PyPI via trusted publishing (no token).

Metadata

Release files for scalio-catalog 0.1.0

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

Source distribution (sdist)

Source distribution for scalio-catalog 0.1.0
File Size Uploaded Provenance Actions
scalio_catalog-0.1.0.tar.gz 24.0 kB With provenance Details for scalio_catalog-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scalio-catalog 0.1.0
File Interpreter ABI Platform Actions
scalio_catalog-0.1.0-py3-none-any.whl Python 3 none any Details for scalio_catalog-0.1.0-py3-none-any.whl

Total release size: 44.8 kB

Release files / scalio_catalog-0.1.0.tar.gz

Download URL scalio_catalog-0.1.0.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8fe84d3b2afbc1d64800d17f1d1804c2d622fe1a4925d338bf82e0ef8d5a69a9
BLAKE2b-256 checksum
How to use checksums
e7d098fec8e80285596fd94fb3e50dfe4d5cabf2d9b8ba3e48f11a0670947f7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Release files / scalio_catalog-0.1.0-py3-none-any.whl

Download URL scalio_catalog-0.1.0-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c916167deace99be71d5eb30fc7ce51b43d9b7ee917382716c553ca375942d0
BLAKE2b-256 checksum
How to use checksums
b985d7f5c25bb025fd7f8dedf12718b5baf87c691c4ea5899ee20db259b30ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Security for scalio-catalog 0.1.0

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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for scalio_catalog-0.1.0.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 Oct 28, 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