# content
What is ActivityPub, and why does it matter?

Short answer: ActivityPub is an open social web protocol used by many Fediverse services. It helps compatible servers send social activities to each other, such as following, posting, replying, and sharing public updates. That matters because it gives social software a path beyond one-company platforms. A public post does not always have to stay inside one website. But ActivityPub is not the whole answer to safety, privacy, moderation, or portability. Those depend on product design, server rules, user choices, and which features are actually supported.

Why we chose this

TouchGrass cares about ActivityPub because it points toward a healthier kind of social software: services that can connect without becoming one giant platform.

The important idea is not protocol trivia. It is user choice. When social products use shared standards, people have a better chance of following friends across services, leaving a platform without losing every connection, and choosing communities with moderation rules that fit them better.

That fits the TouchGrass promise: a safe, open social home for real life, without addictive feeds or platform lock-in. TouchGrass is built around friends, circles, profiles, posts, long-form writing, photos and albums, and recommendations. The open-web layer should support that real-life context, not replace it with a public engagement race.

ActivityPub also teaches a useful boundary. Open protocols can help public social posts travel, but they do not automatically make private sharing safe, stop bad behavior, or preserve every piece of account data. Product choices still matter.

How this works on TouchGrass

TouchGrass focuses first on the social experience people feel every day: who they know, who can see a post, what a profile says about them, and whether the product is pushing them into addictive loops.

Today, TouchGrass supports intentional social patterns such as friends, circles, public visibility, friends visibility, circles visibility, profiles, posts, long-form writing, photos and albums, and recommendations. It avoids videos, algorithmic feed ranking, public like counts, infinite scroll, and engagement traps.

A good way to say it: TouchGrass is designed with open-web exits and interoperability in mind, while tracking exactly which protocol pieces are live.

Our feature status page shows which protocol and portability features are available now.

Worth knowing

ActivityPub does not mean every server can talk to every other server in every way. Compatibility can vary. Servers can block each other. Software can implement different parts of a protocol. Moderation and safety policies can differ sharply.

ActivityPub also does not mean “private by default.” Public posts that travel through federated systems should be treated as public. Limited-audience sharing can be useful, but it should not be described as protection against screenshots, copying, recipient misuse, or remote-server behavior.

ActivityPub is also not the same thing as ATProto or the Atmosphere. Both are part of the wider open social web conversation, but they make different technical and product tradeoffs.

Finally, ActivityPub is not a guarantee of perfect portability. Moving an account, identity, archive, media, followers, and posts is more complicated than saying “it is open.”

FAQ
Is ActivityPub the same as the Fediverse?

Not exactly. ActivityPub is a protocol. The Fediverse is the wider network of services and communities that often use ActivityPub to connect.

Why does ActivityPub matter for public posts?

Because it can let compatible services exchange social activities. That means a public post, follow, or reply may be able to cross from one server to another instead of staying inside one company’s platform.

Does ActivityPub make a social network safe?

No. Safety depends on product design, moderation, privacy controls, server policies, and user behavior. A protocol can help services communicate, but it cannot replace safety work.

Keep reading

Open social web

What you can do