Where your $4 goes
Every Pro subscription pays for a stack of vendor bills, payment fees, taxes, and human time. This page is the honest version — not "we save you $1,000 a month" marketing copy, an actual cost ledger. We'd rather be transparent than hand-wavy.
All figures below are illustrative typical-month estimates, not contractual. Individual months vary based on how much each tenant actually uses the AI surfaces.
The cost ledger
| Line | Typical month | Where it goes |
|---|---|---|
| Pro subscription | $4.00 revenue | Collected by Stripe; sales tax handled separately (see below). |
| Stripe processing fee | ≈ −$0.42 | 2.9% + $0.30 per transaction. Stripe. |
| AI APIs (Gemini + Anthropic) | ≈ −$0.30 to −$1.50 | Gemini for vision (item detection, tag suggestions, label art); Anthropic for box matching. Capped per tenant by the daily AI-cost ceiling so a single user can't run away with your budget. |
| Compute (AWS EC2 + EBS) | ≈ −$0.10 to −$0.30 | Per-tenant slice of the shared instance + the EBS volume that holds your photos. Drops as user count grows — a t3.small at $0.0208/hr split across 100 users is around $0.15/user/mo before storage. |
| Bandwidth (AWS egress) | ≈ −$0.00 to −$0.50 | Serving thumbs + photos to your browser on every grid view. AWS gives the first 100 GB/month per account free, then charges $0.09/GB. At small scale this rounds to zero; for a heavy Pro user it can reach a few tens of cents. |
| Off-site backup (Backblaze B2) | ≈ −$0.02 to −$0.10 | Nightly encrypted DR uploads of each tenant's database + photos. B2 storage is $6/TB-month for hot storage; we accumulate, so heavy long-time tenants cost more than fresh ones. Egress only fires on the rare DR restore so it's not in this line. |
| State business taxes (MA) | ≈ −$0.20 to −$0.40 | We're a Massachusetts-based business — no Delaware shell. MA corporate excise + estimated income tax come out of the $4 you paid. No surprise add-on; it's baked in. This row exists so you can see it instead of pretending the cost doesn't exist. |
| Allocated to humans | ≈ −$0.75 to −$1.50 | Today this is the time spent by the operator/admin (currently one person) reviewing feedback, fixing bugs, shipping updates, doing support. As we grow this is what hires get paid out of. Roles glossary below. |
| Remainder | ≈ $0.50 to $1.00 | Reinvestment: feature work, infrastructure upgrades, a runway buffer. Not "profit" in the take-home sense — money that keeps the platform going as costs scale. |
Sales tax on your purchase (e.g. 6.25% MA sales tax if applicable to your jurisdiction) is added by Stripe at checkout, collected from you, and remitted directly by Stripe to your state. It doesn't show up in our cost ledger because we never see the money — pass-through.
Who runs Stash
Today the staff is small. We're transparent about who's behind the rails so when something breaks you know which kind of human to expect on the other end.
| Role | Scope | What they do |
|---|---|---|
| Maintainer | One tenant | Customer-side role. Full edit access to one household's inventory: create boxes, accept items, invite read-only members, audit, print labels. That's you (probably). |
| Read-only member | One tenant | Customer-side role. Browse access, no edits. Useful for a partner who needs to find things but shouldn't be moving them. |
| Operator | Platform | Day-to-day platform staff: handles support tickets, triages feedback, watches usage meters + cost panels, handles deploys, audits the system, helps customers with billing questions or data exports. Never reads tenant content unless explicitly invited by a maintainer. |
| Admin | Platform | Business operations: billing setup, vendor contracts, legal, hiring, policy decisions, public communications. Same access constraints as an operator — admin authority is organizational, not data-read. |
Operators + admins are platform-level roles backed by an explicit allow-list (STASH_OPERATOR_EMAILS env var in deploy). Today these collapse to a single human; we're documenting the structure now so when we hire the seam is already there. Spec § "Roles · Operations matrix" describes the access boundaries in code.
Why be this transparent?
Three reasons.
- It's how we'd want a service we paid for to behave. The SaaS-pricing default is to obscure the cost stack ("starts at $9!" until you blink twice). We'd rather show our work.
- It keeps us honest about scaling. When the vendor bills are visible on a public page, raising prices requires a public reason. When labor allocation is visible, hiring decisions get scrutinized. Both are accountability mechanisms we want.
- It's a moat that doesn't run out. A competitor can copy our features, our pricing, our copy. It's harder to copy operating in public. We think users will choose the company that shows them the cost ledger over the one that hides it.
What this page doesn't promise
These numbers are illustrative. We're not committing to a specific cost split per dollar of revenue — actual costs vary by individual usage, vendor pricing changes, and growth stage. What we ARE committing to:
- We won't quietly raise prices on existing subscribers. Any price change gets 30 days' notice (per the Terms of Service).
- We won't add an undisclosed sub-processor. Vendor list at /about/sub-processors is the canonical source.
- We won't ship a "premium" tier above Pro that holds essential features hostage. Pro is the top tier; future higher tiers (if any) add capacity, not access to features Pro users already have.