Ertori

All your apps and sites. One screen.And your Claude knows everything about them.

Demo data · 16 seconds

App Store, Google Play, any web analytics, payments and every review — pulled in for you. Ertori only reads. Ten seconds instead of five consoles.

Paste into Claude Code — it connects everything

Connect my apps and sites to Ertori: run `curl -fsSL https://ertori.com/connect.mjs -o ~/.ertori-connect.mjs && node ~/.ertori-connect.mjs guide` and follow it.

One line in Claude Code connects everything.

No console tours, no copying keys around. Paste one line; Ertori's small helper does the rounds and sends every key straight to us, encrypted. It never prints one, so nothing secret lands in the chat or its logs.

  • Claude Codefinds keys already on your computer — App Store .p8 files, Google service accounts, tokens in .env files — and reads them itself.
  • Claude Codemakes the missing ones: with the vendor's command line where there is one (Google), or by filling in the vendor's own form in your browser (Cloudflare, App Store Connect, Analytics).
  • Youapprove this computer once, and sign in where you aren't signed in yet. Passwords and two-factor stay yours.
Connect my apps and sites to Ertori: run `curl -fsSL https://ertori.com/connect.mjs -o ~/.ertori-connect.mjs && node ~/.ertori-connect.mjs guide` and follow it.

No Claude Code? Every source also connects by hand, with steps for each.

Claude Code
  1. Connect my apps and sites to Ertori: run `curl -fsSL ertori.com/connect.mjs -o ~/.ertori-connect.mjs && node ~/.ertori-connect.mjs guide` and follow it.
  2. ⏺ ertori-connect login
  3. → you: approve this computer — code KQ7M-4XPD
  4. ✓ Approved as you@example.com
  5. ⏺ ertori-connect scan
  6. • App Store Connect key 2X9R4HXF34 ~/Downloads/AuthKey_2X9R4HXF34.p8
  7. • gcloud: signed in as you@gmail.com
  8. ⏺ ertori-connect add app_store_connect --file ~/Downloads/AuthKey_2X9R4HXF34.p8 issuerId=…
  9. ✓ Connected App Store Connect — 4 apps found
  10. ⏺ ertori-connect google-sa → GA4: add reader@… as Viewer (in your browser)
  11. ✓ Connected Google Analytics — 3 properties
  12. ⏺ ertori-connect open cloudflare → Create Token → Copy
  13. → you: sign in to Cloudflare
  14. ✓ Connected Cloudflare — 2 sites, 1 feedback table
  15. ⏺ ertori-connect projects
  16. Done: 5 projects. You approved this computer and signed in once; no key went through this chat.

Five consoles and fifteen minutes. Or one screen and ten seconds.

The morning check every indie knows: log in, find the right app, switch the date range, repeat. Ertori does the rounds for you and lays the answer out in one list.

Every morning, now 15 min
  1. App Store Connect · Sales and Trends, then Ratings3 min
  2. Play Console · Statistics, then Reviews3 min
  3. Google Analytics · Four properties, one by one4 min
  4. Cloudflare · Web Analytics, site by site2 min
  5. Stripe · Payments and subscriptions3 min

Five logins, eight tabs, reviews in two places, site feedback in your inbox.

Ertori 10 sec
TempoiOS·And2102
FontpairWeb1.2k1
SnapnoteiOS$214
HikelogiOS·And72
InkwellWeb2.1k

Every app and site as one row. Open one when a number looks odd.

Connects to the tools indie developers actually use

Same app on iOS, Android and the web? It becomes one project automatically. All integrations

All feedback. From everywhere.

App Store and Google Play reviews, messages from your sites and anything that lands in a Tally or Formspree form — one feed, newest first, filtered by project.

Mark things read or archive them, like an inbox. A one-star review shows up in important changes the same hour it's written.

  • App Store
  • Google Play
  • Your site's widget
  • Cloudflare D1
  • Tally, Formspree, Canny webhooks
Tempo40 min ago

Timer stops in background

Since the last update the timer pauses when I lock the phone. Used to work perfectly.

App Store · kmarlow · US · v3.2
Tempo3 h ago

Simple and does exactly one thing well. The widget is great.

Google Play · Dana R. · DE · v3.2.0
Fontpair6 h ago

Would love a way to export pairs as CSS variables.

Site feedback
Snapnote1 d ago

Finally a quick notes app

Opens instantly, syncs, no account needed. Paid for the year without thinking.

App Store · jtw · GB · v1.8

Important changes, the moment they happen.

Instead of reading every chart, you get a short list of what moved: a week that's 30% worse than the one before, a sudden spike, a bad review, a source that stopped syncing. Small numbers are ignored — 3 downloads becoming 1 isn't news.

  • Tempo −40% downloads

    352 last week, 210 this week. Store page views flat, so conversion fell.

  • Fontpair ×3 traffic

    1,180 views against a usual 390. Worth checking where they came from.

  • Snapnote 1★ review: “Sync stopped after update”

    Arrived 20 minutes ago on the App Store, version 1.8.

  • Stripe stopped updating

    The key was rolled. Paste the new one; history stays.

