AttestationConfig class

Enterprise — Device integrity attestation configuration.

When enabled, the plugin generates a signed attestation token from the device's hardware-backed security module. The token proves the location data came from a genuine, non-rooted/jailbroken device and can be sent alongside HTTP sync payloads for server-side verification.

Trust Layers (Cumulative)

  1. Mock detection (existing) — Rejects spoofed GPS coordinates.
  2. Device attestation (this feature) — Proves the device hardware/software is genuine.
  3. Audit trail (existing) — Proves the location chain hasn't been tampered with.

Platform Support

  • Android: Google Play Integrity API (replaces deprecated SafetyNet).
  • iOS: App Attest (iOS 14+) with DeviceCheck (iOS 11+) fallback.
  • Web: Not supported — getAttestationToken() returns null.

Rate Limits

Google Play Integrity allows ~10,000 requests/day (free tier). The default 1-hour refresh yields 24 requests/day per device.

Config(
  attestation: AttestationConfig(
    enabled: true,
    refreshInterval: 3600,
  ),
)
Annotations

Constructors

AttestationConfig({bool? enabled, int? refreshInterval, @Deprecated('Never implemented — no platform reads this value and the token is not ' 'sent anywhere for verification. Verify it on your backend instead. ' 'Will be removed in a future major version (#304).') String? verificationUrl})
Creates a new AttestationConfig. Omitting a parameter leaves it unset: the getter reports the documented default, and toMap/toTlConfig skip the field so a partial setConfig() does not overwrite the persisted value (#321).
const
AttestationConfig.fromMap(Map<String, Object?> map)
Creates an AttestationConfig from a map.
factory

Properties

enabled bool
Enable device attestation.
no setter
hashCode int
The hash code for this object.
no setteroverride
refreshInterval int
How often to refresh the attestation token (seconds).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
verificationUrl String?
Server URL to verify the attestation token (optional).
final

Methods

mergedWith(AttestationConfig other) AttestationConfig
Applies every field other explicitly supplied on top of this one (#321).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolved() AttestationConfig
Returns this config with every field pinned to its effective value, for the complete baseline ready() sends (#321).
toMap() Map<String, Object?>
Serializes to a map, omitting fields that were never supplied (#321).
toString() String
A string representation of this object.
override
toTlConfig() → TlAttestationConfig
Converts to Pigeon TlAttestationConfig.

Operators

operator ==(Object other) bool
The equality operator.
override