Settings reference
Every RevenueHog setting and what it controls, tab by tab, from credentials and the key capability matrix to refunds, Small Business, forwarding and danger.
Settings has six tabs: Connections, Workspace, Preferences, Notifications, MCP and Team. This page lists every section and what it controls, with links to the pages that cover each in depth.
| Tab | Path | Sections |
|---|---|---|
| Connections | /settings | APP STORE CONNECT, STRIPE, GOOGLE PLAY, APPLE ADS, SDK DEVICES, API KEYS, SLACK, DANGER |
| Workspace | /settings/workspace | WORKSPACE, DETAILS, DANGER |
| Preferences | /settings/preferences | APPS, SMALL BUSINESS, REFUNDS, CUSTOMERS |
| Notifications | /settings/notifications | NOTIFICATIONS |
| MCP | /settings/mcp | MCP TOKENS (the tab is behind a feature flag; the URL always works) |
| Team | /settings/team | TEAM |
App Store Connect credentials
Four values connect RevenueHog to Apple: the .p8 private key file, the Issuer ID, the Key ID, and your Vendor Number. The first three authenticate; the vendor number is the account Apple files your sales reports under, so without it there is no revenue or subscription history to pull. They live under Settings → Connections → APP STORE CONNECT. The private key is encrypted at rest (AES-256-GCM, authenticated) and scoped to your workspace; the dashboard only ever shows whether a key is present, never its contents.
Saving credentials starts a sync immediately, so you do not have to wait for the next daily run to see anything. It also runs the key capability check.
To rotate a key, generate a new one in App Store Connect and re-upload it. Editing the identifiers alone keeps the stored key. See Connect App Store Connect for where to find each value.
Validation messages you may see:
| Message | Fix |
|---|---|
| Upload your .p8 private key file. | Choose the file Apple let you download once. |
| That isn't a .p8 file. Download the API key from App Store Connect. | Pick the .p8, not another file. |
| That file isn't a valid .p8 private key (PKCS#8 ES256). | Re-download or create a new key. |
| That file is too large to be a .p8 key. | Pick the right file. |
| Issuer ID and Key ID are required. | Fill both fields. |
| That doesn't look like an Issuer ID. It should be a UUID. | Copy "The UUID shown at the top of the API keys page." |
| Key IDs are 10 characters (letters and numbers). | Copy "The 10-character ID listed next to your key." |
| Vendor numbers are digits only. | Find it under App Store Connect → Payments and Financial Reports. |
| Saved, but couldn't start a sync. The job queue is unreachable, so it'll run on the next schedule. | Nothing to do; the next scheduled sync picks it up. |
Related surfaces: Settings → Notifications holds your push rules (event toggles workspace-wide and per app, minimum amount, quiet hours, MRR milestones, per-app mutes, the daily digest, new-app and review alerts, the alert sound and how notifications stack on your phone), and Settings → Connections → SDK DEVICES lists the App Attest enrollments the optional SDKs create for user-level attribution, with per-device revoke. See Notification preferences.
The key capability matrix
Saving credentials (and the Re-check button next to them) runs a sweep of read-only probes against App Store Connect and records what your key's role unlocks. The matrix renders the result feature by feature: revenue reports, payout reports, analytics, TestFlight, webhooks and auto-wiring, each marked AVAILABLE, MISSING or UNKNOWN. Read-only keys are a fully supported choice; a missing row is a preview of what a broader role would add, never an error. API key roles maps roles to rows.
MISSING means Apple answered the probe with 403: the key is valid but its role lacks that access, and the row says which role fixes it. UNKNOWN means the probe could not run or could not classify Apple's answer; the row's note explains why, for example "Add a vendor number to check report access." or "No imported app to probe against yet. Re-check after your first sync." If Apple rejects the key outright (401), the matrix shows no per-feature states at all, because every row would fail for the same reason, and instead asks you to confirm the Issuer ID, Key ID and .p8 file.
Two deliberate subtleties. A report probe that finds no report posted for the checked period still counts as access ("No report was posted for the probe period, but access was accepted."), because a missing role answers 403 where a missing report answers 404. And auto-wiring is never probed, because the only honest probe would be the write itself; it shows as detected on first use ("Resolved on the first auto-wire attempt."), or immediately as available when the key is Admin, which can write everything.
New app discovery
RevenueHog re-checks App Store Connect several times a day, so an app you ship later turns up on its own. What happens next is the auto-wire switch under Settings → Preferences → APPS.
On, a newly discovered app is wired the moment it appears: RevenueHog points Apple's server-notification URLs at itself and keeps whatever URL was there as a forwarding endpoint, so an app that was already reporting to your own server keeps doing exactly that. Off, discovery only sends you a notification and touches nothing until you say so. Either way this writes to App Store Connect, so it needs a key with the App Manager or Admin role; a read-only key reports that specifically rather than failing, and the capability matrix shows auto-wiring as missing. Changing it requires an owner or admin.
Refund requests
When a customer asks Apple for a refund, Apple sends a consumption request and gives you a chance to state a preference. Settings → Preferences → REFUNDS decides how RevenueHog answers on your behalf, workspace-wide, and any app can override it on its own detail page.
The default is undeclared, and it is deliberately inert: RevenueHog does not answer Apple at all, so the refund is decided exactly as it would be if RevenueHog were not in the loop. The other three (prefer grant, prefer decline, no preference) are sent to Apple as a preference, not a decision. Apple still decides. An unrecognized stored value falls back to undeclared, because answering Apple on a value RevenueHog does not understand is worse than not answering.
Team
A workspace can have owners, admins and members. Invited people get an email link. Admins manage members and other admins; only an owner can manage owners; a member sees the roster and asks an owner or admin for changes. Notification rules are per person, so nothing you change here changes a teammate's alerts. See Team and roles.
Apple Small Business Program
Apple's standard split gives developers 70% of revenue (a 30% commission). Members of the App Store Small Business Program keep 85% (a 15% commission). Your report-derived revenue needs no setting for this: Apple's daily Sales reports state proceeds at your actual commission rate (membership included) and RevenueHog uses Apple's figures as-is, with no adjustment on top.
The Small Business toggle under Settings → Preferences → SMALL BUSINESS controls the one surface that has to guess: the live feed. Real-time events arrive via Apple Server Notifications, which carry the customer price but not your proceeds, so each event's detail page estimates proceeds from that price. Apple takes 30% by default, or 15% with the toggle enabled.
The toggle takes an optional admission date. Set it and the reduced rate applies only to events on or after that day, because joining the program does not retroactively repay old sales. Leave it blank and the whole history is treated as enrolled.
Why an estimate
A per-event estimate cannot see territory tax deductions or year-two subscription rates. Your daily reports carry real proceeds figures, and Apple's payout reports remain authoritative for what you are actually paid.
Per-app forwarding endpoints
Each app can define a Production and a Sandbox forwarding URL. When Apple posts a notification to RevenueHog, it verifies the signature, records the event, then re-POSTs Apple's exact signed payload to your URL for the matching environment, so your own server validates it as if it came straight from Apple.
Leave a URL blank to record events in RevenueHog without forwarding them. Delivery attempts and their HTTP results are listed under each app's recent events and summarized on the webhooks page. See Forwarding and Server notifications.
Other Connections sections
| Section | What it holds | Details |
|---|---|---|
| STRIPE | A restricted Stripe key and how events arrive | Connect Stripe |
| GOOGLE PLAY | A service-account JSON key and package names | Connect Google Play |
| APPLE ADS | Apple Ads API credentials | Connect Apple Ads |
| API KEYS | Server-to-server feedback keys, with Revoke ("Revoke this key? Any service using it stops working immediately.") | API keys |
| SLACK | Slack channels for alerts and triage | Slack |
Billing and the Alerts subscription
RevenueHog is free on the web: every app, full history, the live feed, metrics, customers, event forwarding, and the one-click server-notification wiring. There are no tiers and nothing to upgrade.
The one paid thing is RevenueHog Alerts, an auto-renewable subscription purchased inside the iOS app. It unlocks visible push notifications (event alerts, MRR milestones and the daily digest) for everyone in your workspace. Its status shows on the Billing page; manage or cancel it through your App Store subscriptions. See Billing.
Clearing credentials
Settings → Connections → DANGER has Clear credentials…, which removes the stored .p8 key and identifiers and stops the daily sync. Everything already imported stays exactly where it is; new data simply stops arriving. It asks for confirmation first, and re-uploading a key resumes syncing.
This differs from Settings → Workspace → DANGER, which deletes your whole account. See Delete your account.
MCP tokens
Settings → MCP creates and revokes personal access tokens for MCP clients. See MCP server.
Last updated on
Team and roles
Invite teammates to a RevenueHog workspace, accept an invitation, and understand what owners, admins and members can do, including role changes and removal.
Billing and plans
RevenueHog is free on the web. The only paid product is the RevenueHog Alerts subscription in the iOS app, which unlocks push alerts for your whole workspace.