Notifications stay inside Ertori: no email, no push, nothing that pings you at night.

Your Claude already knows how your apps are doing.

Add Ertori to your own Claude as a connector and ask in plain words. It reads your real numbers and reviews — read-only — in claude.ai, Claude Desktop, the mobile apps and Claude Code.

Setting it up? Claude Code connects your sources for you with one line — see above. Keys never go into the chat.

How to connect Claude
What happened with Tempo this week?

Downloads fell 40%: 352 last week, 210 this week. Store page views barely moved (5,840 → 5,120), so it's conversion, not traffic — it dropped from 6.0% to 4.1%.

Two new reviews since the 3.2 update say the timer stops when the phone locks. That's the likeliest cause: people try it, hit the bug, and the store page's rating slipped from 4.7 to 4.5.

I'd check background audio mode in 3.2 first.

Looked at: get_project · get_feedback

  • Only reads

    Ertori never changes anything in your stores, analytics or payments. Most services give it a read-only key; a few have no such key, and the list below says which and what we ask for instead.

  • Encrypted keys

    Every key is encrypted with AES-256-GCM and bound to your account. Nobody sees it again, including you.

  • Disconnect in one click

    Disconnecting deletes the key and everything pulled with it. Deleting your account deletes all of it, at once.

What each source can access

Ertori only reads, but not every vendor offers a key that can only read. Here is what we ask each one for, and what that key could do in the wrong hands.

How we handle your keys
  • App Store ConnectSales roleNarrowest role

    Apple has no read-only key. Sales is the narrowest role that reads sales and analytics reports, and Apple's role table gives it view rights only. It can't read reviews, so we take them from Apple's public review pages. Switching analytics on needs an Admin key once; we use it for that request and don't store it.

  • Google Play ConsoleView-only Play permissionsRead-only

    The service account gets two view-only Play Console permissions and no Google Cloud roles, so it can read reports but can't publish or change anything. Reply to reviews is optional; without it the account stays read-only.

  • RevenueCatRead-only v2 keyRead-only

    RevenueCat lets you set each permission group to Read only or No access. This key reads charts and project settings and can't see customer data.

  • Google Analytics 4analytics.readonly scopeRead-only

    Google sign-in asks only to see and download your Analytics data. A service account gets the Viewer role. Neither can change settings.

  • Google Search Consolewebmasters.readonly scopeRead-only

    Google sign-in asks only to view Search Console data. A service account gets Restricted permission, which can view but not change anything.

  • Cloudflare Web AnalyticsRead permissionsRead-only

    The token or sign-in has only Read permissions: Account Analytics, Account Settings and D1. Cloudflare refuses D1 writes without D1 Edit, and we only send SELECT.

  • PlausibleStats API keyRead-only

    Plausible's Stats API keys can query stats and list sites. They can't add sites, edit goals or delete data.

  • UmamiFull-access keyFull-access key

    Umami API keys carry your account's full rights and can't be limited. We only call read endpoints. On self-hosted Umami a view-only user is safer.

  • Fathom AnalyticsRead-only tokenRead-only

    Fathom tokens set to Read only (all sites) can read stats but can't change sites or settings.

  • PostHogRead scopesRead-only

    The personal API key gets Query, Project and Organization set to Read. We send aggregate queries, never raw event exports.

  • Vercel Web AnalyticsFull-access tokenFull-access key

    Vercel tokens can't be limited to reading. Scope it to one team and give it an expiry; we only call read endpoints.

  • StripeRestricted key, ReadRead-only

    A restricted key with Read on the listed resources and None on the rest. Stripe refuses any change made with it.

  • Lemon SqueezyFull-access keyFull-access key

    Lemon Squeezy keys have full access and there is no OAuth. We only send GET requests; the key expires after a year.

  • PaddleRead permissionsRead-only

    Paddle keys take a permission per entity. With only the read ones listed, the key can't change anything.

  • Feedback in Cloudflare D1D1 ReadRead-only

    A Cloudflare token with D1 Read can query but not write: Cloudflare refuses writes without D1 Edit. We only send SELECT.

  • Website feedbackNothing to grantRead-only

    Your site or form sends feedback to us. We get no access to your site or accounts.

Read-only
the key or permission itself can only read.
Narrowest role
the vendor has no read-only option; we ask for its narrowest role.
Full-access key
the vendor's keys always have full access; we only call read endpoints.

Two plans. Both have every source.

Free

$0

For one or two products.

  • 2 projects
  • Every source
  • All feedback in one feed
  • Important changes
Start free

Pro

$5 / month

For a portfolio of apps and sites.

  • Unlimited projects
  • Claude connector
  • Everything in Free
Start free, upgrade any time

Made by an indie, for indies.

I ship small iOS apps and a few websites on my own. Checking them meant App Store Connect, Cloudflare and Google Analytics every morning, and reviews I kept missing. Ertori is the screen I wanted instead — priced like a coffee, because that's what side projects can afford.

Start free