scrutiny-viz is the comparison and reporting component of the broader Scrutiny toolset.
It compares measurement profiles using YAML schemas and can produce:
- normalized JSON from supported raw inputs
- a machine-readable verification JSON
- an HTML report for human inspection
- batch comparison outputs for one-to-many workflows
Scrutiny-viz can be used as a standalone tool or as a later-stage component in a larger Scrutiny workflow.
Main Scrutiny project: https://github.com/crocs-muni/scrutiny
The unified CLI entry point is:
python scrutinize.py -hAvailable commands:
map— convert supported raw inputs into normalized JSONverify— compare two normalized JSON files using a schemareport— render an HTML report from verification JSONfull— map if needed, then verify, then reportbatch-verify— compare one reference against many profiles
- Python 3.13+
- pip
git clone https://github.com/crocs-muni/scrutiny-viz.git
cd scrutiny-viz
python -m venv .venv
source .venv/bin/activate # Linux / macOS
# or .\.venv\Scripts\Activate.ps1 on Windows PowerShell
pip install -r requirements.txtpython scrutinize.py verify \
-s scrutiny/schemas/TPMAlgTest.yml \
-r examples/TPM/tpm_example1.json \
-p examples/TPM/tpm_example2.json \
-o results/tpm_verify.json
python scrutinize.py report \
-p results/tpm_verify.json \
-o tpm_comparison.htmlpython scrutinize.py full \
-s scrutiny/schemas/TPMAlgTest.yml \
-r tests/mapper/test-data/TPMAlgTest/INTC_Intel_10.0.36.1030.csv \
-p tests/mapper/test-data/TPMAlgTest/INTC_Intel_10.0.36.1030.csv \
-t tpm \
--verify-output results/tpm_verify.json \
--report-output tpm_comparison.htmlpython scrutinize.py batch-verify \
-s scrutiny/schemas/jcAlgSupport.yml \
-r examples/jcAlgSupport/Infineon_CJTOP_80K_INF_SLJ_52GLA080AL_M8.4_ICFabDate_2012_001_ALGSUPPORT.json \
--profiles-dir tests/mapper/test-data/jcAlgSupport \
--profile-type jcalgsupport \
--report-mode nonmatchFor deeper usage and development information, see:
- Use
mapwhen your input is raw and supported by a mapper. - Use
verifywhen you already have two normalized JSON files. - Use
reportwhen you already have a verification JSON. - Use
fullwhen you want one command for the entire single comparison pipeline. - Use
batch-verifywhen you want to compare one reference against many profiles.
The project is organized around modular:
- mappers for normalization
- comparators for section-level comparison
- viz plugins for report rendering
- schemas for structure, ingest behavior, comparator selection, and report types