{"id":21507522,"url":"https://github.com/cardinal-run/fingerprint","last_synced_at":"2025-04-23T22:29:12.748Z","repository":{"id":262260830,"uuid":"886619672","full_name":"cardinal-run/fingerprint","owner":"cardinal-run","description":"A package for creating fingerprints of any environment.","archived":false,"fork":false,"pushed_at":"2025-03-26T19:29:16.000Z","size":20,"stargazers_count":27,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-26T20:27:30.039Z","etag":null,"topics":["dart","detection","fingerprint","fingerprinting","flutter","identification"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cardinal-run.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-11T09:55:58.000Z","updated_at":"2025-03-26T19:42:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f55addc-bf24-492f-9794-3818cac2faa6","html_url":"https://github.com/cardinal-run/fingerprint","commit_stats":null,"previous_names":["cardinal-run/fingerprint"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardinal-run%2Ffingerprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardinal-run%2Ffingerprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardinal-run%2Ffingerprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardinal-run%2Ffingerprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cardinal-run","download_url":"https://codeload.github.com/cardinal-run/fingerprint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250525937,"owners_count":21445097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","detection","fingerprint","fingerprinting","flutter","identification"],"created_at":"2024-11-23T20:16:33.380Z","updated_at":"2025-04-23T22:29:12.742Z","avatar_url":"https://github.com/cardinal-run.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fingerprint\n\n[![build](https://github.com/cardinal-run/fingerprint/actions/workflows/main.yaml/badge.svg)](https://github.com/cardinal-run/fingerprint/actions/workflows/main.yaml)\n[![coverage](https://raw.githubusercontent.com/cardinal-run/fingerprint/main/coverage_badge.svg)](https://github.com/cardinal-run/fingerprint/actions/workflows/main.yaml)\n[![pub package](https://img.shields.io/pub/v/fingerprint.svg)](https://pub.dev/packages/fingerprint)\n[![License: MIT](https://img.shields.io/badge/license-MIT-purple.svg)](https://opensource.org/licenses/MIT)\n\nA package for creating fingerprints of any environment.\n\n## ✨ Features\n\n🔧 Automatically platform detection for `flutter`, `web`, and `io`.\n\n🔐 By default the fingerprint is privacy friendly.\n\n🧩 Custom sources can be provided when creating or refining a fingerprint.\n\n## 🧑‍💻 Example\n\n```dart\nimport 'package:fingerprint/fingerprint.dart';\n\nvoid main() async {\n  final fingerprint = await Fingerprint.create();\n    \n  // Shows the canonical form of the fingerprint.\n  print(fingerprint.toCanonicalString());\n\n  // Shows the hash that represents the fingerprint.\n  print(fingerprint);\n}\n```\n\n## 🎯 Accuracy\n\nPercentage of accuracy for any given fingerprint can not be guaranteed and you should always perform\nyour own tests for the environment you want to use the fingerprints in.\n\nWe highly recommend refining the fingerprint with your own sources to ensure a higher accuracy:\n\n```dart\nimport 'package:fingerprint/fingerprint.dart';\n\nvoid main() async {\n  final fingerprint = await Fingerprint.create();\n\n  final myRefinedFingerprint = await fingerprint.refine({\n    'my_custom_source': () =\u003e SourceResult.value('my_custom_value'),\n    ...\n  });\n}\n```\n\n## 🔒 Security\n\nAny fingerprint that is created within client-space (browsers, apps or other environments where data\ncant be trusted) should be considered insecure. They are easily spoofed and their implementation can\nbe reversed engineered.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcardinal-run%2Ffingerprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcardinal-run%2Ffingerprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcardinal-run%2Ffingerprint/lists"}