<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Notch Revenue Notes]]></title><description><![CDATA[Notch Revenue Notes]]></description><link>https://notchrevenue.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 12 Nov 2026 07:46:35 GMT</lastBuildDate><atom:link href="https://notchrevenue.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[A Weekly Revenue Review for Solo Makers (Without Living in the Stripe Dashboard)]]></title><description><![CDATA[If you sell a small product through Stripe, you probably know the loop: open the dashboard "just to check", notice a chart, click into a customer, and…]]></description><link>https://notchrevenue.hashnode.dev/a-weekly-revenue-review-for-solo-makers-without-living-in-the-stripe-dashboard</link><guid isPermaLink="true">https://notchrevenue.hashnode.dev/a-weekly-revenue-review-for-solo-makers-without-living-in-the-stripe-dashboard</guid><category><![CDATA[stripe]]></category><category><![CDATA[macOS]]></category><category><![CDATA[indie hackers]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[Notch Revenue Team]]></dc:creator><pubDate>Tue, 10 Nov 2026 03:00:01 GMT</pubDate><content:encoded><![CDATA[<p>If you sell a small product through Stripe, you probably know the loop: open the dashboard "just to check", notice a chart, click into a customer, and twenty minutes later you have shipped nothing. The numbers matter, but the way most of us look at them costs more attention than it returns.</p>
<p>Here is a lighter routine that has worked for me: glance daily, review weekly.</p>
<h2>Daily: two numbers, no clicks</h2>
<p>For day-to-day motivation you only need two figures: revenue today and revenue this month. Anything more detailed belongs in a weekly review, not in the middle of a coding session.</p>
<p>Put those two numbers somewhere you already look. On a Mac that can be the menu bar or, on newer MacBooks, the notch area. Tools like <a href="https://notchrevenue.com">Notch Revenue</a> show today's and this month's Stripe revenue right in the notch and pop a small confetti when a sync finds a new payment. It syncs at launch and about every two hours, with a manual refresh, so it is a calm glance rather than a stream of alerts.</p>
<h2>Use a restricted, read-only key</h2>
<p>Whatever tool you pick, do not hand it your full secret key. In Stripe, create a restricted key with read access only to the resources the tool needs, give it a clear name, and store it somewhere safe. Notch Revenue keeps restricted read-only keys in the macOS Keychain and the revenue data stays on your Mac. Never paste a live key into a blog post, an issue tracker or a chat.</p>
<h2>Weekly: thirty minutes, one checklist</h2>
<p>Once a week, open the real dashboard on purpose:</p>
<ol>
<li>Compare this week's revenue with last week's and note one reason for the change.</li>
<li>Check failed payments and refunds.</li>
<li>Read new customer emails or support threads.</li>
<li>Write down one experiment for next week (pricing page copy, onboarding email, a new directory listing).</li>
</ol>
<p>Because the daily glance already answers "is anything happening?", the weekly session can focus on "why?".</p>
<h2>What to expect</h2>
<p>This split will not make revenue grow by itself. What it does is protect focus: you still see each small win, and the deep analysis happens once a week when you are ready for it.</p>
<p>Notch Revenue is a native macOS app for Apple Silicon Macs on macOS 14 or later, priced at US$19.99 one-time with no subscription.</p>
<hr />
<p>Learn more at <a href="https://notchrevenue.com">notchrevenue.com</a></p>
]]></content:encoded></item><item><title><![CDATA[How to Create a Read-Only Stripe Restricted Key (Step by Step)]]></title><description><![CDATA[Almost every useful Stripe side tool, from revenue widgets to analytics dashboards to bookkeeping exports, asks for an API key. The safest way to give it…]]></description><link>https://notchrevenue.hashnode.dev/how-to-create-a-read-only-stripe-restricted-key-step-by-step</link><guid isPermaLink="true">https://notchrevenue.hashnode.dev/how-to-create-a-read-only-stripe-restricted-key-step-by-step</guid><category><![CDATA[stripe]]></category><category><![CDATA[macOS]]></category><category><![CDATA[indie hackers]]></category><dc:creator><![CDATA[Notch Revenue Team]]></dc:creator><pubDate>Thu, 05 Nov 2026 03:24:16 GMT</pubDate><content:encoded><![CDATA[<p>Almost every useful Stripe side tool, from revenue widgets to analytics dashboards to bookkeeping exports, asks for an API key. The safest way to give it one is a <strong>restricted key</strong> with read-only permissions. This guide walks through why, how to create one, and how to manage it afterwards.</p>
<p>I will describe the Stripe Dashboard in general terms, because Stripe updates its interface from time to time. If a label looks slightly different on your screen, look for the closest equivalent; the concepts do not change.</p>
<h2>Why not just use the secret key?</h2>
<p>Stripe gives every account a publishable key and a secret key. The secret key can do essentially anything the API allows: create charges, issue refunds, change customers, and more. Handing it to a third-party tool that only needs to <em>read</em> your revenue means trusting that tool with far more power than it needs.</p>
<p>A restricted key fixes this. You decide, resource by resource, whether the key gets no access, read access, or write access. If a restricted key leaks, the damage is limited to what you allowed, and you can revoke it without touching your main integration.</p>
<p>Principle of least privilege, applied to payments.</p>
<h2>Before you start</h2>
<ul>
<li>Make sure you are signed in to the right Stripe account. If you run several products, check the account switcher.</li>
<li>Decide whether you are working in <strong>test mode</strong> or <strong>live mode</strong>. Keys are separate for each. A revenue display tool needs a live-mode key to show real revenue, but test mode is a great place to practise.</li>
<li>Read the tool's documentation to see exactly which resources it needs to read. Good tools list them.</li>
</ul>
<h2>Step 1: Open the API keys area</h2>
<p>In the Stripe Dashboard, go to the developers / API keys area. This is where your standard publishable and secret keys are listed, along with any restricted keys you have already made.</p>
<h2>Step 2: Start creating a restricted key</h2>
<p>Look for the option to create a restricted key. Stripe may ask how you plan to use the key; if so, choose the option that indicates you are giving it to another application or building your own integration, then continue to the permissions screen.</p>
<h2>Step 3: Name the key after the tool</h2>
<p>Give the key a name that tells future-you exactly where it lives, for example <code>revenue-widget-readonly</code> or <code>bookkeeping-export-2026</code>. One key per tool is the single most useful habit here, because it lets you revoke one tool without breaking the others.</p>
<h2>Step 4: Set permissions to read-only</h2>
<p>You will see a list of Stripe resources, each with options along the lines of None, Read, and Write.</p>
<ol>
<li>Leave everything at <strong>None</strong> by default.</li>
<li>Set <strong>Read</strong> only for the resources your tool documents as required. Revenue tools commonly need read access to things like charges, payment intents, or balance-related data, but follow your tool's list rather than guessing.</li>
<li>Do not grant <strong>Write</strong> to anything for a display or reporting tool. If a tool that only shows numbers asks for write access, treat that as a warning sign.</li>
</ol>
<h2>Step 5: Create and copy the key once</h2>
<p>Create the key. Stripe will show the key value; restricted keys typically begin with a prefix like <code>rk_live_</code> or <code>rk_test_</code>. Copy it straight into the tool that needs it.</p>
<p>Important rules:</p>
<ul>
<li><strong>Never</strong> paste a real key into chat, a forum, a GitHub issue, a screenshot, or a support email. In this guide, any example such as <code>rk_live_XXXXXXXX</code> is a placeholder, not a real key.</li>
<li>Do not store it in a plain text note. On a Mac, a well-behaved app stores it in the Keychain for you.</li>
<li>Do not commit it to a repository, even a private one.</li>
</ul>
<h2>Step 6: Paste it into the tool and verify</h2>
<p>Open your tool, paste the key, and confirm it can load data. If it shows an error about permissions, go back to the key in the Dashboard and add the specific read permission it mentions. Avoid the temptation to switch everything to Read "just to make it work".</p>
<p>As an example, <a href="https://notchrevenue.com">Notch Revenue</a> is a macOS app that shows today's and this month's Stripe revenue in the MacBook notch. It asks for a restricted read-only key, stores it in the macOS Keychain, and keeps revenue data on your Mac. It syncs at launch and about every two hours, with a manual refresh, so a failed permission shows up quickly the first time you connect.</p>
<h2>Step 7: Maintain your keys</h2>
<p>Keys are not set-and-forget. A few times a year:</p>
<ul>
<li>Review the restricted keys list and delete any for tools you no longer use.</li>
<li>Rotate keys for tools you still use if you have any doubt about where they have been.</li>
<li>Check the "last used" information if the Dashboard shows it; an unused key is a key you can remove.</li>
<li>If you think a key leaked, revoke it immediately and create a new one. Because it was restricted and read-only, the blast radius is small.</li>
</ul>
<h2>Quick checklist</h2>
<ul>
<li><input disabled type="checkbox" /> Correct account and correct mode (test or live)</li>
<li><input disabled type="checkbox" /> Restricted key, not the secret key</li>
<li><input disabled type="checkbox" /> Named after the tool</li>
<li><input disabled type="checkbox" /> Read-only, and only the resources the tool needs</li>
<li><input disabled type="checkbox" /> Pasted directly into the tool, never shared anywhere else</li>
<li><input disabled type="checkbox" /> Reviewed and pruned periodically</li>
</ul>
<p>For the authoritative list of what each permission covers, see Stripe's own documentation on restricted key permissions. Five minutes of setup here saves you from ever wondering what a third-party tool could do with your account.</p>
<hr />
<p>Notch Revenue — <a href="https://notchrevenue.com">https://notchrevenue.com</a></p>
]]></content:encoded></item></channel></rss>