A ledger nobody updates is not a ledger.

    Decisions get made in a pull request thread, a ticket, a doc. Quick Capture turns the sentence on your screen into a governed decision record without a second tab, then brings the approvals back to you in the same place.

    Included with DecisionLedger. Chrome and Chromium browsers, installed from a link your administrator shares.

    Highlight, capture, done

    The decision was already written. It just was not recorded.

    Watch a sentence buried in a pull request thread become a governed decision record, tagged to its source, without anyone opening a second tab.

    github.com/acme/platform/pull/44121

    We are going with the queue-backed writer. Postgres LISTEN/NOTIFY will not hold at our fan-out, and the team accepts the extra operational surface.

    Quick CaptureCtrl+Shift+D
    Title
    Use a queue-backed writer instead of LISTEN/NOTIFY
    Description, from your selection
    We are going with the queue-backed writer. Postgres LISTEN/NOTIFY will not hold at our fan-out.
    githubarchitecturesource linked
    Capture Decision
    Approval needednow
    DEC-4412 is held at the code merge gate
    Approve Reject
    Nothing leaves your tenant. Host access is pinned to your DecisionLedger domain, and sign-in runs through your own identity provider.

    Every decision system dies at the same place

    Not at analysis, and not at reporting. At capture. The gap between where a decision is made and where it is supposed to be recorded is where the whole discipline quietly fails.

    The decision is made in another tool

    In a pull request thread, a ticket comment, a doc, a message. By the time anyone would open the ledger to write it down, the moment and the wording are both gone.

    Logging it costs a context switch

    A new tab, a form, and retyping something that is already on the screen. That cost is small, it is paid many times a day, and it is why governance backlogs exist.

    So the record is written later, or never

    What survives is a summary reconstructed from memory at quarter end, with no source, no evidence, and no owner attached to it.

    The popup

    File on the left, unblock on the right

    One surface behind the toolbar icon. Capture the decision on the page you are reading, and clear the queue that is waiting on you, without either one hiding behind a tab.

    DecisionLedger Quick Capture

    Title
    Adopt a queue-backed writer over LISTEN/NOTIFY
    Description
    Postgres LISTEN/NOTIFY will not hold at our fan-out, and the team accepts the extra operational surface.
    Category
    (none)
    Decision Type
    Operational
    Priority
    Medium
    Visibility
    Private
    Tags
    chrome-extension github Add tag, press Enter

    Recent captures

    Adopt a queue-backed writer over LISTEN/NOTIFY7/30/2026
    Review acme/platform PR #44887/30/2026
    Standardize retry and dead-letter policy7/29/2026
    Defer the Frankfurt region launch7/28/2026
    NotificationsSign out

    Governance Review Required: advance decision

    An agent attempted to advance a decision that is held at a governance gate.

    6m ago

    Governance Review Required: advance decision

    An agent attempted to advance a decision that is held at a governance gate.

    11m ago

    PR held for review

    acme/platform #4488, rate limit keyed on token

    18m ago

    Open all notifications

    Awaiting your approval (8)Approve all shown

    Governance Review: advance decision

    HIGH

    ApproveReject

    Governance Review: advance decision

    HIGH

    ApproveReject

    acme/platform #4488, rate limit keyed on token

    HIGH RISK · code merge gate

    ApproveReject
    Ask the ledger: what did we decide about...

    A re-creation of the extension popup, not a screenshot.

    Capture where it happens

    The capture has to be cheaper than not capturing. Six ways this one gets under that bar.

    Capture from the page you are already on

    Highlight the sentence that is actually the decision. The form opens with it already filled in.

    • The page title becomes the proposed decision title, and your selected text becomes the description
    • Set category, decision type, priority, and visibility before it is filed
    • Tags through a pill input, with the source tag applied for you
    • Recent captures are listed in the popup, so you can see what you have already filed
    • The source URL is carried into the record, so the decision points back at the thread it came from

    It knows what tool you are in

    The extension reads the host and tags the record accordingly, so the ledger stays sorted by where work actually happens.

    • GitHub, Jira, Linear, Slack, Notion, and email in Gmail or Outlook are recognized automatically
    • The matching source tag is applied and the originating link is embedded in the record
    • Everything else still captures cleanly with the default extension tag

    Source recognition works from the page address and the text you selected. The extension does not read or extract message history from any of these tools.

    Two faster ways in

    For the times when even opening a popup is friction.

    • Ctrl+Shift+D on Windows or Cmd+Shift+D on Mac captures the current page instantly
    • Type dl followed by your text in the address bar to file a decision without touching the page
    • Both paths tag the record with how it was captured, so you can audit intake later

    Draft it from the page with AI

    When the decision is buried in a long thread rather than in one clean sentence.

    • Reads your selection, or the main body of the article when nothing is selected
    • Proposes a title, a description, a decision type, and an urgency level
    • Applies the suggestion into the form, where you correct it before filing

    Attach the proof while you have it

    The evidence is on screen right now. It will not be in six months.

    • Send your highlighted selection to an existing decision as an evidence document
    • The source address is written into the attachment, so the quote keeps its provenance
    • It lands in the same document store as every other piece of evidence on that record

    It does not lose your capture

    Planes, hotel wifi, a VPN that just dropped.

    • A failed capture is queued locally and retried automatically about once a minute
    • You get a notification when the queue drains, so you know the record actually landed
    • A capture the server rejects as invalid is dropped rather than retried forever

    It is not only an inbox for capture

    The same toolbar icon is where the work comes back. Approvals, prior art, and a real model run, all without opening the platform.

    The queue comes to you

    Approvals do not stall because the approver forgot to log in. They stall because nobody told them.

    • Desktop notifications for decisions, approvals, and mentions, each with a link that opens the exact item
    • An unread count on the toolbar icon, cleared when you open the popup
    • One merged queue in the popup: approval workflow requests and pull requests held at the code merge gate
    • Approve or reject inline, or approve everything shown at once
    • Rejecting a held pull request asks for the reason, which is written to the record

    Approve from the notification itself

    The buttons are on the desktop notification. The browser does not even have to come to the front.

    • Approve and Reject are actions on the notification, not links to a page with more clicking behind it
    • The action posts straight to the approval record, with the same authorization as the web app
    • This covers merge gate holds, which is the queue most likely to be blocking someone else's work

    Run a model on what you highlighted

    For the decisions where an opinion is not good enough and a quick number would settle it.

    • Right click a selection and run a risk assessment or a cost benefit analysis on it
    • Inputs are extracted from the text and validated against the model's real schema
    • The run executes through the normal path, so it produces a real run id, not a chat answer
    • The result arrives as a notification with the headline number and a link into the full run

    Check before you decide it twice

    Most bad decisions are not new. They contradict one somebody already made and nobody could find.

    • Semantic search across the ledger from the popup, ranked by match strength
    • The toolbar badges when decisions already reference the page you are on
    • Those decisions are listed in the popup under the page you are viewing
    • A configurable domain list can raise a prompt when you land somewhere that usually warrants a record first

    Written to survive a security review

    Browser extensions are the last thing a security team wants to approve, and they are right to be suspicious. Here is exactly what this one can reach.

    Two hosts, and nothing else

    Host permissions are pinned to your DecisionLedger API and its sign-in domain. The extension has no standing access to any other site you visit.

    Sign-in through your own identity provider

    Authorization code flow with PKCE against your hosted login. The extension never sees a password and holds no client secret. Credentials are collected by the identity provider, not by the extension.

    Tokens held the careful way

    The refresh token is stored locally and the access token lives in session storage, which is memory only and does not survive a browser restart.

    No third party push infrastructure

    Notifications are fetched by polling your own tenant on a schedule, not delivered through an external push service. No decision content passes through a vendor in the middle.

    Manifest V3, reviewed and unlisted

    Built on the current extension platform and distributed unlisted, so it is installed by a link your admin shares rather than found by anyone browsing the store.

    Reads a page only when you ask

    Page content is read on demand when you invoke the extension, through an injected read of your selection. There is no always-on content script watching what you browse.

    No personal data is collected for our own use and nothing is sold to third parties. A page title, a page address, and the text you selected are sent to your own DecisionLedger tenant, and only at the moment you click capture.

    The whole surface

    The short version of everything above, for the part of the evaluation that is a checklist.

    Highlight to capture

    Selection becomes the description

    Omnibox capture

    Type dl in the address bar

    Keyboard shortcut

    Ctrl+Shift+D or Cmd+Shift+D

    Source aware tagging

    GitHub, Jira, Linear, Slack, Notion, email

    AI draft from page

    Title, type, and urgency proposed

    Selection as evidence

    Attached with its source address

    Desktop notifications

    Deep links and an unread badge

    Inline approvals

    Including code merge gate holds

    Models on a selection

    Risk assessment and cost benefit

    Semantic search

    Find the prior decision before you repeat it

    Page aware badge

    Shows decisions that reference this page

    Offline capture queue

    Retried automatically until it lands

    How your team gets it

    Included with DecisionLedger at no extra cost. Distributed unlisted rather than published to the public store, so an install is a deliberate act by your administrator.

    1

    Your admin shares the install link

    The extension is distributed unlisted, so it is not something an employee finds and installs on their own. Your administrator sends the link to the people who should have it.

    2

    Sign in with your normal account

    The same identity provider and the same credentials as the web app, including your existing multi-factor setup. Nothing separate to provision.

    3

    It updates itself

    New versions roll out through the store automatically, so nobody has to be asked to upgrade and no version drifts behind.

    Bring a thread you never wrote down

    Open a real pull request or ticket in the demo. We will capture the decision out of it, attach the quote as evidence, and route it for approval before the call ends.