Nos Social
Nos Social is not trying to be the wildest window into Nostr. It is trying to make Nostr feel habitable: one identity, one follow graph, chronological posts, visible relays, lists, reports, mutes and warnings you can understand without becoming a protocol archivist.
The calm client
Nos is the Nostr client you show someone when the point is not to impress them with the protocol, but to let them breathe inside it. A lot of Nostr clients begin with power: relays, raw events, zap buttons, filters, experimental NIPs, public keys everywhere. Nos begins somewhere else. It says: your posts, feed and connections should belong to you, not a corporation. Then it tries to make that sentence feel like a normal social app.
That changes the first impression. You are not being asked to admire decentralization from a distance. You get a feed from people you follow. You get posts in reverse chronological order. You get an identity that can move across other Nostr apps. You get a Discover surface, notifications, threads, profiles, media uploads, quotes, replies and the familiar emotional grammar of social software. The ambition is not tiny. Nos wants the old social web feeling - friends, conversations, shared context - but without the trapdoor where a platform owns the account, the distribution and the rules of visibility.
The important word is "calm." Nos is not calm because Nostr is automatically gentle. Nostr is an open publishing network; open networks can be brilliant, messy, hostile, funny, boring and beautiful in the same hour. Nos is calm because it draws product boundaries. It does not throw the whole network at you. It gives you a social edge, a warning system, muting and reporting, and enough Nostr portability that you can still leave the room through another client if the room no longer suits you.
That is why the old NostrApps summary is both useful and stale. It still captures the promise - a client for humans rather than algorithms, safety tools, two-hop reach and community relays - but it also says TestFlight. The official download page and Apple's App Store listing now show Nos as an iOS App Store app. Apple lists Verse Communications Inc as the developer, category Social Networking, iOS 17 or later, iPad support and a version history that had reached 1.2 by February 18, 2025. For a normal reader, that matters. This is no longer just a little prototype you hear about in a chat. It is an installable iOS product with the boring store-page facts that make software real.
Where Nos comes from
Nos did not appear from nowhere. The GitHub repository lives under planetary-social/nos, is public, licensed under MPL-2.0, and describes itself plainly as social media for all of us using Nostr. The README says Nos is a Nostr client inspired by the team's work on Planetary Social. The official About page is more direct about the human origin: Nos was founded and created by Evan Henshaw-Plath, also known as Rabble, and the page places the work inside the longer Planetary and Verse Communications story.
That lineage explains the tone of the app. Planetary was an attempt to build social software around communities and governance rather than pure engagement loops. Nos carries that instinct into Nostr. It is still a client. It still reads and writes Nostr events. But the product question is not only "can we publish notes?" It is also "what kind of social place do these notes create when real people have to live with them?"
The repo tells you this is not a landing-page shell. It is an iOS project with Nos.xcodeproj, Swift source, tests, Fastlane files, Crowdin configuration, SwiftLint, Periphery configuration and TestFlight workflows. The contributing notes point developers to Xcode and describe the app as functional in the iOS Simulator. The source also shows product plumbing a user will actually feel: feed controllers, relay services, note composers, report publishers, content-warning controllers, mute views, onboarding, push notification code, NIP-05 username flows, media upload code and list management.
You can read that as a kind of promise. Nos is not asking you to trust a black box. You can inspect how feeds are assembled, how reports become warnings, how mutes are published, how delete events are built and how a note composer decides whether a relay supports expiration timestamps. Open source does not magically make software good. It does make the claims auditable, and with a social client that is worth more than a shiny slogan.
Your feed has an edge
The most interesting Nos decision is that it treats reach as a design material. Nostr, at the protocol level, does not have one central feed. Clients choose relays, subscriptions, filters and ranking. Nos chooses to make the social graph matter. The public directory text calls out reach restricted to two hops: people you follow and people they follow. In practice, that means the app is trying to reduce the feeling that every stranger on the network can suddenly become your problem.
You can see the same idea in the code. The feed source model has three shapes: following, relay and list. That is a small detail with large consequences. Your feed can be the people you follow. It can be a relay view. It can be a list. The user is not trapped inside one invisible algorithmic mixer. The app has recognizable feed doors, and the doors have names.
Lists are especially important because they give you a middle path between one giant following feed and the chaos of global discovery. Apple's version history for Nos 1.2 mentions creating, editing and deleting lists of favorite people and accounts, plus fixes around selected lists or relays reverting after restart. That is not glamorous, but it is the kind of bug-fixing that tells you the product team knows where the real app lives: not in the manifesto, in the moment when your chosen view stays chosen tomorrow.
Nos also warns about the edge of your network. The NoteWarningController checks whether an author is outside the user's social graph and can show an out-of-network warning. This matters because two-hop reach is not just a filter. It is a social cue. The app is saying: you can read beyond your immediate circle, but we are going to tell you when you have stepped outside it.
That choice has a cost. A calmer feed can miss good strangers, new scenes and messy public discoveries. If you want the rawest Nostr possible, Nos may feel too careful. But if you want Nostr to work for friends, families, organizers, creators and community builders who have no patience for protocol maximalism, the restraint is the point. Nos is trying to turn the open network into a place with edges you can feel.
Moderation without a corporate throne
Nos is one of the rare Nostr clients where moderation is not an embarrassed footnote. The team has written about "freedom of listening" as seriously as freedom of speech. That phrase is doing real work. On a corporate platform, moderation usually means the platform decides what stays up, what disappears and which account is punished. On a bare open protocol, the opposite risk appears: everything remains technically available, but ordinary users are left to carry all the weight of filtering, blocking and emotional cleanup.
Nos takes a third route. It does not pretend Nostr needs one central authority. It also does not pretend every user wants to become a full-time moderator. The app supports mutes, reports, content warnings, delete events and request-to-vanish behavior. The README lists NIP-51 for lists with mute-list support, NIP-56 for reporting, NIP-09 for event deletion and NIP-62 for request to vanish. Those are not decorative standards. They are the places where user control becomes a visible button.
The reporting code is more specific than the marketing copy. Reports can target a note or an author. Report categories map onto NIP-56 style reasons such as spam, illegal content, impersonation and nudity. The publisher can create public reports, and it also contains a private reporting path that sends report requests to the Nos relay. The mute publishing code builds a Nostr mute event and publishes it to relays. Delete actions become Nostr delete events. In other words: the app is not merely hiding things in a local preference file. It is using Nostr-native event types wherever that makes sense.
Then there is Tagr. The current Nos Tagr Bot page describes a moderation helper that labels unwanted content for people who follow it and use a client that can show labels. The relay page says relay.nos.social supports the Tagr Bot and that users who follow Tagr, subscribe to the Nos relay and use a client with content moderation support can receive warnings for flagged content. The important distinction is subtle: the content is not simply removed from the world. It is labeled, and the client can place a warning over it.
That model is humane when it works because it gives the reader a pause instead of a command. You can still reveal the post. You can still disagree with a label. You can still choose other relays and clients. But you are not forced to meet every unknown thing at full volume. Nos is designing for the person who wants agency without pretending every feed decision should be a personal research project.
There are limits. A warning system depends on trust in the reporters, classifiers, relays and client behavior. It can be too cautious, too soft, too late or simply wrong. The best version of Nos is not a perfect referee. It is a client that makes moderation legible. It shows you that a healthier open network is not built by one king with a ban hammer. It is built through many smaller surfaces: follow graphs, relay choices, mutes, reports, labels, warnings and user override.
The technical small print
Under the friendly surface, Nos is a serious Nostr client. The README lists a broad NIP set: basic protocol flow, contact lists, NIP-05 identifiers, mentions, delete events, reposts, bech32 entities, long-form content, reactions, text note references, labels, expiration timestamps, relay authentication, profile search, mute lists, reporting, request to vanish, relay list metadata, HTTP file storage and HTTP auth. You do not need to memorize the numbers. You should notice the pattern: identity, publishing, search, safety, media and relays are all treated as first-class pieces of the app.
The composer shows how that becomes real product behavior. Nos has a note composer with previews, quoted notes, replies, media upload state, a relay picker and optional expiration time. Before posting an expiring note, it checks whether the selected relay supports NIP-40. If you choose a specific relay, the app can publish only there. If you leave relay selection open, it publishes through the user's relays. That is exactly the kind of detail Nostr readers should care about: where did your note go, who signed it and can another client understand it later?
The relay layer matters too. Nos maintains relay connections, publishes to relays and handles retry behavior. The official Nos relay has its own public page. That page describes it as free to use, connected to Tagr Bot behavior and running strfry, with supported NIPs including basic events, deletion and expiration. You should treat that as a community service, not as a prison. Nostr only becomes interesting when you can move between clients and relays, and Nos is strongest when it keeps that exit visible.
The App Store privacy box deserves the same plain reading. Apple lists identifiers, usage data and diagnostics under data linked to the user, and Apple also notes that the information is based on the developer's privacy disclosures. That does not make Nos suspicious. It makes it normal software in a store ecosystem. If your threat model is strict, read the privacy policy, inspect the source, and decide whether analytics, crash reporting, push notifications and media services fit your use.
So who is Nos for? It is for the reader who wants Nostr to feel social before it feels technical. It is for the iPhone user who wants chronological posts, portable identity, lists, discoverability and a moderation layer that does not hand the whole network to a company. It is probably not for the person who wants maximum protocol knobs on day one. Nos is making a bet: Nostr reaches more people when it feels like a humane place to return to, not a lab bench you have to keep explaining.
Sources worth opening
This article keeps claims close to the public project trail. Start with these pages when you want to verify the product yourself.
- Official Nos website
- Nos About page
- Nos download page
- Nos Social on the iOS App Store
- NostrApps listing
- Nos blog: Nostr user-led social media
- Nos blog: decentralized moderation vision
- Nos Tagr Bot page
- relay.nos.social
- planetary-social/nos GitHub repository
- Nos README
- Nos contributing notes
- FeedSource.swift
- NoteWarningController.swift
- ReportPublisher.swift
- CurrentUser+PublishEvents.swift
- NoteComposer.swift
- NIP-51 lists
- NIP-56 reporting
- NIP-40 expiration timestamp
- NIP-25 reactions
- NIP-27 text note references
- Nostr protocol NIPs repository
- NIP-01 basic protocol flow
- NIP-05 DNS identifiers





