Fixed-source browser SDK JPEG path; contain/cover compute content dimensions, not exact canvas. Runtime, PNG, no-upscale and privacy remain unverified.
Source statements below remain in their published language. Collection, contributor reports and a provider's identity are separate; this page does not certify quality, current availability or permission to execute.
Complete fixed public record and original source fields
This is the existing public read projection, not a translated or rewritten snapshot. Dynamic observations, where present, remain labelled separately from evidence.
{
"availability": "unknown",
"callability": "documentation_only",
"category": "images",
"data_handling": {
"location": "local",
"notes": "Describes browser-side SDK architecture only. README upload is a caller action and is excluded from the proposed recipe. Whole dependency/network/private-data behavior unknown."
},
"description": "Package1.0.0 npm SHA512 agrees with two Registry-returned attestation subjects; build declaration points to commit 82480db8659b45bedece10a299510458caab0bc6. Source tree and three file Git blobs/SHA independently matched. This is a publisher-declared source relationship, not independently verified Sigstore trust or package/build equivalence. For contain, 64x32 input within32x32 computes32x16; cover computes64x32. Small16x8 within64x64 computes64x32, requesting enlargement. These are static formula deductions, not executed images. JPEG/WebP Canvas does not establish source ICC/HDR preservation.",
"inputs": [
"Authorized input Blob/buffer, MIME and size options; actual per-input/browser decode and resource limits unknown."
],
"invocation": {
"authentication": {
"kind": "unknown",
"notes": "Authorized existing integration required; no application/account audit or authentication performed."
},
"command": "resizeAndConvertImage",
"entry_url": null,
"kind": "local_library",
"method": null,
"requirements": [
"PROPOSED/not_run; source commit is publisher-provenance-declared, not independently proven equivalent to published package bytes.",
"Use only an already authorized usable integration of the package/dependencies; no install or external code execution was performed.",
"Caller must establish a compatible ImageDecoder or source-declared bitmap fallback, VideoFrame and OffscreenCanvas; per-input feature checks are mandatory.",
"Caller supplies authorized inputBlob/inputMime, finite dimensions and byte/pixel limits; no private file is used by this review.",
"Only use first-frame mode if the task explicitly permits dropping animation; otherwise return unknown.",
"Resolve license, privacy/retention/recipient/cost constraints before execution.",
"Do not treat fit:contain/cover as canonical fixed-canvas padding/cropping. Exact dimensions, white background or no-upscale requirements need a separately verified step."
]
},
"limitations": [
"Parameter names contain/cover do not establish canonical exact-canvas letterbox/crop semantics. Source size helper may request enlargement.",
"Official typed output union AVIF/JPEG/WebP; PNG route not established.",
"No install, image processing, private-file upload or real browser codec test.",
"License, full dependency/privacy/retention, actual output geometry/size/color/rotation and costs remain unknown."
],
"outputs": [
"Declared JPEG bytes/Blob path; no actual output created. AVIF/WebP declarations do not establish current task compatibility."
],
"pricing": {
"model": "unknown",
"notes": "No processing/account fee assertion; compute/setup/network/maintenance costs unknown.",
"source_url": null
},
"provider_claimed": false,
"record_kind": "public_source",
"sources": [
{
"basis": "official_api_response",
"checked_at": "2026-11-01T10:59:08.4563145\u002B00:00",
"title": "Exact npm1.0.0 metadata; no installed-byte validation",
"url": "https://registry.npmjs.org/%40browser-mc%2Fbrowser-image-resizer-ex/1.0.0"
},
{
"basis": "official_api_response",
"checked_at": "2026-11-02T07:33:16.7467886\u002B00:00",
"title": "Registry-returned publication/build declaration; signatures not independently verified",
"url": "https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-image-resizer-ex@1.0.0"
},
{
"basis": "official_repository",
"checked_at": "2026-11-02T07:39:24.6709676\u002B00:00",
"title": "Fixed source packages/browser-image-resizer-ex/package.json",
"url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/package.json"
},
{
"basis": "official_repository",
"checked_at": "2026-11-02T07:39:24.9100734\u002B00:00",
"title": "Fixed source packages/browser-image-resizer-ex/src/index.ts",
"url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/index.ts"
},
{
"basis": "official_repository",
"checked_at": "2026-11-02T07:39:25.1116940\u002B00:00",
"title": "Fixed source packages/browser-image-resizer-ex/src/frame-utils.ts",
"url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/frame-utils.ts"
}
],
"summary": "Fixed-source browser SDK JPEG path; contain/cover compute content dimensions, not exact canvas. Runtime, PNG, no-upscale and privacy remain unverified.",
"tags": [
"browser-image-resizer-ex",
"image_delivery",
"browser",
"sdk",
"static_code",
"not_tested"
],
"title": "Browser Image Resizer Ex \u2014 browser JPEG SDK",
"unknowns": [
"Per-input decoder checks and the actual target browser/codec remain untested.",
"The selected review did not validate PNG input decoding in a real environment.",
"No actual input was decoded.",
"Official typed output union lists AVIF/JPEG/WebP; no supported PNG route is established. Invalid JavaScript casts do not expand the public contract.",
"Browser API source is not a Windows runtime test.",
"No target browser/OS combination was run.",
"No target browser/OS combination was run.",
"Resize descriptions do not establish full encoder/hardware dependency requirements.",
"Full dependency and codec/hardware requirements were not audited.",
"Local SDK interface and no direct upload step are not a whole dependency/network audit.",
"Dependency acquisition/setup were not tested.",
"Existing authorized integration/usable browser APIs must be established by caller.",
"No complete application/account audit.",
"No complete application/account audit.",
"License/usage permission and full dependency licensing unknown; fixed manifest has no license field.",
"Provenance signatures/certificate/transparency log and package/build reproducibility not independently verified.",
"Exact canvas, padding/cropping and no-upscale guarantees are not provided by the reviewed size calculation; actual downstream pixels remain untested.",
"JPEG/Canvas color fidelity, EXIF/rotation/alpha behavior, retention, private-data safety, costs and size limits remain unknown."
],
"verification": {
"checked_at": "2026-11-02T07:39:25.1116940\u002B00:00",
"checks_performed": [
"Two declared attestation subjects agree with cached npm SHA512.",
"Complete fixed tree and three raw Git blobs/SHA match.",
"Source static sizing/Canvas path limitations distinguished from canonical task geometry."
],
"evidence_urls": [
"https://registry.npmjs.org/%40browser-mc%2Fbrowser-image-resizer-ex/1.0.0",
"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-image-resizer-ex@1.0.0",
"https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/package.json",
"https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/index.ts",
"https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/frame-utils.ts"
],
"level": "documentation_only",
"not_verified": [
"Per-input decoder checks and the actual target browser/codec remain untested.",
"The selected review did not validate PNG input decoding in a real environment.",
"No actual input was decoded.",
"Official typed output union lists AVIF/JPEG/WebP; no supported PNG route is established. Invalid JavaScript casts do not expand the public contract.",
"Browser API source is not a Windows runtime test.",
"No target browser/OS combination was run.",
"No target browser/OS combination was run.",
"Resize descriptions do not establish full encoder/hardware dependency requirements.",
"Full dependency and codec/hardware requirements were not audited.",
"Local SDK interface and no direct upload step are not a whole dependency/network audit.",
"Dependency acquisition/setup were not tested.",
"Existing authorized integration/usable browser APIs must be established by caller.",
"No complete application/account audit.",
"No complete application/account audit.",
"License/usage permission and full dependency licensing unknown; fixed manifest has no license field.",
"Provenance signatures/certificate/transparency log and package/build reproducibility not independently verified.",
"Exact canvas, padding/cropping and no-upscale guarantees are not provided by the reviewed size calculation; actual downstream pixels remain untested.",
"JPEG/Canvas color fidelity, EXIF/rotation/alpha behavior, retention, private-data safety, costs and size limits remain unknown."
],
"outcome": "not_tested",
"reported_by": "contributor",
"software_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"test_summary": "Compared fixed npm/attestation digest declarations and source tree/Gitblob/SHA; read selected source branches. No package/code/codec/image task was executed."
},
"author_name": null,
"representative_queries": [],
"terms_url": null,
"schema_version": "navonavo.capability.v1",
"service_id": "cap-d9679964fdc1fea1f8c14b55",
"version": 2,
"source_url": "https://registry.npmjs.org/%40browser-mc%2Fbrowser-image-resizer-ex/1.0.0",
"ownership_state": "unclaimed",
"submitted_by": {
"kind": "importer",
"name": "NAVONAVO bounded source review"
},
"submitter_identity_verified": false,
"source_check": {
"url": "https://registry.npmjs.org/%40browser-mc%2Fbrowser-image-resizer-ex/1.0.0",
"final_url": "https://registry.npmjs.org/%40browser-mc%2Fbrowser-image-resizer-ex/1.0.0",
"status_code": 200,
"title": "@browser-mc/browser-image-resizer-ex 1.0.0",
"description": "Browser-side image resize/convert facade; package metadata only.",
"checked_at": "2026-11-01T10:59:08.4563145\u002B00:00",
"warnings": [
"Reused prior actual200 metadata; source code reviewed separately at publisher-provenance-declared commit. No new metadata fetch, install or execution."
]
},
"created_at": "2026-11-02T08:58:46.6777362\u002B00:00",
"updated_at": "2026-11-02T08:58:47.8138636\u002B00:00",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-d9679964fdc1fea1f8c14b55?version=2",
"page_url": "https://navonavo.com/capabilities/cap-d9679964fdc1fea1f8c14b55?version=2",
"verification_scope": "verification\u4E3A\u6295\u7A3F\u8005\u4E0A\u62A5\uFF1Bsource_check\u4EC5\u4E3A\u672C\u7AD9\u6765\u6E90\u8BFB\u53D6\uFF0C\u4E0D\u5347\u7EA7\u4E3A\u529F\u80FD\u9A8C\u8BC1\u6216\u5B98\u65B9\u8BA4\u8BC1\u3002",
"deep_card": {
"schema_version": "navonavo.deep-card.v1",
"dictionary_version": "navonavo.conditions.v1",
"card_version": 2,
"updated_at": "2026-11-02T07:44:05.591726\u002B00:00",
"review_state": "current",
"profiles": [
{
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"summary": "Browser SDK fixed-source declaration with a JPEG path. Library contain/cover names compute content dimensions, not canonical fixed-canvas geometry. PNG, exact canvas and no-upscale remain unmet/unknown; never executed.",
"claims": [
{
"key": "operation",
"value": "image_delivery",
"conclusion": "supported",
"evidence_refs": [
"browser-100-entry",
"browser-100-frame"
],
"unknown_reason": null
},
{
"key": "invocation_mode",
"value": "sdk",
"conclusion": "supported",
"evidence_refs": [
"browser-100-package",
"browser-100-entry"
],
"unknown_reason": null
},
{
"key": "execution_location",
"value": "local",
"conclusion": "supported",
"evidence_refs": [
"browser-100-entry"
],
"unknown_reason": null
},
{
"key": "runtime_os",
"value": "browser",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Source-declared browser APIs require a compatible implementation. Current browser version/codec/feature support was not tested; browser context alone is insufficient."
},
{
"key": "output_format",
"value": "jpeg",
"conclusion": "supported",
"evidence_refs": [
"browser-100-entry",
"browser-100-frame"
],
"unknown_reason": null
},
{
"key": "input_format",
"value": "image",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Per-input decoder checks and the actual target browser/codec remain untested."
},
{
"key": "input_format",
"value": "png",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "The selected review did not validate PNG input decoding in a real environment."
},
{
"key": "input_format",
"value": "jpeg",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "No actual input was decoded."
},
{
"key": "output_format",
"value": "png",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Official typed output union lists AVIF/JPEG/WebP; no supported PNG route is established. Invalid JavaScript casts do not expand the public contract."
},
{
"key": "runtime_os",
"value": "windows",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Browser API source is not a Windows runtime test."
},
{
"key": "runtime_os",
"value": "linux",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "No target browser/OS combination was run."
},
{
"key": "runtime_os",
"value": "macos",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "No target browser/OS combination was run."
},
{
"key": "cpu_only",
"value": "true",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Resize descriptions do not establish full encoder/hardware dependency requirements."
},
{
"key": "gpu_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Full dependency and codec/hardware requirements were not audited."
},
{
"key": "runtime_network_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Local SDK interface and no direct upload step are not a whole dependency/network audit."
},
{
"key": "setup_network_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Dependency acquisition/setup were not tested."
},
{
"key": "setup_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "Existing authorized integration/usable browser APIs must be established by caller."
},
{
"key": "auth_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "No complete application/account audit."
},
{
"key": "account_required",
"value": "false",
"conclusion": "unknown",
"evidence_refs": [],
"unknown_reason": "No complete application/account audit."
}
],
"connection": {
"entry": "resizeAndConvertImage",
"protocol": "browser ES-module SDK",
"authentication": "unknown; existing caller-authorized integration only",
"environment": [
"Source-declared browser WebCodecs/bitmap fallback, VideoFrame and OffscreenCanvas; per-input checks required",
"Package/dependencies and target browser version not installed or executed in this review"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "browser-resizer-jpeg-content-fit",
"revision": 1,
"required_capabilities": [
"browser",
"sdk_runtime"
],
"preconditions": [
"PROPOSED/not_run; source commit is publisher-provenance-declared, not independently proven equivalent to published package bytes.",
"Use only an already authorized usable integration of the package/dependencies; no install or external code execution was performed.",
"Caller must establish a compatible ImageDecoder or source-declared bitmap fallback, VideoFrame and OffscreenCanvas; per-input feature checks are mandatory.",
"Caller supplies authorized inputBlob/inputMime, finite dimensions and byte/pixel limits; no private file is used by this review.",
"Only use first-frame mode if the task explicitly permits dropping animation; otherwise return unknown.",
"Resolve license, privacy/retention/recipient/cost constraints before execution.",
"Do not treat fit:contain/cover as canonical fixed-canvas padding/cropping. Exact dimensions, white background or no-upscale requirements need a separately verified step."
],
"steps": [
"Check the same input/browser with checkImageDecodeSupport; unsupported or unknown stops the proposed path.",
"PROPOSED ONLY: const result = await resizeAndConvertImage({ input: inputBlob, inputMime, outputMime: \u0027image/jpeg\u0027, width: targetWidth, height: targetHeight, fit: \u0027contain\u0027, animation: \u0027first-frame\u0027, exif: \u0027drop\u0027, colorMetadata: \u0027canvas-sdr\u0027 });",
"Caller explicitly saves/downloads result.blob to its own output artifact. Omit the README upload example; no upload, download or save was performed here.",
"Independently decode actual output; compare geometry, media type, alpha/color/rotation and task constraints, bind actual bytes/SHA."
],
"input_contract": "Authorized Blob/ArrayBuffer/Uint8Array accepted by the declared interface; actual image decoder support and finite byte/pixel limits require checking. Requested width/height are content bounds for contain, not guaranteed output canvas dimensions.",
"output_contract": "Proposed still JPEG bytes/Blob and metadata. The selected source computes content dimensions, may request enlargement and does not itself establish canonical exact canvas, padding or center crop. All actual output and full dependency behavior remain untested. PNG is not a declared output route. JPEG/WebP Canvas does not promise source ICC/HDR preservation.",
"validation": "Independently decode actual Blob bytes, check actual media type/width/height and requested geometry against the input; do not trust returned metadata alone. Record actual output byte count/SHA. Hard private-data, cost, exact canvas, padding, color or no-upscale unknowns prevent task acceptance.",
"failure_fallback": "Return unknown/unmet conditions and use the original same-hard-condition alternatives. Do not install, upload, run another package or silently drop animation."
}
}
],
"evidence": [
{
"evidence_id": "browser-100-package",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/package.json",
"locator": "package.json $.name, $.version, $.type, $.exports; declared build commit",
"excerpt": "Fixed source package manifest declares version1.0.0 and ES module exports. Registry publish/SLSA subject SHA512 agrees with exact npm metadata and SLSA declares this commit. Sigstore signatures, certificate/log verification, package byte/source/build equivalence and usable installation were not independently established.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "fa8621fa866c2e21826b73426c26dedb2abcf7933ed012a3dce8252292e0582b",
"collected_at": "2026-11-02T07:39:24.6709676\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
},
{
"evidence_id": "browser-100-entry",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/index.ts",
"locator": "src/index.ts L52, L145-165, L219-310, L380-438",
"excerpt": "Browser SDK exports inspection/feature checks and resizeAndConvertImage. Declared output union is AVIF/JPEG/WebP. Still conversion obtains source frame dimensions, computes content size, calls an external resize dependency and returns encoded bytes/Blob. JPEG uses Canvas. Animated preservation is a separate WebP path; first-frame must be explicit. No browser task was run.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "df0c856a26363150c518c50827e116e5fdda384dda8453a9fcaf1eca32fd17ca",
"collected_at": "2026-11-02T07:39:24.9100734\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "operation",
"value": "image_delivery"
},
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "execution_location",
"value": "local"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
},
{
"evidence_id": "browser-100-frame",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/frame-utils.ts",
"locator": "src/frame-utils.ts L121-168, L197-208",
"excerpt": "resolveTargetSize uses min ratio for contain, max for cover, exact width/height only for fill. Content dimensions are forwarded to a dependency. The Canvas uses actual frame dimensions and draws at0,0, then checks returned MIME/magic. This is not canonical exact-canvas contain/cover padding/cropping or no-upscale. No actual output was produced.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "62986cbda2bc2776515adfb25f79ed04ad13030a46589b7ef6682c8c987730a0",
"collected_at": "2026-11-02T07:39:25.111694\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "operation",
"value": "image_delivery"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
}
]
},
"recipe_contracts": {
"schema_version": "navonavo.recipe-contracts.v1",
"card_version": 2,
"recipes": [
{
"anchor": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"steps": [
{
"step_id": "browser-content-fit-jpeg",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"invocation": {
"mode": "sdk",
"entry": "resizeAndConvertImage",
"method": null,
"caller_tools": [
"browser",
"sdk_runtime"
],
"installation_required": null,
"authentication": null,
"regions": null,
"execution_location": "local",
"recipient": null,
"upload_required": null,
"retains_data": null,
"accepts_private_data": null,
"cost": {
"maximum_minor": null,
"currency": null,
"basis": null
}
},
"input": {
"format": null,
"schema_id": null,
"semantics": "authorized image Blob/buffer, actual decoder and byte/pixel limits unknown",
"version": null,
"encoding": "binary",
"maximum_bytes": null,
"fields_complete": false,
"allow_additional_fields": null,
"fields": []
},
"output": {
"format": "jpeg",
"schema_id": null,
"semantics": "proposed JPEG content-resize result; source fit names do not establish canonical fixed-canvas geometry",
"version": null,
"encoding": "binary",
"maximum_bytes": null,
"fields_complete": false,
"allow_additional_fields": null,
"fields": [],
"image": {
"width": null,
"height": null,
"fit": null,
"crop_anchor": null,
"padding_color": null,
"allow_upscale": null,
"transparency": null,
"color_space": null,
"orientation": null
}
},
"retrieval": {
"mode": "file",
"locator": "client_owned_output"
},
"success_checks": [
{
"kind": "output_schema",
"expected": "Independently decode actual JPEG Blob bytes; check real media type, width/height and geometry against authorized input and task."
},
{
"kind": "output_contains",
"expected": "Bind actual output bytes/SHA to task. Check color/alpha/rotation and requested padding/crop/no-upscale; source parameter names and returned metadata are insufficient."
},
{
"kind": "human_confirmation",
"expected": "Confirm existing authorized compatible integration, per-input feature checks, license/privacy/cost and explicit permission for first-frame extraction if animated. No source or image processing was executed by this review."
}
],
"alternatives": [
{
"mode": "return_unknown",
"reason_code": "canonical_geometry_or_runtime_unverified",
"reference": null
}
],
"evidence_refs": [
"browser-100-package",
"browser-100-entry",
"browser-100-frame"
]
}
],
"links": [],
"policy": {
"data_class": "public",
"local_only": true,
"allow_upload": false,
"allow_retention": false,
"allowed_recipients": [
"self"
],
"region": null,
"available_tools": [
"browser",
"sdk_runtime"
],
"authorization_kinds": [],
"allow_installation": false,
"maximum_cost_minor": null,
"currency": null
}
}
]
},
"version_read_basis": "archived_revision",
"deep_read": {
"schema_version": "navonavo.capability-read.v1",
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"selected_profile_id": null,
"state": "documented",
"review_state": "current",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-d9679964fdc1fea1f8c14b55?version=2",
"page_url": "https://navonavo.com/capabilities/cap-d9679964fdc1fea1f8c14b55?version=2",
"profiles": [
{
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"summary": "Browser SDK fixed-source declaration with a JPEG path. Library contain/cover names compute content dimensions, not canonical fixed-canvas geometry. PNG, exact canvas and no-upscale remain unmet/unknown; never executed.",
"conditions": [
{
"key": "operation",
"value": "image_delivery",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"browser-100-entry",
"browser-100-frame"
]
},
{
"key": "invocation_mode",
"value": "sdk",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"browser-100-package",
"browser-100-entry"
]
},
{
"key": "execution_location",
"value": "local",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"browser-100-entry"
]
},
{
"key": "runtime_os",
"value": "browser",
"state": "U",
"reason": "Source-declared browser APIs require a compatible implementation. Current browser version/codec/feature support was not tested; browser context alone is insufficient.",
"evidence_refs": []
},
{
"key": "output_format",
"value": "jpeg",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"browser-100-entry",
"browser-100-frame"
]
},
{
"key": "input_format",
"value": "image",
"state": "U",
"reason": "Per-input decoder checks and the actual target browser/codec remain untested.",
"evidence_refs": []
},
{
"key": "input_format",
"value": "png",
"state": "U",
"reason": "The selected review did not validate PNG input decoding in a real environment.",
"evidence_refs": []
},
{
"key": "input_format",
"value": "jpeg",
"state": "U",
"reason": "No actual input was decoded.",
"evidence_refs": []
},
{
"key": "output_format",
"value": "png",
"state": "U",
"reason": "Official typed output union lists AVIF/JPEG/WebP; no supported PNG route is established. Invalid JavaScript casts do not expand the public contract.",
"evidence_refs": []
},
{
"key": "runtime_os",
"value": "windows",
"state": "U",
"reason": "Browser API source is not a Windows runtime test.",
"evidence_refs": []
},
{
"key": "runtime_os",
"value": "linux",
"state": "U",
"reason": "No target browser/OS combination was run.",
"evidence_refs": []
},
{
"key": "runtime_os",
"value": "macos",
"state": "U",
"reason": "No target browser/OS combination was run.",
"evidence_refs": []
},
{
"key": "cpu_only",
"value": "true",
"state": "U",
"reason": "Resize descriptions do not establish full encoder/hardware dependency requirements.",
"evidence_refs": []
},
{
"key": "gpu_required",
"value": "false",
"state": "U",
"reason": "Full dependency and codec/hardware requirements were not audited.",
"evidence_refs": []
},
{
"key": "runtime_network_required",
"value": "false",
"state": "U",
"reason": "Local SDK interface and no direct upload step are not a whole dependency/network audit.",
"evidence_refs": []
},
{
"key": "setup_network_required",
"value": "false",
"state": "U",
"reason": "Dependency acquisition/setup were not tested.",
"evidence_refs": []
},
{
"key": "setup_required",
"value": "false",
"state": "U",
"reason": "Existing authorized integration/usable browser APIs must be established by caller.",
"evidence_refs": []
},
{
"key": "auth_required",
"value": "false",
"state": "U",
"reason": "No complete application/account audit.",
"evidence_refs": []
},
{
"key": "account_required",
"value": "false",
"state": "U",
"reason": "No complete application/account audit.",
"evidence_refs": []
}
],
"connection": {
"entry": "resizeAndConvertImage",
"protocol": "browser ES-module SDK",
"authentication": "unknown; existing caller-authorized integration only",
"environment": [
"Source-declared browser WebCodecs/bitmap fallback, VideoFrame and OffscreenCanvas; per-input checks required",
"Package/dependencies and target browser version not installed or executed in this review"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "browser-resizer-jpeg-content-fit",
"revision": 1,
"required_capabilities": [
"browser",
"sdk_runtime"
],
"preconditions": [
"PROPOSED/not_run; source commit is publisher-provenance-declared, not independently proven equivalent to published package bytes.",
"Use only an already authorized usable integration of the package/dependencies; no install or external code execution was performed.",
"Caller must establish a compatible ImageDecoder or source-declared bitmap fallback, VideoFrame and OffscreenCanvas; per-input feature checks are mandatory.",
"Caller supplies authorized inputBlob/inputMime, finite dimensions and byte/pixel limits; no private file is used by this review.",
"Only use first-frame mode if the task explicitly permits dropping animation; otherwise return unknown.",
"Resolve license, privacy/retention/recipient/cost constraints before execution.",
"Do not treat fit:contain/cover as canonical fixed-canvas padding/cropping. Exact dimensions, white background or no-upscale requirements need a separately verified step."
],
"steps": [
"Check the same input/browser with checkImageDecodeSupport; unsupported or unknown stops the proposed path.",
"PROPOSED ONLY: const result = await resizeAndConvertImage({ input: inputBlob, inputMime, outputMime: \u0027image/jpeg\u0027, width: targetWidth, height: targetHeight, fit: \u0027contain\u0027, animation: \u0027first-frame\u0027, exif: \u0027drop\u0027, colorMetadata: \u0027canvas-sdr\u0027 });",
"Caller explicitly saves/downloads result.blob to its own output artifact. Omit the README upload example; no upload, download or save was performed here.",
"Independently decode actual output; compare geometry, media type, alpha/color/rotation and task constraints, bind actual bytes/SHA."
],
"input_contract": "Authorized Blob/ArrayBuffer/Uint8Array accepted by the declared interface; actual image decoder support and finite byte/pixel limits require checking. Requested width/height are content bounds for contain, not guaranteed output canvas dimensions.",
"output_contract": "Proposed still JPEG bytes/Blob and metadata. The selected source computes content dimensions, may request enlargement and does not itself establish canonical exact canvas, padding or center crop. All actual output and full dependency behavior remain untested. PNG is not a declared output route. JPEG/WebP Canvas does not promise source ICC/HDR preservation.",
"validation": "Independently decode actual Blob bytes, check actual media type/width/height and requested geometry against the input; do not trust returned metadata alone. Record actual output byte count/SHA. Hard private-data, cost, exact canvas, padding, color or no-upscale unknowns prevent task acceptance.",
"failure_fallback": "Return unknown/unmet conditions and use the original same-hard-condition alternatives. Do not install, upload, run another package or silently drop animation."
},
"evidence": [
{
"evidence_id": "browser-100-package",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/package.json",
"locator": "package.json $.name, $.version, $.type, $.exports; declared build commit",
"excerpt": "Fixed source package manifest declares version1.0.0 and ES module exports. Registry publish/SLSA subject SHA512 agrees with exact npm metadata and SLSA declares this commit. Sigstore signatures, certificate/log verification, package byte/source/build equivalence and usable installation were not independently established.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "fa8621fa866c2e21826b73426c26dedb2abcf7933ed012a3dce8252292e0582b",
"collected_at": "2026-11-02T07:39:24.6709676\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
},
{
"evidence_id": "browser-100-entry",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/index.ts",
"locator": "src/index.ts L52, L145-165, L219-310, L380-438",
"excerpt": "Browser SDK exports inspection/feature checks and resizeAndConvertImage. Declared output union is AVIF/JPEG/WebP. Still conversion obtains source frame dimensions, computes content size, calls an external resize dependency and returns encoded bytes/Blob. JPEG uses Canvas. Animated preservation is a separate WebP path; first-frame must be explicit. No browser task was run.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "df0c856a26363150c518c50827e116e5fdda384dda8453a9fcaf1eca32fd17ca",
"collected_at": "2026-11-02T07:39:24.9100734\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "operation",
"value": "image_delivery"
},
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "execution_location",
"value": "local"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
},
{
"evidence_id": "browser-100-frame",
"evidence_type": "static_code",
"source_url": "https://raw.githubusercontent.com/tamaina/browser-media-converter/82480db8659b45bedece10a299510458caab0bc6/packages/browser-image-resizer-ex/src/frame-utils.ts",
"locator": "src/frame-utils.ts L121-168, L197-208",
"excerpt": "resolveTargetSize uses min ratio for contain, max for cover, exact width/height only for fill. Content dimensions are forwarded to a dependency. The Canvas uses actual frame dimensions and draws at0,0, then checks returned MIME/magic. This is not canonical exact-canvas contain/cover padding/cropping or no-upscale. No actual output was produced.",
"source_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"content_sha256": "62986cbda2bc2776515adfb25f79ed04ad13030a46589b7ef6682c8c987730a0",
"collected_at": "2026-11-02T07:39:25.111694\u002B00:00",
"profile_ids": [
"browser-resizer-source-82480db8"
],
"covers": [
{
"key": "operation",
"value": "image_delivery"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
}
],
"structured_recipe": {
"contract": {
"anchor": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"steps": [
{
"step_id": "browser-content-fit-jpeg",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"invocation": {
"mode": "sdk",
"entry": "resizeAndConvertImage",
"method": null,
"caller_tools": [
"browser",
"sdk_runtime"
],
"installation_required": null,
"authentication": null,
"regions": null,
"execution_location": "local",
"recipient": null,
"upload_required": null,
"retains_data": null,
"accepts_private_data": null,
"cost": {
"maximum_minor": null,
"currency": null,
"basis": null
}
},
"input": {
"format": null,
"schema_id": null,
"semantics": "authorized image Blob/buffer, actual decoder and byte/pixel limits unknown",
"version": null,
"encoding": "binary",
"maximum_bytes": null,
"fields_complete": false,
"allow_additional_fields": null,
"fields": []
},
"output": {
"format": "jpeg",
"schema_id": null,
"semantics": "proposed JPEG content-resize result; source fit names do not establish canonical fixed-canvas geometry",
"version": null,
"encoding": "binary",
"maximum_bytes": null,
"fields_complete": false,
"allow_additional_fields": null,
"fields": [],
"image": {
"width": null,
"height": null,
"fit": null,
"crop_anchor": null,
"padding_color": null,
"allow_upscale": null,
"transparency": null,
"color_space": null,
"orientation": null
}
},
"retrieval": {
"mode": "file",
"locator": "client_owned_output"
},
"success_checks": [
{
"kind": "output_schema",
"expected": "Independently decode actual JPEG Blob bytes; check real media type, width/height and geometry against authorized input and task."
},
{
"kind": "output_contains",
"expected": "Bind actual output bytes/SHA to task. Check color/alpha/rotation and requested padding/crop/no-upscale; source parameter names and returned metadata are insufficient."
},
{
"kind": "human_confirmation",
"expected": "Confirm existing authorized compatible integration, per-input feature checks, license/privacy/cost and explicit permission for first-frame extraction if animated. No source or image processing was executed by this review."
}
],
"alternatives": [
{
"mode": "return_unknown",
"reason_code": "canonical_geometry_or_runtime_unverified",
"reference": null
}
],
"evidence_refs": [
"browser-100-package",
"browser-100-entry",
"browser-100-frame"
]
}
],
"links": [],
"policy": {
"data_class": "public",
"local_only": true,
"allow_upload": false,
"allow_retention": false,
"allowed_recipients": [
"self"
],
"region": null,
"available_tools": [
"browser",
"sdk_runtime"
],
"authorization_kinds": [],
"allow_installation": false,
"maximum_cost_minor": null,
"currency": null
}
},
"assessment": {
"state": "unknown",
"execution_state": "not_executed_by_validator",
"declared_maximum_cost_minor": null,
"currency": null,
"links": [],
"gaps": [
{
"gap_id": "recipe-gap-5289d20033540dd2a1cca0a9",
"code": "installation_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.installation"
},
{
"gap_id": "recipe-gap-5655dd265635b509283cd344",
"code": "io_contract_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.input"
},
{
"gap_id": "recipe-gap-14a51bf2fa4bd087bcaf2d0b",
"code": "io_contract_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.output"
},
{
"gap_id": "recipe-gap-569d5d1bc2548bdba2207f48",
"code": "authorization_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.authentication"
},
{
"gap_id": "recipe-gap-3ecdbc3ca8a2609e699523e6",
"code": "region_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.regions"
},
{
"gap_id": "recipe-gap-7a2a71c713e2e8d0ae20db58",
"code": "recipient_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.recipient"
},
{
"gap_id": "recipe-gap-e0ac0c5d71a3d0331b87e696",
"code": "upload_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.upload_required"
},
{
"gap_id": "recipe-gap-46fbc2b304fa14d8b0fa20e0",
"code": "retention_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.retains_data"
},
{
"gap_id": "recipe-gap-53e05ed94b170b8dba060e75",
"code": "cost_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.invocation.cost"
},
{
"gap_id": "recipe-gap-1d8e256069b36de54104abc5",
"code": "cost_limit_unknown",
"state": "unknown",
"reference": {
"card_id": "cap-d9679964fdc1fea1f8c14b55",
"card_version": 2,
"profile_id": "browser-resizer-source-82480db8",
"component_version": "source:82480db8659b45bedece10a299510458caab0bc6;npm1.0.0-provenance-declared",
"recipe_id": "browser-resizer-jpeg-content-fit",
"recipe_revision": 1
},
"path": "steps.browser-content-fit-jpeg.policy.maximum_cost_minor"
}
]
}
}
}
],
"warnings": [
"\u8D44\u6599\u4E0E\u6765\u6E90\u58F0\u660E\u4E0D\u7B49\u4E8E\u672C\u7AD9\u5B9E\u6D4B\uFF1B\u672A\u5217\u51FA\u7684\u6761\u4EF6\u4ECD\u672A\u77E5\u3002",
"\u7ED3\u6784\u5316\u914D\u65B9\u53EA\u6309\u516C\u5F00\u58F0\u660E\u68C0\u67E5\u7EA6\u675F\u4E0E\u63A5\u53E3\uFF0C\u4E0D\u6267\u884C\u4EFB\u52A1\u6216\u6388\u4E88\u6743\u9650\uFF1B\u7F3A\u5931\u8BB0\u5F55\u4FDD\u6301\u672A\u77E5\uFF0C\u63A5\u53E3\u517C\u5BB9\u4E0D\u8BC1\u660E\u5B9E\u9645\u6210\u529F\u3002"
]
}
}