protoml-parser
Version:
ProtoML is a lightweight, declarative markup language designed for writing and structuring meeting protocols, notes and task lists in a human-readable and machine-parseable format.
71 lines (68 loc) • 3.19 kB
HTML
<html>
<head>
<meta charset="UTF-8">
<title>Workflow 2: Build An Author-Only Registry - ProtoML 1.4.2+build67</title>
<link rel="stylesheet" href="help.css">
</head>
<body>
<nav class="topnav">
<a href="../toc.html">Contents</a>
<span class="version">ProtoML 1.4.2+build67</span>
</nav>
<main class="page">
<h1>Workflow 2: Build An Author-Only Registry</h1>
<p>Acme Inc. does not need a full macro package registry for this governance story. It only needs one reviewed trust source that says which board members are trusted signers and which public keys belong to them.</p>
<h2>The registry</h2>
<p>The board secretariat maintains one internal registry whose only real job is trust lookup for approved signers.</p>
<h2>Bootstrap the key pair first</h2>
<p>Before the registry can publish trusted signers, each signer needs a private key for signing and a public key for verification.</p>
<pre><code>openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out "./keys/jane-director-private.pem"
openssl rsa -pubout -in "./keys/jane-director-private.pem" -out "./keys/jane-director-public.pem"</code></pre>
<p>The private key stays with Jane Director. The exported public key is what the board secretariat copies into the registry JSON.</p>
<pre><code>{
"version": 1,
"name": "acme-board-authors",
"authors": [
{
"name": "Jane Director",
"trust": "trusted",
"keys": [
{
"id": "board-chair-2026",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
}
]
},
{
"name": "Martin Director",
"trust": "trusted",
"keys": [
{
"id": "board-member-2026",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
}
]
}
],
"packages": []
}</code></pre>
<p>This is still a valid ProtoML registry. It is simply author-focused rather than package-focused.</p>
<h2>Why this works</h2>
<ul>
<li>trust-oriented commands only need the <code>authors</code> list for signer lookup</li>
<li>an empty <code>packages</code> list is acceptable when this registry is not used for macro delivery</li>
<li>the registry can be published on an internal file share or internal HTTPS endpoint</li>
</ul>
<h2>Company hosting choices</h2>
<p>Acme Inc. can publish this registry in two equally simple ways:</p>
<ul>
<li>as an internal URL such as <code>https://intra.acme.local/protoml/protoml.registry.json</code></li>
<li>as a shared path such as <code>Z:\board-registry</code> or <code>/mnt/board-registry</code></li>
</ul>
<p>In both cases the content is still just static JSON. The difference is only how employees reach it.</p>
<h2>Continue with</h2>
<p>Once the trusted author registry exists, the board chair signs the final ProtoML file in <a href="15c_sign_governance_workflow.html">Workflow 3: Sign And Publish The Governance Document</a>.</p>
</main>
</body>
</html>