{"adoption": {"forks": 100, "observed_at": "2026-08-28T04:06:24.961581+00:00", "stars": 2192}, "canonical_url": "https://ross.abutalabs.com/products/findmyflipper", "card": {"archived": false, "artifact_type": "application", "description": "The FindMy Flipper app turns your FlipperZero into an AirTag or other tracking device, compatible with Apple AirTags and Samsung SmartTag and Tile Trackers. It uses the BLE beacon to broadcast, allowing users to clone existing tags, generate OpenHaystack key pairs for Apple's FindMy network, and customize beacon intervals and transmit power.", "domain": ["hardware", "privacy", "security"], "enriched": true, "function": ["security", "networking", "embedded"], "health_score": 35, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["MatthewKuKanich/FindMyFlipper"], "name": "MatthewKuKanich/FindMyFlipper", "platform": ["embedded", "python", "cross-platform"], "pushed_at": "2025-04-01T18:33:21+00:00", "repo": "MatthewKuKanich/FindMyFlipper", "stars": 2192, "tags": ["flipperzero", "ble-beacon", "airtag-emulation", "findmy-network", "tracker", "openhaystack", "bluetooth"], "topics": [], "urls": [], "use_cases": ["track my flipperzero like an airtag", "clone an existing airtag or smarttag onto another device", "generate openhaystack keys for apple findmy network", "emulate a smart tag without owning an airtag", "customize ble beacon interval and transmit power"], "what_it_is": "A FlipperZero application that turns the device into a BLE tracker beacon emulating Apple AirTags, Samsung SmartTags, or Tile trackers. It supports cloning existing tags or generating OpenHaystack key pairs for Apple's FindMy network, with configurable broadcast interval and transmit power.", "when_to_avoid": ["you need a standalone tracker without a FlipperZero device", "you need production-grade, legally vetted tracking hardware", "you require official vendor app support on iOS without extra setup"], "when_to_choose": ["you own a FlipperZero and want it to act as a findable tracker", "you want to experiment with BLE tracker beacon protocols", "you want FindMy network tracking without buying an AirTag"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/findmyflipper", "repo": "MatthewKuKanich/FindMyFlipper", "role": "main", "score": 22}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "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:06:24.961581+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.961581+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:47:19.218884+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "679f2e44ba38c7bfa3866885301cb9e7c49fd9e6622be6dcf0bf716fcc7e89b9", "fetched_at": "2026-08-28T04:06:24.961581+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MatthewKuKanich/FindMyFlipper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 14, "longevity": 65, "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": 911, "days_push": 519, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 22, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}