<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on Open Secrets Language</title><link>https://www.decodering.org/docs/</link><description>Recent content in Documentation on Open Secrets Language</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://www.decodering.org/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>OSL API Specification</title><link>https://www.decodering.org/docs/osl-api-specification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.decodering.org/docs/osl-api-specification/</guid><description>&lt;h1 id="open-secrets-language-osl--abstraction-api-v100"&gt;Open Secrets Language (OSL) — Abstraction API v1.0.0&lt;/h1&gt;
&lt;h2 id="1-goals"&gt;1) Goals&lt;/h2&gt;
&lt;p&gt;This version defines OSL as a provider-agnostic abstraction that can map cleanly onto:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HashiCorp Vault&lt;/li&gt;
&lt;li&gt;OpenBao&lt;/li&gt;
&lt;li&gt;HCP Vault&lt;/li&gt;
&lt;li&gt;AWS Secrets Manager&lt;/li&gt;
&lt;li&gt;Azure Key Vault&lt;/li&gt;
&lt;li&gt;Google Cloud Secret Manager&lt;/li&gt;
&lt;li&gt;CyberArk Conjur&lt;/li&gt;
&lt;li&gt;Kubernetes External Secrets Operator&lt;/li&gt;
&lt;li&gt;Doppler&lt;/li&gt;
&lt;li&gt;Delinea Secret Server&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="key-abstraction-strategy"&gt;Key abstraction strategy&lt;/h3&gt;
&lt;p&gt;Different providers support different features (e.g., versioning, dynamic credentials, sync/injection). This API:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Defines a &lt;strong&gt;small required core&lt;/strong&gt; that all backends can implement.&lt;/li&gt;
&lt;li&gt;Adds optional modules (leases, rotation, sync) that are &lt;strong&gt;capability-gated&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Makes &lt;strong&gt;capability discovery&lt;/strong&gt; mandatory so clients never guess.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="2-versioning-and-naming"&gt;2) Versioning and naming&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Major version in the URL path&lt;/strong&gt;: &lt;code&gt;/osl/v1/...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spec version returned in responses&lt;/strong&gt;: &lt;code&gt;&amp;quot;osl_version&amp;quot;: &amp;quot;1.0.0&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kebab-case&lt;/strong&gt; for endpoint paths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Snake-case&lt;/strong&gt; for JSON fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-authentication"&gt;3) Authentication&lt;/h2&gt;
&lt;p&gt;Clients MUST send a bearer token on every request:&lt;/p&gt;</description></item><item><title>Identity Agent</title><link>https://www.decodering.org/docs/identity-agent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.decodering.org/docs/identity-agent/</guid><description>&lt;h2 id="name"&gt;NAME&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Identity Agent&lt;/code&gt; -&lt;/p&gt;
&lt;h2 id="description"&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;A service responsible for validating application identity using certificates installed into virtual or hardware based TPM 2.0 modules.&lt;/p&gt;
&lt;h2 id="see-also"&gt;SEE ALSO&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dcdr(1)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dcdr-server(8)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>decodeRing CLI</title><link>https://www.decodering.org/docs/decodering-cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.decodering.org/docs/decodering-cli/</guid><description>&lt;h2 id="name"&gt;NAME&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dcdr&lt;/code&gt; - command-line client for decodeRing secret lifecycle operations.&lt;/p&gt;
&lt;h2 id="synopsis"&gt;SYNOPSIS&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dcdr &lt;span style="color:#f92672"&gt;[&lt;/span&gt;global options&lt;span style="color:#f92672"&gt;]&lt;/span&gt; command &lt;span style="color:#f92672"&gt;[&lt;/span&gt;command options&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;arguments&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dcdr&lt;/code&gt; is the command-line interface for interacting with a decodeRing server. It supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;application registration and user management&lt;/li&gt;
&lt;li&gt;secret create/read/taint/destroy workflows&lt;/li&gt;
&lt;li&gt;backend visibility and audit log export&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After successful authentication with &lt;code&gt;dcdr auth&lt;/code&gt;, the token is cached at &lt;code&gt;~/.dcdr/token&lt;/code&gt; and reused automatically.&lt;/p&gt;
&lt;h2 id="global-options"&gt;GLOBAL OPTIONS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--addr&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Address of the decodeRing server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Authentication token to use for this command.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--skip-verify&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Skip SSL certificate verification.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="environment"&gt;ENVIRONMENT&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;DCDR_TOKEN&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Authentication token used when &lt;code&gt;--token&lt;/code&gt; is not supplied.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;DCDR_SKIP_VERIFY&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
If set to &lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;, bypasses SSL certificate verification.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="see-also"&gt;SEE ALSO&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dcdr-server(8)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>decodeRing Core</title><link>https://www.decodering.org/docs/decodering-core/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.decodering.org/docs/decodering-core/</guid><description>&lt;h2 id="name"&gt;NAME&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dcdr-core-server&lt;/code&gt; - server process for managing secrets through a unified backend abstraction.&lt;/p&gt;
&lt;h2 id="synopsis"&gt;SYNOPSIS&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dcdr-server &lt;span style="color:#f92672"&gt;[&lt;/span&gt;options&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dcdr-server generate-ssl &lt;span style="color:#f92672"&gt;[&lt;/span&gt;--out &amp;lt;path&amp;gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dcdr-server&lt;/code&gt; provides the decodeRing Core runtime and API service for managing secrets across multiple backend providers.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On first startup, the server generates encryption key shards and a root authentication token. Key shards are persisted in the &lt;code&gt;key_shards&lt;/code&gt; database table, and both shards and the initial root token are printed to standard output. The root token is then used to authenticate as the &lt;code&gt;root&lt;/code&gt; user. The key shards are used to assemble the unlock encryption key that unlocks the server (allowing it to accept requests) as well as encrypt sensitive data.&lt;/p&gt;</description></item></channel></rss>