zemion 0ae5c7b7af
Verify / verify (push) Canceled after 0s
Release Device Tools 0.2.0
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-02 13:08:36 +02:00
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-02 13:08:36 +02:00
2026-09-02 13:08:36 +02:00
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-02 13:08:36 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00
2026-09-01 14:22:42 +02:00

Device Tools

A local browser capability and privacy lab. It shows useful platform evidence without producing a device identifier, fingerprint hash or uniqueness score.

Features

  • Passive inventory for secure/top-level context, display/viewport/DPR, touch/pointer/hover, accessibility media queries, media constraints, codec declarations, storage/PWA and browser device-API presence.
  • Explicit individual probes for permission state, storage estimate/persistence, WebGL limits, WebGPU adapter presence, media-device counts, battery, network hints and camera/microphone/screen access.
  • Explainable failures that distinguish a missing API, insecure or embedded context, Permissions Policy, user permission, and unavailable/busy operating-system devices, with concrete remediation.
  • Toolbox application compatibility analysis from pasted manifest JSON, including legacy requirements plus required/optional capability profiles and unknown-capability evidence.
  • An explicit MediaCapabilities decoding lab for video/audio codec, dimensions, rate and bitrate, with support/smoothness/power-efficiency results and a separately downloadable bucketed report.
  • Camera, microphone and screen streams are never recorded and every returned track stops immediately.
  • WebGL deliberately avoids unmasked vendor/renderer extensions; media device IDs and labels are discarded.
  • Deterministic redacted JSON/CSV reports with broad buckets for high-entropy values and no timestamp, user agent, locale, identifier or score.
  • Responsive accessible interface, system/light/dark Toolbox shell and offline PWA.

Privacy boundary

The passive inventory runs locally on load and does not request permission. Optional probes run only after their named button is pressed; buttons labelled “may prompt” can show browser or operating-system UI. Application manifests are treated as inert JSON and no referenced code is loaded. MediaCapabilities checks are likewise opt-in because smoothness and power-efficiency answers can depend on the device. The application performs no canvas/audio sample fingerprinting, persistent storage, telemetry or external request.

Downloaded reports are deliberately less precise than the on-screen local view. They bucket exact dimensions, pixel ratio, storage, graphics limits, hardware counts, battery timing and connection quality. This is a diagnostics report, not proof that an API will work in every embedded or enterprise-policy context.

Development

Use Node.js 22+ and npm 11. Run npm ci, npm run check, npm run test:browser, then npm run package:release -- --force. The deterministic artifact is release/device-tools-0.2.0.zip with a SHA-256 sidecar.

Licence

GPL-3.0-or-later.

S
Description
Use explicitly permitted browser devices for local diagnostics and data capture.
Readme GPL-3.0
231 KiB
2026-09-02 13:08:36 +02:00
Languages
TypeScript 76.5%
JavaScript 11.9%
CSS 11.1%
HTML 0.5%