{"adoption": {"forks": 143, "observed_at": "2026-08-28T04:05:22.570504+00:00", "stars": 1690}, "canonical_url": "https://ross.abutalabs.com/products/rfid-tag-guide", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Instructions on how to read out the bambulab nfc tags", "domain": ["hardware", "reverse-engineering", "security", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "security", "cryptography", "developer-tools"], "health_score": 47, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["Bambu-Research-Group/RFID-Tag-Guide"], "name": "Bambu-Research-Group/RFID-Tag-Guide", "platform": ["windows", "python", "cli"], "pushed_at": "2025-09-30T14:24:44+00:00", "repo": "Bambu-Research-Group/RFID-Tag-Guide", "stars": 1690, "tags": ["rfid", "nfc", "3d-printing", "bambu-lab", "proxmark3", "filament-tags", "documentation", "hardware-hacking", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["read bambu lab filament nfc tag data", "decrypt rfid tags from 3d printer spools", "clone a bambu filament tag with proxmark3", "understand what data is stored on bambu rfid tags", "derive mifare keys from a tag uid", "contribute scanned filament tags to a community library", "reverse engineer the bambu ams rfid board"], "what_it_is": "A community research guide documenting how to decrypt, read, and clone the NFC/RFID tags Bambu Lab uses on its 3D printer filament spools, including Python key-derivation and Proxmark3 recovery scripts. It also serves as a hub for collecting and comparing scanned tag data from the community.", "when_to_avoid": ["you want to create custom tags with arbitrary filament data - tags are RSA-signed and the printer rejects unsigned ones", "you need a turnkey product rather than a research guide with manual steps", "you have no RFID hardware and only want to read tags with a phone"], "when_to_choose": ["you own a Proxmark3 or similar RFID tool and want to inspect Bambu Lab filament tags", "you want to clone existing filament spool tags", "you are researching the tag data format or the printer's RFID board", "you want to contribute tag scans to the community tag library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rfid-tag-guide", "repo": "Bambu-Research-Group/RFID-Tag-Guide", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "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:05:22.570504+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.570504+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:18.969971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "37d0f3b7b78941f791c6c55ca31a07e1a7bfa2a3721916fee6e6242b1372a770", "fetched_at": "2026-08-28T04:05:22.570504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Bambu-Research-Group/RFID-Tag-Guide"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 44, "longevity": 93, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1302, "days_push": 337, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}