🎩 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.0.1
to
0.0.2
+741
data/mac-m4-chrome-stable/baseline.manifest.json
{
"navigator": {
"secureContext": true,
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Safari/537.36",
"platform": "MacIntel",
"vendor": "Google Inc.",
"vendorSub": "",
"product": "Gecko",
"productSub": "20030107",
"appVersion": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Safari/537.36",
"appName": "Netscape",
"appCodeName": "Mozilla",
"language": "en-US",
"languages": [
"en-US",
"en"
],
"cookieEnabled": true,
"doNotTrack": null,
"maxTouchPoints": 0,
"hardwareConcurrency": 14,
"deviceMemory": 8,
"pdfViewerEnabled": true,
"webdriver": false,
"connection": {
"effectiveType": "4g",
"downlink": 1.65,
"rtt": 100,
"saveData": false
},
"plugins": [
{
"name": "PDF Viewer",
"filename": "internal-pdf-viewer",
"description": "Portable Document Format"
},
{
"name": "Chrome PDF Viewer",
"filename": "internal-pdf-viewer",
"description": "Portable Document Format"
},
{
"name": "Chromium PDF Viewer",
"filename": "internal-pdf-viewer",
"description": "Portable Document Format"
},
{
"name": "Microsoft Edge PDF Viewer",
"filename": "internal-pdf-viewer",
"description": "Portable Document Format"
},
{
"name": "WebKit built-in PDF",
"filename": "internal-pdf-viewer",
"description": "Portable Document Format"
}
],
"pluginCount": 5,
"mimeTypes": [
"application/pdf",
"text/pdf"
],
"userAgentData": {
"brands": [
{
"brand": "Google Chrome",
"version": "147"
},
{
"brand": "Not.A/Brand",
"version": "8"
},
{
"brand": "Chromium",
"version": "147"
}
],
"mobile": false,
"platform": "macOS"
},
"userAgentDataHighEntropy": {
"architecture": "arm",
"bitness": "64",
"brands": [
{
"brand": "Google Chrome",
"version": "147"
},
{
"brand": "Not.A/Brand",
"version": "8"
},
{
"brand": "Chromium",
"version": "147"
}
],
"fullVersionList": [
{
"brand": "Google Chrome",
"version": "147.0.7727.138"
},
{
"brand": "Not.A/Brand",
"version": "8.0.0.0"
},
{
"brand": "Chromium",
"version": "147.0.7727.138"
}
],
"mobile": false,
"model": "",
"platform": "macOS",
"platformVersion": "26.4.0",
"wow64": false
},
"permissions": {
"geolocation": "prompt",
"notifications": "prompt",
"camera": "prompt",
"microphone": "prompt",
"accelerometer": "granted",
"gyroscope": "granted",
"magnetometer": "granted",
"clipboard-read": "prompt",
"clipboard-write": "granted"
},
"storageEstimate": {
"quota": 596797550592,
"usage": 0
},
"bluetooth": true,
"usb": true,
"serial": true,
"hid": true,
"xr": true,
"gpu": true,
"ink": true,
"scheduling": true,
"windowControlsOverlay": true,
"virtualKeyboard": true
},
"screen": {
"width": 800,
"height": 600,
"availWidth": 800,
"availHeight": 600,
"colorDepth": 24,
"pixelDepth": 24,
"innerWidth": 756,
"innerHeight": 469,
"outerWidth": 756,
"outerHeight": 556,
"screenX": 22,
"screenY": 22,
"devicePixelRatio": 1,
"orientation": {
"type": "landscape-primary",
"angle": 0
},
"mediaQueries": {
"prefers-color-scheme": "light",
"prefers-reduced-motion": "reduce",
"prefers-contrast": "no-preference",
"forced-colors": "none",
"color-gamut": "srgb",
"pointer": "fine",
"hover": "hover",
"any-pointer": "fine",
"any-hover": "hover",
"display-mode": "browser",
"dynamic-range": "standard",
"update": "fast",
"min-resolution": "96dpi",
"monochrome": false
},
"visualViewport": {
"width": 756,
"height": 469,
"offsetLeft": 0,
"offsetTop": 0,
"pageLeft": 0,
"pageTop": 0,
"scale": 1
}
},
"canvas": {
"consistent": true,
"hash": "96152ABE",
"dataUrlLength": 24094,
"dataUrlPrefix": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwA",
"webpSupport": true,
"jpegHighLength": 25935,
"jpegLowLength": 2307
},
"webgl": {
"version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
"shadingLanguageVersion": "WebGL GLSL ES 3.00 (OpenGL ES GLSL ES 3.0 Chromium)",
"vendor": "WebKit",
"renderer": "WebKit WebGL",
"unmaskedVendor": "Google Inc. (Apple)",
"unmaskedRenderer": "ANGLE (Apple, ANGLE Metal Renderer: Apple M4 Max, Unspecified Version)",
"extensions": [
"EXT_clip_control",
"EXT_color_buffer_float",
"EXT_color_buffer_half_float",
"EXT_conservative_depth",
"EXT_depth_clamp",
"EXT_disjoint_timer_query_webgl2",
"EXT_float_blend",
"EXT_polygon_offset_clamp",
"EXT_render_snorm",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_texture_mirror_clamp_to_edge",
"EXT_texture_norm16",
"KHR_parallel_shader_compile",
"NV_shader_noperspective_interpolation",
"OES_draw_buffers_indexed",
"OES_sample_variables",
"OES_shader_multisample_interpolation",
"OES_texture_float_linear",
"WEBGL_blend_func_extended",
"WEBGL_clip_cull_distance",
"WEBGL_compressed_texture_astc",
"WEBGL_compressed_texture_etc",
"WEBGL_compressed_texture_etc1",
"WEBGL_compressed_texture_pvrtc",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_lose_context",
"WEBGL_multi_draw",
"WEBGL_polygon_mode",
"WEBGL_provoking_vertex",
"WEBGL_render_shared_exponent",
"WEBGL_stencil_texturing"
],
"extensionCount": 36,
"maxTextureSize": 16384,
"maxViewportDims": [
16384,
16384
],
"maxRenderbufferSize": 16384,
"maxCombinedTextureImageUnits": 32,
"maxCubeMapTextureSize": 16384,
"maxFragmentUniformVectors": 1024,
"maxTextureImageUnits": 16,
"maxVertexAttribs": 16,
"maxVertexTextureImageUnits": 16,
"maxVertexUniformVectors": 1024,
"maxVaryingVectors": 30,
"aliasedLineWidthRange": [
1,
1
],
"aliasedPointSizeRange": [
1,
511
],
"maxColorAttachments": 8,
"maxAnisotropy": 16,
"precisionFormats": {
"vertex_lowFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"vertex_medFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"vertex_highFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"vertex_lowInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
},
"vertex_medInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
},
"vertex_highInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
},
"fragment_lowFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"fragment_medFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"fragment_highFloat": {
"rangeMin": 127,
"rangeMax": 127,
"precision": 23
},
"fragment_lowInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
},
"fragment_medInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
},
"fragment_highInt": {
"rangeMin": 31,
"rangeMax": 30,
"precision": 0
}
}
},
"webgpu": {
"supported": true,
"features": [
"depth32float-stencil8",
"rg11b10ufloat-renderable",
"texture-formats-tier1",
"bgra8unorm-storage",
"texture-compression-bc",
"dual-source-blending",
"core-features-and-limits",
"float32-filterable",
"indirect-first-instance",
"texture-compression-astc-sliced-3d",
"float32-blendable",
"texture-compression-astc",
"texture-compression-etc2",
"depth-clip-control",
"texture-compression-bc-sliced-3d",
"shader-f16",
"timestamp-query",
"clip-distances",
"texture-formats-tier2",
"primitive-index",
"texture-component-swizzle",
"subgroups"
],
"info": {
"vendor": "apple",
"architecture": "metal-3",
"device": "",
"description": ""
}
},
"audio": {
"sampleRate": 48000,
"state": "suspended",
"baseLatency": 0.005333333333333333,
"outputLatency": 0,
"maxChannelCount": 2,
"numberOfInputs": 1,
"numberOfOutputs": 0,
"channelCount": 2,
"channelCountMode": "explicit",
"channelInterpretation": "speakers",
"audioHash": "124.04347624466754",
"sampleValues": [
-0.10808053612709045,
-0.3909117877483368,
-0.005692681297659874,
0.3892313539981842,
0.1189708411693573,
-0.3545846939086914,
-0.22215834259986877,
0.28990939259529114,
0.30651888251304626,
-0.20068734884262085
]
},
"mediaDevices": {
"devices": [
{
"deviceId": "",
"kind": "audioinput",
"label": "",
"groupId": ""
},
{
"deviceId": "",
"kind": "videoinput",
"label": "",
"groupId": ""
},
{
"deviceId": "",
"kind": "audiooutput",
"label": "",
"groupId": ""
}
],
"deviceCount": 3,
"audioinput": 1,
"audiooutput": 1,
"videoinput": 1,
"supportedConstraints": {
"aspectRatio": true,
"autoGainControl": true,
"brightness": true,
"channelCount": true,
"colorTemperature": true,
"contrast": true,
"deviceId": true,
"displaySurface": true,
"echoCancellation": true,
"exposureCompensation": true,
"exposureMode": true,
"exposureTime": true,
"facingMode": true,
"focusDistance": true,
"focusMode": true,
"frameRate": true,
"groupId": true,
"height": true,
"iso": true,
"latency": true,
"noiseSuppression": true,
"pan": true,
"pointsOfInterest": true,
"resizeMode": true,
"restrictOwnAudio": true,
"sampleRate": true,
"sampleSize": true,
"saturation": true,
"sharpness": true,
"suppressLocalAudioPlayback": true,
"tilt": true,
"torch": true,
"voiceIsolation": true,
"whiteBalanceMode": true,
"width": true,
"zoom": true
}
},
"speech": {
"voices": [],
"voiceCount": 0,
"localVoices": 0,
"remoteVoices": 0,
"languages": []
},
"fonts": {
"detected": [
"Arial",
"Arial Black",
"Arial Narrow",
"Comic Sans MS",
"Courier New",
"Georgia",
"Impact",
"Microsoft Sans Serif",
"Tahoma",
"Times New Roman",
"Trebuchet MS",
"Verdana",
"Webdings",
"Wingdings",
"American Typewriter",
"Andale Mono",
"Apple Chancery",
"Apple Color Emoji",
"Apple SD Gothic Neo",
"Avenir",
"Avenir Next",
"Baskerville",
"Big Caslon",
"Brush Script MT",
"Chalkboard",
"Chalkboard SE",
"Chalkduster",
"Cochin",
"Copperplate",
"Courier",
"Didot",
"Futura",
"Geneva",
"Gill Sans",
"Helvetica",
"Helvetica Neue",
"Herculanum",
"Hoefler Text",
"Iowan Old Style",
"Lucida Grande",
"Luminari",
"Marker Felt",
"Menlo",
"Monaco",
"Noteworthy",
"Optima",
"Palatino",
"Papyrus",
"Phosphate",
"Rockwell",
"Savoye LET",
"SignPainter",
"Skia",
"Snell Roundhand",
"STIXGeneral",
"Superclarendon",
"Symbol",
"System Font",
"Zapfino",
"Hiragino Sans",
"Hiragino Kaku Gothic Pro",
"Hiragino Mincho Pro",
"PT Sans"
],
"count": 63,
"tested": 117,
"hash": "B8498456",
"fontsApiReady": true
},
"storage": {
"localStorage": true,
"localStorageKeys": 0,
"sessionStorage": true,
"sessionStorageKeys": 0,
"cookiesEnabled": true,
"cookiesWritable": false,
"cookieCount": 0,
"indexedDB": true,
"cacheStorage": true,
"serviceWorker": true,
"storageManager": true,
"fileSystemAccess": true,
"sharedArrayBuffer": false,
"sharedWorker": true,
"openDatabase": false,
"broadcastChannel": true,
"secureContext": true
},
"timing": {
"timezone": "Asia/Bangkok",
"timezoneOffset": -420,
"locale": "en-US",
"dateString": "Mon Jan 01 2024 12:00:00 GMT+0700 (Indochina Time)",
"localeString": "1/1/2024, 12:00:00 PM",
"localeDateString": "1/1/2024",
"numberFormat": {
"locale": "en-US",
"numberingSystem": "latn",
"style": "decimal",
"minimumIntegerDigits": 1,
"minimumFractionDigits": 0,
"maximumFractionDigits": 3,
"useGrouping": "auto",
"notation": "standard",
"signDisplay": "auto",
"roundingIncrement": 1,
"roundingMode": "halfExpand",
"roundingPriority": "auto",
"trailingZeroDisplay": "auto"
},
"dateTimeFormat": {
"locale": "en-US",
"calendar": "gregory",
"numberingSystem": "latn",
"timeZone": "Asia/Bangkok",
"year": "numeric",
"month": "numeric",
"day": "numeric"
},
"supportedCalendars": [
"buddhist",
"chinese",
"coptic",
"dangi",
"ethioaa",
"ethiopic",
"gregory",
"hebrew",
"indian",
"islamic",
"islamic-civil",
"islamic-rgsa",
"islamic-tbla",
"islamic-umalqura",
"iso8601",
"japanese",
"persian",
"roc"
],
"supportedCurrencies": 159,
"supportedNumberingSystems": [
"adlm",
"ahom",
"arab",
"arabext",
"bali",
"beng",
"bhks",
"brah",
"cakm",
"cham",
"deva",
"diak",
"fullwide",
"gara",
"gong",
"gonm",
"gujr",
"gukh",
"guru",
"hanidec",
"hmng",
"hmnp",
"java",
"kali",
"kawi",
"khmr",
"knda",
"krai",
"lana",
"lanatham",
"laoo",
"latn",
"lepc",
"limb",
"mathbold",
"mathdbl",
"mathmono",
"mathsanb",
"mathsans",
"mlym",
"modi",
"mong",
"mroo",
"mtei",
"mymr",
"mymrepka",
"mymrpao",
"mymrshan",
"mymrtlng",
"nagm",
"newa",
"nkoo",
"olck",
"onao",
"orya",
"osma",
"outlined",
"rohg",
"saur",
"segment",
"shrd",
"sind",
"sinh",
"sora",
"sund",
"sunu",
"takr",
"talu",
"tamldec",
"telu",
"thai",
"tibt",
"tirh",
"tnsa",
"vaii",
"wara",
"wcho"
],
"supportedTimeZones": 418,
"supportedUnits": 45,
"timerPrecision": null,
"mathFingerprint": {
"E": 2.718281828459045,
"LN2": 0.6931471805599453,
"LN10": 2.302585092994046,
"LOG2E": 1.4426950408889634,
"LOG10E": 0.4342944819032518,
"PI": 3.141592653589793,
"SQRT2": 1.4142135623730951,
"SQRT1_2": 0.7071067811865476,
"acos": 1.0471975511965979,
"acosh": 1.3169578969248166,
"asin": 0.5235987755982989,
"atan": 0.7853981633974483,
"atanh": 0.5493061443340548,
"cbrt": 1.2599210498948732,
"cosh": 1.5430806348152437,
"expm1": 1.718281828459045,
"log1p": 0.4054651081081644,
"sinh": 1.1752011936438014,
"tanh": 0.7615941559557649
}
},
"bot": {
"webdriver": false,
"webdriverType": "normal",
"headlessChrome": false,
"automationKeys": [],
"automationDetected": false,
"chromeRuntime": false,
"pluginCount": 5,
"pluginInconsistency": false,
"languageInconsistency": false,
"permissionsApi": true,
"screenDimensions": "800x600",
"suspiciousDimensions": false,
"maxTouchPoints": 0,
"touchEvent": false,
"touchInconsistency": false,
"notificationPermission": "default",
"userActivation": {
"hasBeenActive": false,
"isActive": false
},
"navigationTiming": {
"type": "navigate",
"redirectCount": 0,
"domComplete": 6,
"loadEventEnd": 6,
"domInteractive": 5
},
"stackDepthTest": 101
},
"__meta": {
"capturedAt": "2026-05-08T02:02:42.251Z",
"elapsedMs": 1246,
"href": "file:///Users/marcxavier/mochi/tests/fixtures/probe-page.html",
"readyState": "complete"
}
}
{
"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."
}
]
}
{
"id": "mac-m4-chrome-stable",
"version": "1.0.0",
"engine": "chromium",
"browser": {
"name": "chrome",
"channel": "stable",
"minVersion": "147",
"maxVersion": "147"
},
"os": {
"name": "macos",
"version": "26.4.0",
"arch": "arm64"
},
"device": {
"vendor": "apple",
"model": "Mac",
"cpuFamily": "apple-silicon-m4",
"cores": 14,
"memoryGB": 64
},
"display": {
"width": 800,
"height": 600,
"dpr": 1,
"colorDepth": 24,
"pixelDepth": 24
},
"gpu": {
"vendor": "Apple",
"renderer": "ANGLE Metal Renderer: Apple M4 Max",
"webglUnmaskedVendor": "Google Inc. (Apple)",
"webglUnmaskedRenderer": "ANGLE (Apple, ANGLE Metal Renderer: Apple M4 Max, Unspecified Version)",
"webglMaxTextureSize": 16384,
"webglMaxColorAttachments": 8,
"webglExtensions": [
"EXT_clip_control",
"EXT_color_buffer_float",
"EXT_color_buffer_half_float",
"EXT_conservative_depth",
"EXT_depth_clamp",
"EXT_disjoint_timer_query_webgl2",
"EXT_float_blend",
"EXT_polygon_offset_clamp",
"EXT_render_snorm",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_texture_mirror_clamp_to_edge",
"EXT_texture_norm16",
"KHR_parallel_shader_compile",
"NV_shader_noperspective_interpolation",
"OES_draw_buffers_indexed",
"OES_sample_variables",
"OES_shader_multisample_interpolation",
"OES_texture_float_linear",
"WEBGL_blend_func_extended",
"WEBGL_clip_cull_distance",
"WEBGL_compressed_texture_astc",
"WEBGL_compressed_texture_etc",
"WEBGL_compressed_texture_etc1",
"WEBGL_compressed_texture_pvrtc",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_lose_context",
"WEBGL_multi_draw",
"WEBGL_polygon_mode",
"WEBGL_provoking_vertex",
"WEBGL_render_shared_exponent",
"WEBGL_stencil_texturing"
]
},
"audio": {
"contextSampleRate": 48000,
"audioWorkletLatency": 0.005333333333333333,
"destinationMaxChannelCount": 2
},
"fonts": {
"family": "macos-system-pack",
"list": [
"American Typewriter",
"Andale Mono",
"Apple Chancery",
"Apple Color Emoji",
"Apple SD Gothic Neo",
"Arial",
"Arial Black",
"Arial Narrow",
"Avenir",
"Avenir Next",
"Baskerville",
"Big Caslon",
"Brush Script MT",
"Chalkboard",
"Chalkboard SE",
"Chalkduster",
"Cochin",
"Comic Sans MS",
"Copperplate",
"Courier",
"Courier New",
"Didot",
"Futura",
"Geneva",
"Georgia",
"Gill Sans",
"Helvetica",
"Helvetica Neue",
"Herculanum",
"Hiragino Kaku Gothic Pro",
"Hiragino Mincho Pro",
"Hiragino Sans",
"Hoefler Text",
"Impact",
"Iowan Old Style",
"Lucida Grande",
"Luminari",
"Marker Felt",
"Menlo",
"Microsoft Sans Serif",
"Monaco",
"Noteworthy",
"Optima",
"PT Sans",
"Palatino",
"Papyrus",
"Phosphate",
"Rockwell",
"STIXGeneral",
"Savoye LET",
"SignPainter",
"Skia",
"Snell Roundhand",
"Superclarendon",
"Symbol",
"System Font",
"Tahoma",
"Times New Roman",
"Trebuchet MS",
"Verdana",
"Webdings",
"Wingdings",
"Zapfino"
]
},
"timezone": "Asia/Bangkok",
"locale": "en-US",
"languages": [
"en-US",
"en"
],
"behavior": {
"hand": "right",
"tremor": 0.18,
"wpm": 60,
"scrollStyle": "smooth"
},
"wreqPreset": "chrome_147_macos",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Safari/537.36",
"uaCh": {
"sec-ch-ua": "\"Google Chrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-ch-ua-platform-version": "\"26.4.0\"",
"sec-ch-ua-arch": "\"arm\"",
"sec-ch-ua-bitness": "\"64\"",
"sec-ch-ua-model": "\"\"",
"sec-ch-ua-full-version": "\"147\"",
"sec-ch-ua-os": "\"macos\""
},
"entropyBudget": {
"fixed": [],
"perSeed": []
}
}
# PROVENANCE — mac-m4-chrome-stable
Captured by `mochi capture`. PLAN.md §12.2 — every profile in `main`
must carry verifiable provenance.
| field | value |
|---|---|
| profile id | `mac-m4-chrome-stable` |
| capturer | unknown |
| machine | unknown |
| browser version | 147 |
| mochi cli version | 0.0.1 |
| captured at (UTC) | 2026-05-08T02:02:42.379Z |
## Hand-corrections
- 2026-05-08, task 0051: `uaCh.sec-ch-ua-model` corrected from `"\"Mac\""`
to `"\"\""` (empty quoted string). Real Chrome 147 desktop reports
`model: ""` from `getHighEntropyValues`; the v0.4 capture incorrectly
stamped the `device.model` fallback ("Mac") into the uaCh slot. The
capture-time derivation (`packages/cli/src/capture/derive-profile.ts`,
`buildUaCh`) was fixed in the same task so future captures preserve the
real (empty) value verbatim.
- 2026-05-08, task 0070: headless-mode-leak corrections in
`baseline.manifest.json` + `profile.json`. The original capture ran
against `--headless=new` Chromium-for-Testing, which emits several
artifacts NOT present in real user-Chrome on the same hardware:
| field | raw capture | corrected (real user-Chrome on M4 Max) |
|---|---|---|
| `navigator.userAgent` | `…HeadlessChrome/147.0.0.0…` | `…Chrome/147.0.7727.138…` |
| `navigator.appVersion` | (HeadlessChrome variant) | (Chrome variant) |
| `navigator.deviceMemory` | `32` | `8` (Chrome's spec cap) |
| `bot.webdriver` | `true` | `false` |
| `bot.webdriverType` | `"headless"` | `"normal"` |
| `bot.headlessChrome` | `true` | `false` |
Rationale: `baseline.manifest.json` is the harness's diff target —
what we expect a clean Mochi-spoofed session to produce. The raw
captured headless leaks are not what real users see, so spoofing
TO them would be wrong. Corrected baseline = correct spoofing target.
**Future captures should run in headed mode** (or with a flag that
suppresses the headless markers) to avoid re-introducing the leaks.
See `tests/fixtures/probe-page.html` and `mochi capture` for the
capture-time options.

Sorry, the diff of this file is not supported yet

// AUTO-GENERATED — do not edit. Run `bun run codegen` to regenerate.
// Source schema lives in schemas/. See scripts/codegen.ts and tasks/0003-schemas-and-codegen.md.
// Re-export of the canonical ProfileV1 type from @mochi.js/consistency.
// @mochi.js/profiles is a data-fixture package; the type lives in consistency
// (PLAN.md §5.6) and consumers share a single source of truth.
export type { ProfileV1 } from "@mochi.js/consistency";
+6
-3
{
"name": "@mochi.js/profiles",
"version": "0.0.1",
"version": "0.0.2",
"description": "Profile data fixtures for mochi — captured baselines (profile.json + Probe Manifest + audio bytes + canvas hashes) per device class.",

@@ -24,6 +24,6 @@ "license": "MIT",

},
"homepage": "https://github.com/0xchasercat/mochi.js",
"homepage": "https://github.com/0xchasercat/mochi",
"repository": {
"type": "git",
"url": "git+https://github.com/0xchasercat/mochi.js.git",
"url": "git+https://github.com/0xchasercat/mochi.git",
"directory": "packages/profiles"

@@ -42,2 +42,5 @@ },

},
"dependencies": {
"@mochi.js/consistency": "workspace:*"
},
"publishConfig": {

@@ -44,0 +47,0 @@ "access": "public"

# @mochi.js/profiles
Captured-baseline data fixtures for [mochi](https://github.com/0xchasercat/mochi.js). Each profile is a real-device capture that the consistency engine consumes to lock fingerprint surfaces relationally.
Captured-baseline data fixtures for [mochi](https://github.com/0xchasercat/mochi). Each profile is a real-device capture that the consistency engine consumes to lock fingerprint surfaces relationally.

@@ -9,2 +9,2 @@ Internal package consumed by `@mochi.js/core` and `@mochi.js/consistency`.

See [PLAN.md §12](https://github.com/0xchasercat/mochi.js/blob/main/PLAN.md) for the capture protocol and provenance discipline.
See [PLAN.md §12](https://github.com/0xchasercat/mochi/blob/main/PLAN.md) for the capture protocol and provenance discipline.

@@ -17,4 +17,10 @@ /**

/** ProfileV1 IDs that will ship in the v1 catalog. None are populated yet. */
// ProfileV1's canonical source-of-truth lives in @mochi.js/consistency.
// Re-exported here through a generated shim so this package is a pure consumer
// of the type without duplicating the shape. See PLAN.md §5.6.
export type { ProfileV1 } from "./generated/profile";
/** ProfileV1 IDs that ship in the v1 catalog. */
export const KNOWN_PROFILE_IDS = [
"mac-m4-chrome-stable",
"mac-m2-chrome-stable",

@@ -21,0 +27,0 @@ "mac-m1-chrome-stable",