CoolFace
Apppublic

nisten/journal-shield

sourceHugging Faceotherupdated 3mo agoView on Hugging Face
0likes
App README

๐Ÿ›ก๏ธ Journal Shield

A wellness journaling companion that spots and redacts personal details (names, contacts, addresses, account numbers, โ€ฆ) in your entries โ€” fully client-side. The model runs in your browser on WebGPU via transformers.js; your text never leaves this device.

The model

`nisten/privacy-filter-nemotron-v2-ONNX` โ€” our ONNX quantizations of `OpenMed/privacy-filter-nemotron-v2`, a 1.4B-parameter MoE token classifier (128 experts, top-4 routing, ~50M active params per token) covering 55 PII categories with BIOES labels.

The Space loads the 4-bit variant (0.92 GB) by default โ€” the smallest download with the broadest device support. The model picker + a GPU/CPU toggle switch between all four builds, each of which now runs in the browser:

  • โ€”4-bit (0.92 GB) โ€” recommended default; WebGPU only.
  • โ€”8-bit (1.98 GB) โ€” most accurate; WebGPU (via the JSPI ort bundle, Chrome/Edge โ‰ฅ 137) or CPU.
  • โ€”mixed 8/4-bit (1.66 GB) โ€” same WebGPU-JSPI / CPU story as 8-bit.
  • โ€”float16 (2.82 GB) โ€” near-lossless; needs a WebGPU GPU with the shader-f16 feature (RTX 20xx+/Apple Silicon).

The first load downloads the chosen variant from the Hub; after that it's served from your browser's cache.

Quality: on our fixture + adversarial benchmarks every build catches exactly what the PyTorch fp32 source model catches (details in the model repo's PARITY.md).

Requirements

A browser with WebGPU (Chrome/Edge 113+, recent Firefox/Safari previews) and ~1 GB of GPU memory for 4-bit. The 8-bit/mixed builds on WebGPU need JavaScript Promise Integration (Chrome/Edge โ‰ฅ 137); float16 needs a shader-f16 GPU. The CPU (wasm) option works everywhere but is slower and does not cover 4-bit.

App source: built with Bun + vanilla TS, served as a static Space. Wellness tooling, not a medical device or compliance product โ€” the source model is experimental; validate before relying on it.