{"adoption": {"forks": 418, "observed_at": "2026-08-28T04:10:50.650618+00:00", "stars": 12006}, "canonical_url": "https://ross.abutalabs.com/products/nostr", "card": {"archived": false, "artifact_type": "service", "description": "a truly censorship-resistant alternative to Twitter that has a chance of working", "domain": ["social-media", "censorship-circumvention", "privacy", "self-hosted"], "enriched": true, "function": ["networking", "cryptography", "p2p"], "health_score": 37, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["nostr-protocol/nostr", "nostr-protocol/nips"], "name": "Nostr", "platform": ["cross-platform", "self-hosted"], "pushed_at": "2025-06-27T20:23:51+00:00", "repo": "nostr-protocol/nostr", "stars": 12006, "tags": ["nostr", "protocol", "decentralized-social-network", "relays", "open-protocol", "microblogging", "web-server"], "topics": ["nostr"], "urls": [], "use_cases": ["build a censorship-resistant social network", "post short notes without a central platform", "self-host a relay server for social content", "follow people by public key across relays", "implement a Nostr client or relay from the NIP specs"], "what_it_is": "Nostr (Notes and Other Stuff Transmitted by Relays) is an open, simple protocol for building a censorship-resistant global social network. Users sign notes with cryptographic keys and publish them to independently operated relays, with no central trusted server.", "when_to_avoid": ["you need a turnkey social app with moderation and rich features out of the box", "you require guaranteed content availability, since relays are voluntary and may drop data", "you need strong privacy, as notes are public and signed by design"], "when_to_choose": ["you want decentralized, tamperproof social publishing without P2P complexity", "you need an open protocol with many independent clients and relays", "you want identity based on cryptographic keys rather than platform accounts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/nostr-protocol/nostr", "repo": "nostr-protocol/nostr", "role": "main", "score": 35}, {"path": "/repos/nostr-protocol/nips", "repo": "nostr-protocol/nips", "role": "docs", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:50.650618+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:15:00.598023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19c3f8f9b30196099432751567838907d9020818f1fb518e5d959cf3e1d177fa", "fetched_at": "2026-08-28T04:10:50.650618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nostr-protocol/nostr"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 28, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2123, "days_push": 432, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 35, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}