While researching business models that could work on atproto there are some obvious ones that won’t work on a technical/architectural level. Like you can’t really monetize the data in the PDS because it’s all completely open (as long as there’s no permissioned data, but probably not even after that).
That in itself already takes away a lot of room/incentive for enshittification (which is great), since when you do users can create or move to another app.
But still, I kept encountering models/tactics that I really didn’t like (not just for Sifa, but also in general): pay-to-rank, paywalled essentials, dark patterns at cancellation, “free for now, paywalled later.”
The protocol can’t stop that. Only the people building can.
So I started writing these down as “pledges” that any monetization efforts should follow.
My question for other ATproto app builders: might this be a shared baseline across the Atmosphere? This is just a draft, but maybe something we could evolve to a shared thing?
This is the first product I’ve ever built. The first time I’ve ever priced anything. The first time I’ve ever written a pledge. I don’t know what I’m doing. Not in the helpless sense, but in the literal sense that I’ve never done this before, and I’m fairly sure I’m getting some of it wrong. I’d rather hear that from you now than apologize to a thousand subscribers later. ![]()
One thing that ís partially specific to what I’m building with Sifa is that the value IS the network that free users create and all of it depends on people who never pay anything. But of course there’s still costs associated to that and although I don’t aim to turn this into a big tech company, it’s nice to be able to pay for your mortgage and food ![]()
A paid plan is a way to pay rent on the infrastructure, but it’s not the reason Sifa exists. The pledge is a boundary that makes sure paid plans never starts cannibalizing the free thing it depends on. So maybe in that sense these pledges are mainly specific to apps int he same boat, but lets see:
The (draft) pledge, in full
# Monitization-Plan Pledge
## What the paid plan is:
An optional paid subscription that supports the App's development and unlocks things like cosmetics, analytics, and workflow perks for the subscriber's own profile and own (network) data.
## What the paid plan is NOT:
A verification, trust signal, credential, or rank.
## What we will never do:
- Pay-to-rank in search, directory, or feeds
- Paid messaging access (no InMail-style spam)
- Paywall who-viewed-me; private viewing free for all
- Gate essentials: data export, basic profile, follow, basic search, native mobile experience
- Sell verification (a paid plan is not a credential)
- Rank subscribers' content higher in feeds
- Lock data: cancel anytime, profile stays portable on your PDS
## PDS-data principle:
Anything in a users PDS is owned by them. A paid plan never gates display, access, or content of PDS data in the app. It could only gate App-controlled surfaces like themes, custom slug, accent colors, analytics computations, AI features, integrations with non-atproto apps and the membership badge itself.
## Price stability pledge:
Active subscribers are **grandfathered** at signup price forever. Price increases only ever apply to new subscribers. Cancellation breaks the grandfather, resubscribing later applies the current public price. Safety valves: payment-failure dunning protection, and a Pause Subscription option for life events.
# Feature pledges:
1. Grandfathered cohort gets new features. Anything added to the paid plan becomes available to all current subscribers at no extra charge.
2. No tier-creep below the paid plan. One consumer paid tier, ever. There migth be B2B / Enterprise plans.
3. Cancellation portability. All data stays on your PDS, a cancellation of a paid plan does not lead to removal of any PDS data and you will be downgraded to the regular free tier.
4. Currently free features stay available, but heavy usage may be capped. Caps before paywalls. Caps target the long tail (typical users should not notice). 90 days advance notice before any cap, with reasoning published in the public changelog. Subscribers get a higher (or no) cap. Existing data never held hostage; export remains free. Grandfathered subs get higher caps automatically.
5. Verification + trust labels stay free at the consumer layer.
Parts of the pledge are borrowed from people who’ve already had to make these decisions in the past that I used as inspiration:
-
Bluesky has a public business plan committing to services-led revenue and explicit refusal of attention-extraction ads.
-
Mastodon restructured as a European nonprofit and pledges no ads, no algorithmic feeds, no profile-pushing.
-
Ghost put their commitments in a legal foundation charter so the company can’t be sold or pivoted away from them.
-
Kagi Search runs as a Public Benefit Corporation with an explicit “you are the customer, not the product” stance. Pay-walled, not ad-walled.
-
Buttondown sells against bigger newsletter platforms with an anti-lock-in pledge that’s also the product: they let you leave with your data (take that Substack…)
-
Convert.com maintains a policy of respecting legacy/grandfathered pricing, meaning they do not force existing customers onto new, higher-priced plans.
BUT…
There are also cautionary tales. Cohost kept every pledge it made and shut down anyway because there was no revenue model under the pledges. Patreon’s grandfathered-billing trust got broken not by Patreon but by Apple’s in-app billing rules. Discord didn’t have a written pledge for “Nitro is cosmetic-only,” and it has quietly drifted into more functional gates (like HQ video). So yeah, reality or the partners you work with can still make you break you pledges…
How can atproto businesses survive? What’s still on the table?
So if Sifa or other apps won’t do what many other platforms normally do to make money, how do we survive?
Imho the pledge above is restrictive but not foreclosing. Several real categories of revenue do not conflict with it:
-
A consumer subscription with cosmetic and own-data perks. This is the bundle the pledge above is about: themes, custom URL slugs, analytics on your own profile or your network, services based on your own data. None of that changes anyone else’s experience of the app.
-
B2B / API access for compute and curated signals. Other ATproto apps and outside organisations sometimes need signals (e.g verified-professional-identity), aggregated trust scores, or pre-ranked search and would rather buy your pipeline than build it themselves. They pay for the compute, the SLA, and the support, not for the underlying (PDS) data, which stays free.
-
Enterprise / Teams variants. Organisations using your app internally (e.g. talent matching, employee directories, expert finding) have different needs (SSO, admin controls, audit logs, seat-based billing) than individuals. A different product wrapping the same data, sold with different mechanics.
-
Partnership and referral economics. When atproto apps drives signups to other (on- or off-protocol apps) or curates and hosts vetted rosters for partner products, there is referral or rev-share economics in play. This is not about licensing PDS data; it involves aligning incentives between two products that share users.
-
… (comment below with more suggestions
)
I haven’t committed to a specific path yet, but my point is more that the pledges do (and should) not paint any app into a corner where the only options are advertising or shutdown. Real alternatives exist, none of which require breaking what’s pledged for free users.
Not asking about FEATURES or IF
To be clear: I’m not asking about features that should or should not be in a paid plan. This is about the frame the features sit inside since this frame is the part you can’t easily change later.
Also not asking whether to charge at all. I’m not 100% sure yet it will be paid plans for users, but if that plan moves forward, it will be according to the (improved variant of) pledges above.
I do think I’d much rather be funded by the actual users of a product, as opposed to a single VC that wants Sifa to grow 10× a year. I hope to retain that “luxury”. The question is how to charge in a way that is profitable (e.g. my family can eat and live) and that the free majority can still trust the service won’t turn to shit.
This could be more than a single app
Obvious structural worry: ATproto is open, lexicons/PDSes are public and protable…. Another AppView can read the same data and ignore every pledge here. If users don’t punish them for it, a pledge could become a unilateral disadvantage killing your app/business.
Three reasons I still think it’s worth making:
-
The pledge constrains how apps extracts value, not whether apps has value to extract. Kagi vs Google, Signal vs WhatsApp, Fastmail vs Gmail: trusted-and-paid survives alongside free-and-extractive.
-
Norms get set early. What gets pledged in the next year shapes what’s acceptable for the next decade. Going first is a brand position competitors must respond to.
-
Pledges get more powerful when shared. A unilateral pledge is fragile; a shared one becomes a coordination mechanism. A shameless competitor stands out as the bad actor, not the cleverer one.
Most of the pledge above isn’t Sifa-specific I think. And I’m not pretending this dissolves any worry. The case is load-bearing on users rewarding trust and on enough other builders making compatible pledges. It also feels a bit like we need to re-educate users on what it means to use apps and how to reward good apps, and that works much better when we do it together.
Push back!
I’m not the right person to write that pledge for an ecosystem I’m still relatively new to. But if you’re building an ATproto app and this resonates: let me know what you think! Thank you in advance for pushing back. That is the entire point of publishing this now, before any of it is real
. And lets see if this could turn into something beyond just 1 app but as a baseline for atproto apps.
