{"adoption": {"forks": 1691, "observed_at": "2026-08-28T04:11:29.636560+00:00", "stars": 20081}, "canonical_url": "https://ross.abutalabs.com/products/rrweb", "card": {"archived": false, "artifact_type": "library", "description": "record and replay the web", "domain": ["web-development", "frontend", "analytics", "developer-tools", "monitoring"], "enriched": true, "function": ["serialization", "developer-tools", "monitoring", "analytics"], "health_score": 100, "homepage": "https://www.rrweb.io/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["rrweb-io/rrweb"], "name": "rrweb-io/rrweb", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-24T05:55:42+00:00", "repo": "rrweb-io/rrweb", "stars": 20081, "tags": ["session-replay", "dom-recording", "browser-recording", "user-interaction-tracking", "typescript", "open-source", "web-server", "nodejs"], "topics": ["session-replay", "recorder", "logrocket", "fullstory", "hotjar"], "urls": [], "use_cases": ["record and replay user sessions on a website", "attach session replays to error reports for debugging", "build a session replay feature into an analytics or observability product", "capture what a browser automation agent saw during a failed run", "ship a bug reporter that includes a reproduction of the failure", "analyze user behavior funnels and friction points", "create guided product demos from real sessions"], "what_it_is": "rrweb is an open-source TypeScript library that records user interactions and DOM state changes in the browser and replays them as session replays. It consists of snapshot, record, replay, and player packages, and serves as the recording engine inside products like Sentry, PostHog, and Datadog.", "when_to_avoid": ["you want a fully managed hosted solution with zero infrastructure (consider rrweb Cloud or commercial vendors instead)", "you only need simple click analytics without full DOM replay", "recording full DOM state raises privacy or compliance concerns you cannot mitigate", "your app has strict bundle-size budgets, as the recorder and replayer add nontrivial weight"], "when_to_choose": ["you need DOM-level session replay under your own branding or self-hosted", "you want the proven open-source engine used by major observability and analytics tools", "you need fine-grained control over recording, storage, and replay pipelines", "you want to embed replay as a native feature of your product"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rrweb", "repo": "rrweb-io/rrweb", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "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:11:29.636560+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.636560+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:59:21.624000+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e5dab44f6b6a4d1015fc79d28905300fd84bcd87114ac318b8f4ba8a01b5f7f", "fetched_at": "2026-08-28T04:11:29.636560+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rrweb-io/rrweb"}, {"content_hash": "b63215d984e3675b607151f716ef6a790d666af4e40701001fe83ea73ee8e305", "fetched_at": "2026-08-29T07:58:17.307406+00:00", "kind": "homepage", "missing": false, "url": "https://www.rrweb.io/"}, {"content_hash": "3e4e73d49864cf52c6de280d47ec146bd81222f8c14502c2ee541beb3170207d", "fetched_at": "2026-08-29T07:58:17.310351+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/docs"}, {"content_hash": "4bf1272cd5472fb792026d81d3f3814016233616a2ac707e2ba95408c19f57a9", "fetched_at": "2026-08-29T07:58:17.314215+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/about"}, {"content_hash": "23ecaf03f280b7f2e88760b2ec68f16a8a4bbbda00047cc3d9b950c3d81cede1", "fetched_at": "2026-08-29T07:58:17.316017+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/rrweb"}, {"content_hash": "fe172ef105b3b4948fc213c1487539b9dc4beffe109e346eee61a377ed3198d7", "fetched_at": "2026-08-29T07:58:17.312395+00:00", "kind": "site_page", "missing": false, "url": "https://rrweb.com/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 82}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2888, "days_push": 9, "days_rel": 42, "gap_med": 0, "n_releases_24m": 78}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}