<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pages on tokening.net</title>
    <link>https://tokening.net/pages/</link>
    <description>Recent content in Pages on tokening.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 26 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://tokening.net/pages/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://tokening.net/about/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/about/</guid>
      <description>&lt;p&gt;Tokening is a small gateway that lets an AI agent do one job against your API without holding your API key. You issue a grant for the task: this post, these fields, one use, fifteen minutes. The agent gets the grant&amp;rsquo;s secret. Tokening keeps the real key, checks every call against the grant and writes down what it decided and why.&lt;/p&gt;&#xA;&lt;p&gt;It exists because most APIs only offer broad keys. An agent asked to fix a typo usually ends up with a password that can delete the site. Prompt injection makes that worse. A page the agent reads can tell it to do something else, and nothing stands between that instruction and the API. A grant is that something.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://tokening.net/contact/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/contact/</guid>
      <description>&lt;p&gt;Write to &lt;a href=&#34;mailto:info@tokening.net&#34;&gt;info@tokening.net&lt;/a&gt; with questions, use cases or ideas. The most useful message describes a task you&amp;rsquo;d like to hand to an agent and where the permission gets awkward. That&amp;rsquo;s what decides which templates come next.&lt;/p&gt;&#xA;&lt;p&gt;Found a bug? &lt;a href=&#34;https://github.com/softdevstudio/tokening/issues&#34;&gt;Open an issue&lt;/a&gt; with the version, your operating system, a small policy with made-up values and the steps that show the problem. The refusal code helps. Please strip grant secrets, admin tokens, vault keys and real credentials before you paste anything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Demo</title>
      <link>https://tokening.net/demo/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/demo/</guid>
      <description>&lt;p&gt;A scripted agent gets a grant to edit one WordPress post, once. Then it tries to do more. Press Play, or step through it, and watch what Tokening allows and why it refuses the rest. This is a recording from a throwaway WordPress in Docker, so nothing here contacts a real site.&lt;/p&gt;&#xA;&lt;div&gt;&#xA;&lt;iframe id=&#34;tokening-replay&#34; src=&#34;https://tokening.net/replay/?embed=1&#34; title=&#34;Step-by-step replay of the Tokening WordPress demo&#34; width=&#34;100%&#34; height=&#34;1000&#34; style=&#34;border:0;display:block;width:100%;max-width:100%&#34; sandbox=&#34;allow-scripts&#34; loading=&#34;eager&#34;&gt;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&lt;script&gt;&#xA;window.addEventListener(&#39;message&#39;, function (event) {&#xA;  var frame = document.getElementById(&#39;tokening-replay&#39;);&#xA;  if (!frame || event.source !== frame.contentWindow) return;&#xA;  var height = event.data &amp;&amp; event.data.tokeningReplayHeight;&#xA;  if (typeof height === &#39;number&#39; &amp;&amp; height &gt; 200 &amp;&amp; height &lt; 20000) frame.style.height = height + &#39;px&#39;;&#xA;});&#xA;&lt;/script&gt;&#xA;&lt;p&gt;What you just watched:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download</title>
      <link>https://tokening.net/download/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/download/</guid>
      <description>&lt;p&gt;The current version is 0.1.1. Each archive has the &lt;code&gt;tokening&lt;/code&gt; binary, an example policy, the manuals and licence notices. Apple Silicon Macs use arm64, Intel Macs use amd64.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;System&lt;/th&gt;&#xA;          &lt;th&gt;Archive&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, Intel or AMD&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/tokening-linux-amd64.tar.gz&#34;&gt;tokening-linux-amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, ARM64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/tokening-linux-arm64.tar.gz&#34;&gt;tokening-linux-arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Intel&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/tokening-darwin-amd64.tar.gz&#34;&gt;tokening-darwin-amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Apple Silicon&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/tokening-darwin-arm64.tar.gz&#34;&gt;tokening-darwin-arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows, Intel or AMD&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/tokening-windows-amd64.zip&#34;&gt;tokening-windows-amd64.zip&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;check-the-download&#34;&gt;Check the download&lt;/h2&gt;&#xA;&lt;p&gt;Get &lt;a href=&#34;https://github.com/softdevstudio/tokening/releases/latest/download/SHA256SUMS&#34;&gt;SHA256SUMS&lt;/a&gt; too, then compare the hash of your archive with the matching line:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sha256sum tokening-linux-amd64.tar.gz          &lt;span style=&#34;color:#75715e&#34;&gt;# Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shasum -a &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt; tokening-darwin-arm64.tar.gz     &lt;span style=&#34;color:#75715e&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get-FileHash -Algorithm SHA256 tokening-windows-amd64.zip   &lt;span style=&#34;color:#75715e&#34;&gt;# Windows PowerShell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The checksums prove the file arrived intact. They aren&amp;rsquo;t a separate signature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://tokening.net/quick-start/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/quick-start/</guid>
      <description>&lt;p&gt;This page takes you from nothing to an AI agent making one allowed call through Tokening. Allow about fifteen minutes. If you only want to see it work first, &lt;a href=&#34;https://tokening.net/demo/&#34;&gt;step through the recorded demo&lt;/a&gt; or run it yourself in step 1.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-run-the-demo-on-your-machine&#34;&gt;1. Run the demo on your machine&lt;/h2&gt;&#xA;&lt;p&gt;You need Git, Docker Compose v2 and Python 3. Nothing here touches a real website.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/softdevstudio/tokening.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd tokening&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make demo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The script starts a throwaway WordPress, issues two grants, runs a scripted agent against them and checks the posts afterwards. Then it deletes everything it made. The replay and decision log land in &lt;code&gt;test/results/local/demo/&lt;/code&gt;. Open &lt;code&gt;replay.html&lt;/code&gt; in a browser to step through your own run.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://tokening.net/reference/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://tokening.net/reference/</guid>
      <description>&lt;p&gt;Everything Tokening 0.1 understands, on one page. The full manuals live in the &lt;a href=&#34;https://github.com/softdevstudio/tokening/tree/main/docs&#34;&gt;repository docs&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-four-parts&#34;&gt;The four parts&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Part&lt;/th&gt;&#xA;          &lt;th&gt;What it is&lt;/th&gt;&#xA;          &lt;th&gt;Who holds it&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Target&lt;/td&gt;&#xA;          &lt;td&gt;An API Tokening can reach: an MCP server over HTTP, or a REST base URL, plus its real credential&lt;/td&gt;&#xA;          &lt;td&gt;Operator, in the policy file and the encrypted vault&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Template&lt;/td&gt;&#xA;          &lt;td&gt;A permission shape: one tool (or one HTTP method and path), the arguments allowed, their limits, the most uses and the longest lifetime&lt;/td&gt;&#xA;          &lt;td&gt;Operator, in the policy file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Grant&lt;/td&gt;&#xA;          &lt;td&gt;A template filled in for one task: the post ID, the number of uses, the deadline, who it&amp;rsquo;s for and why&lt;/td&gt;&#xA;          &lt;td&gt;Agent holds the secret; Tokening holds the record&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Decision&lt;/td&gt;&#xA;          &lt;td&gt;The result of every call: allowed or refused, a code, a reason, the grant&lt;/td&gt;&#xA;          &lt;td&gt;Audit log, exportable as JSONL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Issuing a grant can only narrow a template. A text-edit template can never become a delete.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
