dbsc-toolkit 2.9.5 → 2.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -103,11 +103,11 @@ In your HTML, load the polyfill once so Firefox / Safari / older Chromium reach
103
103
  </script>
104
104
  ```
105
105
 
106
- Without the script tag those browsers stay on `tier: "none"`. Native Chromium 145+ does not need the script — it negotiates the protocol on its own from the headers `dbsc()` sets.
106
+ Without the script tag those browsers stay on `tier: "none"`. Native Chromium 146+ does not need the script — it negotiates the protocol on its own from the headers `dbsc()` sets.
107
107
 
108
108
  ### Common failure modes
109
109
 
110
- - **`tier` always reads `"none"` on Chromium 145+?** Running on plain HTTP (DBSC needs HTTPS), or `dbsc.install(app)` was never called. `install()` already sets `trust proxy` and parses cookies, so the old "middleware order" class of bug is gone.
110
+ - **`tier` always reads `"none"` on Chromium 146+?** Running on plain HTTP (DBSC needs HTTPS), or `dbsc.install(app)` was never called. `install()` already sets `trust proxy` and parses cookies, so the old "middleware order" class of bug is gone.
111
111
  - **Chrome loops registration?** Storage was wiped — switch off `MemoryStorage` to Redis or Postgres before deploying anywhere that ever restarts.
112
112
  - **Tier flips back to `"none"` right after login?** The race between `/login` returning and the browser running `POST /dbsc/registration`. Poll `/me` for ~1 s after login or await the bound-SDK outcome promise. The demo wires both — see [examples/express/src/server.js](./examples/express/src/server.js).
113
113
  - **Firefox / Safari still on `"none"`?** Forgot the `<script type="module">` tag above. `install()` serves the SDK at `/dbsc-client` for you; you still load it on the page.
@@ -301,7 +301,7 @@ Neither tier is a substitute for HTTPS, input validation, strong passwords, or M
301
301
 
302
302
  ## Status
303
303
 
304
- Verified end-to-end on Chrome 147 / Windows / TPM 2.0. Native DBSC requires Chromium 145+ on Windows or macOS Apple Silicon. The bound polyfill works on every browser with Web Crypto + IndexedDB (Firefox, Safari, mobile browsers, older Chromium). No third-party security audit yet. Production-readiness table and adoption guidance: [HOW-IT-WORKS.md#production-readiness](./HOW-IT-WORKS.md#production-readiness).
304
+ Verified end-to-end on Chrome 147 / Windows / TPM 2.0. Native DBSC requires Chromium 146+ on Windows or macOS Apple Silicon. The bound polyfill works on every browser with Web Crypto + IndexedDB (Firefox, Safari, mobile browsers, older Chromium). No third-party security audit yet. Production-readiness table and adoption guidance: [HOW-IT-WORKS.md#production-readiness](./HOW-IT-WORKS.md#production-readiness).
305
305
 
306
306
  ## License
307
307
 
@@ -27,7 +27,7 @@ export interface InitBoundDbscOptions {
27
27
  * Structured outcome of an `initBoundDbsc()` call. Every exit path resolves to
28
28
  * one of these so consumers can render a deterministic status without polling.
29
29
  *
30
- * - `native-dbsc`: Chromium 145+ registered natively. TPM-backed. v2.7+ also
30
+ * - `native-dbsc`: Chromium 146+ registered natively. TPM-backed. v2.7+ also
31
31
  * ensures a polyfill key exists so `requireProof()` works per-request; if
32
32
  * that co-registration fails the outcome still resolves as `native-dbsc`
33
33
  * but carries `skipReason: "polyfill-co-registration-failed"` — the session
@@ -190,7 +190,7 @@ export interface DbscOptions {
190
190
  * Optional callback for transparent migration. On every request that does not
191
191
  * carry the bound cookie yet, the middleware calls this with the
192
192
  * framework-native request. If it returns a userId string, the response gets
193
- * the registration header + the two short-lived cookies, so Chromium 145+
193
+ * the registration header + the two short-lived cookies, so Chromium 146+
194
194
  * triggers /dbsc/registration on its own. Return null to skip.
195
195
  * The sessionId used is whatever your existing auth says — supply both via
196
196
  * the result type below.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dbsc-toolkit",
3
- "version": "2.9.5",
3
+ "version": "2.9.6",
4
4
  "description": "Server-side Device Bound Session Credentials (DBSC) for Node.js plus a Web Crypto polyfill for Firefox, Safari, and older Chromium. Cookie-theft protection on every modern browser.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",