1000-ft view: integrity controls protect what your app executes or trusts —
updates, deserialization, remote configs, plugins, and CI/CD artifacts. These demos
enforce hash/signature checks, allowlists, and
safe formats with audit logs under /a08_integrity/logs/integrity.log.
Secure idea: verify the update archive’s sha256 (and/or a detached signature)
before installing. Reject mismatches and log decisions.
updates/update_v1.sha256 (and .sig if present).Secure idea: reject PHP-serialized blobs; accept **JSON only** and validate against an allowlist of fields/types before use.
{"action":"greet","name":"Alice"}).
Secure idea: load configs from a trusted channel and require a valid HMAC/signature
(e.g., data/config.json + config.json.hmac). Refuse unverified content.
Secure idea: only load approved plugins by ID + hash from an allowlist, verify content hash, and store/execute outside the webroot via a safe wrapper.
plugin_id.plugin_loader/allowlist.json before loading.
Secure idea: require a signed manifest/attestation for release bundles
before deploy; verify all file hashes, then stage into /cicd/releases.