🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@mochi.js/profiles

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mochi.js/profiles - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+0
-8
data/linux-chrome-stable/expected-divergences.json

@@ -6,10 +6,2 @@ {

{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "speech.**",

@@ -16,0 +8,0 @@ "comment": "speechSynthesis.getVoices() returns the host's installed system voices on real Chrome (typically 200+ entries on macOS, 20+ on Linux/Win). Chromium-for-Testing ships with no voice tables, so mochi spoofs voices=[]. Restoring real-device voice lists is a phase 0.7 deliverable (precomputed voice tables per-OS) tracked alongside audio/canvas. PLAN.md §13.6."

@@ -6,10 +6,2 @@ {

{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "speech.**",

@@ -16,0 +8,0 @@ "comment": "speechSynthesis.getVoices() returns the host's installed system voices on real Chrome (typically 200+ entries on macOS, 20+ on Linux/Win). Chromium-for-Testing ships with no voice tables, so mochi spoofs voices=[]. Restoring real-device voice lists is a phase 0.7 deliverable (precomputed voice tables per-OS) tracked alongside audio/canvas. PLAN.md §13.6."

@@ -6,10 +6,2 @@ {

{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "speech.**",

@@ -16,0 +8,0 @@ "comment": "speechSynthesis.getVoices() returns the host's installed system voices on real Chrome (typically 200+ entries on macOS, 20+ on Linux/Win). Chromium-for-Testing ships with no voice tables, so mochi spoofs voices=[]. Restoring real-device voice lists is a phase 0.7 deliverable (precomputed voice tables per-OS) tracked alongside audio/canvas. PLAN.md §13.6."

@@ -6,10 +6,2 @@ {

{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "speech.**",

@@ -16,0 +8,0 @@ "comment": "speechSynthesis.getVoices() returns the host's installed system voices on real Chrome (typically 200+ entries on macOS, 20+ on Linux/Win). Chromium-for-Testing ships with no voice tables, so mochi spoofs voices=[]. Restoring real-device voice lists is a phase 0.7 deliverable (precomputed voice tables per-OS) tracked alongside audio/canvas. PLAN.md §13.6."

+1
-10
{
"version": "1",
"profile": "mac-m4-chrome-stable",
"paths": [
{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
}
]
"paths": []
}

@@ -6,10 +6,2 @@ {

{
"path": "audio.**",
"comment": "Audio fingerprint bytes (sampleValues, audioHash) require precomputed per-(profile, sample-rate) byte tables — task 0071. docs/limits.md \"Audio fingerprinting (OfflineAudioContext) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "canvas.**",
"comment": "Canvas hash + dataUrl spoofing requires precomputed hash maps for the standard probe payloads + per-pixel noise injection — task 0071. docs/limits.md \"Canvas fingerprinting (HTMLCanvasElement.toDataURL) is NOT spoofed at v0.3\" carried over to v0.7 phase split."
},
{
"path": "speech.**",

@@ -16,0 +8,0 @@ "comment": "speechSynthesis.getVoices() returns the host's installed system voices on real Chrome (typically 200+ entries on macOS, 20+ on Linux/Win). Chromium-for-Testing ships with no voice tables, so mochi spoofs voices=[]. Restoring real-device voice lists is a phase 0.7 deliverable (precomputed voice tables per-OS) tracked alongside audio/canvas. PLAN.md §13.6."

+2
-2
{
"name": "@mochi.js/profiles",
"version": "0.1.0",
"version": "0.1.1",
"description": "Profile data fixtures for mochi — captured baselines (profile.json + Probe Manifest + audio bytes + canvas hashes) per device class.",

@@ -42,3 +42,3 @@ "license": "MIT",

"dependencies": {
"@mochi.js/consistency": "^0.1.2"
"@mochi.js/consistency": "^0.1.3"
},

@@ -45,0 +45,0 @@ "publishConfig": {

@@ -7,4 +7,21 @@ # @mochi.js/profiles

**Status:** v0.0.1 claim release. First baseline (`mac-m2-chrome-stable`) captured in phase 0.4. v1 catalog: 6 profiles spanning Mac (M1/M2/Intel), Win11 (Chrome/Edge), Linux.
## Status — v0.2
Six real-device baselines ship today, each captured against real Chrome on real hardware and filtered by FingerprintJS Pro `suspectScore <= 20`:
- `mac-m4-chrome-stable` — MacBook (Apple Silicon, M4) — Chrome stable
- `mac-chrome-stable` — macOS — Chrome stable
- `mac-chrome-beta` — macOS — Chrome beta
- `windows-chrome-stable` — Windows 11 — Chrome stable
- `linux-chrome-stable` — Linux x86_64 — Chrome stable
- `mac-brave-stable` — macOS — Brave stable
Each baseline carries `profile.json`, `baseline.manifest.json`, the precomputed `audio/*.bin` and `canvas/*.json` fingerprint blobs (consumed by R-047 / R-048), and `PROVENANCE.md`. Other catalog ids in `KNOWN_PROFILE_IDS` (`mac-m2-…`, `mac-intel-…`, `win11-edge-…`, `mac-m1-…`) still resolve to the generic placeholder until additional captures land.
See [PLAN.md §12](https://github.com/0xchasercat/mochi/blob/main/PLAN.md) for the capture protocol and provenance discipline.
## Documentation
- Package reference: <https://mochijs.com/docs/api/profiles>
- Concept deep-dive: <https://mochijs.com/docs/concepts/profiles>
- Cookbook: <https://mochijs.com/docs/guides/pick-a-scenario>