Only the current 1.x line of webgpu-search is supported with security
fixes. Scoring, storage, ordering, or echo changes require a major per
docs/public-api.md §7; security or correctness hazards may shorten the
normal deprecation window with a documented migration.
| Version | Supported |
|---|---|
1.x |
Yes |
< 1.0 |
No (upgrade to 1.x) |
Do not open a public GitHub issue for a suspected vulnerability. Use GitHub's Private vulnerability reporting (Security tab → Report a vulnerability) on codewarnab/webgpu-search, or contact the maintainers through a private channel.
Include, where possible:
- Package version + entry (
webgpu-search/webgpu-search/worker) - Browser/Node/Bun version, OS, GPU path if relevant
- Repro steps and full error
name/message/details - Snapshot header /
getStats()/ timings metadata (seedocs/diagnostics.md§5) — never paste PII record text
We will acknowledge receipt, investigate, and coordinate a fix and disclosure timeline with you.
- The library is offline-capable and zero-network: WGSL compute + CPU
TypeScript, single runtime dependency
@leeoniya/ufuzzy. No WASM, noeval, no remote fetch, no telemetry exfiltration. - Snapshots and IndexedDB persist raw record bytes unencrypted,
origin-scoped. Treat persisted corpora (logs, docs, messages) as sensitive
as the source records. Prefer
serialize({ decoupled: true })when the host already guards docs elsewhere. - CRC32 is corruption detection, not authenticity. Treat snapshots from
untrusted origins as untrusted input and restore only through the
fail-closed path (
IncompatibleIndexError/IncompatibleHookError/ProfileMismatchError; taxonomy indocs/snapshot-format.md§3). - Render
highlightedTextonly through an escaping sanitizer that preserves<mark>; passescapeHtml: truefor untrusted corpora. - Browser/WebGPU numbers from software adapters (SwiftShader/LLVMpipe) are
labeled
pending-hardwareand are never hardware claims.
Full boundaries: docs/security-privacy.md.