get static method
SHA-256 hex of a stable per-device-per-app identifier. Cached after first computation. Falls back to a low-entropy "unknown" digest if platform plugins aren't available — sending something is better than sending nothing because the gateway treats an empty header as "no fingerprint declared yet" and lock-on-first-use kicks in on the next request, possibly creating a mismatch.
Implementation
static Future<String> get() async {
if (_cached != null) return _cached!;
// Coalesce concurrent first-time callers onto one computation —
// checkout flows often issue several requests in flight at once.
return _inFlight ??= _compute();
}