
Nostr is a decentralized social network that is designed to avoid censorship. Centralized services, like Facebook or Twitter, completely control your posts and your social network. They make money by a) selling ads to your friends on the posts you make, and b) selling your personal information (the stuff you buy, how you vote, your age, etc) to data brokers. They strictly control what you post, and who sees it, in order to maximize their income. If they don't like what you post, they can delete it, throttle it's reach, or ban you entirely.
Nostr avoids this by storing your posts and your friends network in a decentralized database that you control. Client sites only have the permissions to change your database that you give them. If a given Nostr client boots you out (or you decide you don't like them), you can simply use another Nostr client more to your liking. All of your posts and friends will be there automatically.
In order to use a Nostr site, you first need to set up a privatekey (which only you control) and publickey (which you give to cients you want to use). This public/private key pair allows a client to know that you have the right to control your database. Your key also allows you to give clients permission to change your database.
Public keys start with "npub", private keys start with "nsec".
This is my publickey: npub1sx7d85ccx0pc2zk99t8glywc9hsy96fj67a3lgxmxew7h35dwp8shak49e
Here is a privateky: nsec1fc3d5s6p3hvngdeuhvu2t2cnqkgerg4n55w9uzm8avfngetfgwuqc25heg
(This is just an example, never publicly post your real private key.)
Your public key is also how others can find and follow you on the nostr network.
Since it would be a pain in the butt to copy/paste long keys each time you want to login into a site, Nostr keys and permissions are typically stored in a browser extensions, such as nos2x. When a client wants to do something that needs your permission (such as adding a new post to your timeline), it will ask you for permission by popping up the extension. You can refuse, permit once, or give permission until you revoke it.
Here's the nos2x extension:
https://chrome.google.com/webstore/detail/nos2x/kpgefcfmnafjgpblomihpgmejjdanjjp
Unfortunately, the nos2x extenion isn't very user friendly right now--permissions are identified cryptic numbers referring to each kind of permission (follow someone, add a post to your timeline, etc). You're not going to hurt anything by accepting permissions just once. Once you become more familiar with a site, you can give permission until it's revoked. Just don't give any site your private key. Your private key should only be stored in the nos2x extension.
Here's a video that explains the process in more detail:
Once you've set up your public/private keypair in nos2x, you can use nos2x to "login" to any Nostr site with one or two clicks. The nos2x extension controls which permissions you give to a given client (such as allowing the client to make a post to your Nostr stream).
To connect to other users, use a Nostr client. There are many Nostr web clients, such as https://primal.net. You can also use a desktop client (Lume) or a mobile client (Damus, Amethyst).
When you go to a Nostr site, a popup should appear asking you to confirm that you want to login.
Once you're logged in, put my key in the search box:
npub1sx7d85ccx0pc2zk99t8glywc9hsy96fj67a3lgxmxew7h35dwp8shak49e
That will take you to my user profile, which will have a "follow" button. Click follow, and the nos2x popup should appear. Give the client permission to add me to your follow list, and my posts will start appearing in my feed. They will also appear in the feed of any other client you use.
If you'd like to learn more, this is a good starting place:
https://nostr.how/en/what-is-nostr
Note that nostr apps are still very early in development, and most nostr sites are volunteer run, so expect a rough UI and bugs. I recommend going to this site:
https://metadata.nostr.com https://nostr-utils.pages.dev/
...and peridoically making a backup of your nostr profile and database.
