Repository navigation
Device Fingerprints
Features / Device Fingerprints
The Device Fingerprints subsystem provides hardware telemetry virtualization for Antigravity accounts. By assigning distinct, persistent device identities to each registered account, it prevents telemetry collision and cross-account device linkage in upstream analytics.
Antigravity and its underlying VS Code architecture collect multiple device telemetry signatures to identify the client workstation. The Device Fingerprints module virtualizes four distinct parameters per account:
| Parameter Key | Format / Encoding | Telemetry Role |
|---|---|---|
machine_id |
64-character hexadecimal SHA-256 string | Primary machine hash reported in telemetry payloads |
updater_id |
36-character canonical UUIDv4 string | Client identifier used by internal update check routines |
installation_id |
36-character canonical UUIDv4 string | Unique installation ID stored in storage.json
|
installation_uuid |
36-character canonical UUIDv4 string | Telemetry session instance UUID stored in protobuf state |
When an account switch occurs, the daemon updates these virtual identities atomically across four host filesystem locations before launching or reconnecting to Antigravity:
-
Protobuf State File:
~/.config/Antigravity/antigravity_state.pbtxt(or%APPDATA%\Antigravity\antigravity_state.pbtxton Windows). The daemon updates the serializedinstallation_uuidtext field. -
VS Code Host Storage:
~/.config/Antigravity/User/globalStorage/storage.json. The daemon updatestelemetry.machineId,telemetry.macMachineId, andtelemetry.sqmId. -
Machine ID Cache:
~/.config/Antigravity/machineid. Direct hex string replacement. -
Platform-Specific Registry / DBus: Under Linux, matches
dbusmachine-id semantics; under Windows, virtualizesCryptography\MachineGuid.
The Device Fingerprints management screen (accessible via the Account Switcher top ribbon) lists all configured accounts alongside their bound hardware profiles:
- Random Profile Generator: Generates cryptographically secure, random 64-character hex strings and UUIDv4 pairs conforming to telemetry specifications.
- Manual Identifier Overrides: Allows developers to inspect, export, or manually input specific device identifiers for deterministic multi-workstation testing.
- Synchronous Profile Swapping: During automated or manual account rotation, fingerprint injection executes synchronously with keyring credential rotation. This prevents the host application from launching with mismatched credentials and telemetry signatures.
The virtualization engine strictly enforces the following guarantees:
- Zero Cross-Account Bleed: Switching accounts completely overwrites previous telemetry tokens in host configuration files.
- Persistent Profile Affinity: Once generated or assigned, an account retains its unique hardware profile indefinitely across reboots, unless manually regenerated by the user.
-
Pre-Flight Snapshotting: All modified configuration files are backed up with a
.swiss.bakextension before writing virtual profiles, allowing safe recovery if the host application crashes during a write.