Trust

Topic: trust

Explanation

protoparser trust <pml_file> evaluates the trust state of a ProtoML document and all macros actually used inside it.

The trust model is intentionally lightweight:

To avoid unnecessary overhead, ProtoML distinguishes between:

Important clarification:

If a nearest project protoml.macros.json exists next to the target file or in one of its parent directories, trust, verify, and validate automatically use its configured registries entries.

-trustRegistry=... is a trust lookup flag, not its own subcommand. You pass it to trust, verify, or validate when those commands should consult extra registry sources beyond the discovered project configuration.

Accepted source forms:

The flag is repeatable, so you can combine multiple registry sources:

What the flag actually does:

Command behavior:

Fully specified macro trust classification:

Fully specified document (.pml) trust classification:

How to read common trust results:

Recommended workflow choices:

1. Use built-in bundled macros through {{macro_dir}} when you want low-friction trusted defaults. 2. Use your own unsigned local macros when experimentation matters more than formal trust, and expect unknown. 3. Sign custom macros and add trusted authors to a registry when you want custom macros to resolve to trusted. 4. Review any macro with JavaScript or external URLs manually, even when it is bundled or signed.

Detached sidecar workflow outside a registry:

Author side:

User side:

Examples

protoparser trust "Meeting.pml"
protoparser verify "./macros/warn_box.pml"
protoparser trust "Meeting.pml" -trustRegistry="./my-registry"
protoparser -vv trust "Meeting.pml" -trustRegistry="https://example.org/protoml.registry.json"