Janitor v0.2.0 — Behavior, account linking, and browser benchmarks
Janitor v0.2.0 adds optional behavior summaries, verified account labels across devices, and a reproducible real-browser benchmark.
- Opt into mouse travel, active movement time, direction changes, pauses, wheel summaries, and aggregate interaction timing with
behavior: "extended". Counts remain the default. No absolute coordinates, raw event trails, actual keys or form contents are collected. - Configure
subjectLinking: { secret, namespace }and pass a server-verifiedauthenticatedSubjecttohandle(). Requests authenticated to the same account receive the same opaque HMACsubjectIdacross devices, while retaining separate browser IDs. Anonymous requests do not receive a subject. No account graph or extra tables are stored. pnpm benchmark:browsercollects 30 observations using real Chromium, Firefox and WebKit and runs 78 deterministic identity trials. The report includes 24/24 isolated restorations and 6/6 false matches for unseen profiles identical to the only enrolled profile. This is a controlled single-host experiment, not population accuracy or a human/bot benchmark.- 79 unit/integration tests and six browser integration/UI tests pass locally, alongside strict type checks, lint and example production builds.
Documentation: https://janitor.holycoders.io/docs/extensions/
Benchmark methodology and results: https://janitor.holycoders.io/docs/benchmarks/
Download janitor-0.2.0.tar.gz, extract into an empty folder and run pnpm install. It contains seven compiled packages and a consumer manifest with local pnpm overrides. Packages remain unpublished on npm. Deploy updated server adapters before enabling extended behavior in the browser; v0.1 adapters reject the new fields.
Browser signals cannot prove person identity or malicious intent. Deliberately hidden values remain missing. AI inference was not used in the controlled benchmark; risk calibration remains unverified. No database migration is needed for this release.