Omahub
← All plugins
A

Stripe Revenue

by Andrew Wicklander

Today's net Stripe income in the bar, with recent payments, upcoming payouts, and daily history in a click-open panel.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
734e856
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
734e856
Reviewed
1 month ago

Manual review matches the deterministic scan: this is a straightforward Stripe revenue widget whose bundled Bash helper makes read-only Stripe API calls using a locally stored API key. The key is validated, stored with 0600 permissions, and passed to curl via stdin rather than argv; no obfuscation, persistence, credential exfiltration, or destructive behavior was found.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/idealprojectgroup/omarchy-stripe-revenue --enable
Widgets #bar #quickshell

Stripe Revenue for the Omarchy bar

Today's net Stripe income as a single number in the bar. Click it for the details: today's payments as a live feed, the same day last month for comparison, and daily totals for the recent days.

Income is net: direct charges, payments, and (for Connect platforms) application fees, minus Stripe's processing fees and refunds, by calendar day in your local timezone. Payouts, Stripe Capital repayments, and other balance movements are excluded — the number tracks the dashboard's net volume from sales.

The panel

Left-clicking the bar number opens a popup with:

  • Today — the net total, large, with the same calendar day last month in grey beneath it.
  • Payments — today's income entries, newest first: time, description (application fees show who they came from), and amount.
  • Previous days — net totals for the last week (configurable).
  • A link to the Stripe dashboard and a last-updated stamp.

Right click refreshes immediately; middle click opens the Stripe dashboard directly.

Setup

  1. Enable the widget:

    omarchy plugin enable io.github.idealprojectgroup.stripe-revenue right
    
  2. Click the widget (it shows "Stripe: set key"). A floating terminal walks you through creating a restricted API key, verifies the key you paste against Stripe, and saves it to ~/.config/stripe-revenue/api_key (0600).

Key permissions (everything read-only):

  • Balance: Read — required; totals, history, and payout info.
  • Charges: Read — recommended; payer names on direct charges.
  • Connect → Accounts: Read — for Connect platforms; studio/business names on application fees.

With only Balance access the numbers all work; the payments feed just shows less identity detail.

To set the key by hand instead:

mkdir -p ~/.config/stripe-revenue && chmod 700 ~/.config/stripe-revenue
printf '%s\n' 'rk_live_...' > ~/.config/stripe-revenue/api_key
chmod 600 ~/.config/stripe-revenue/api_key

The key stays in that file; the shell process only ever sees the JSON summaries printed by stripe-revenue-fetch.

Settings

Configured per bar entry in ~/.config/omarchy/shell.json:

  • pollSeconds (default 60, minimum 15) — how often to poll Stripe.
  • showCents (default false) — show cents in the bar label.
  • days (default 7, 2–31) — days of history in the panel.

Finished days can't change, so their totals are cached in ~/.cache/stripe-revenue/ and steady-state polling only asks Stripe about today.

Removal

omarchy plugin remove io.github.idealprojectgroup.stripe-revenue

Then delete the key and caches if you're done for good:

rm -rf ~/.config/stripe-revenue ~/.cache/stripe-revenue

Dependencies

bash, curl, jq (all stock on Omarchy).