@chatpanel/pii 0.2.6 → 0.2.8

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/pipeline.js +5 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chatpanel/pii",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "The canonical ChatPanel privacy engine — reversible PII redaction + pseudonymization with local entity detection. Pure, dependency-free ESM shared by the ChatPanel extension, gateway, and bridge.",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/pipeline.js CHANGED
@@ -22,10 +22,11 @@ export function effectiveTier(cfg, isPro) {
22
22
  return t === 'full' && !isPro ? 'basic' : t;
23
23
  }
24
24
 
25
- // Free ceiling: deterministic SECRET redaction on CHAT only, with a small
26
- // dictionary. Names/orgs (full tier), wider scope, an unlimited dictionary, and
27
- // the model layer are Pro. Enforced here as defense-in-depth.
28
- export const FREE_DICT_LIMIT = 3;
25
+ // Free ceiling: a small taste of the custom dictionary. The first FREE_DICT_LIMIT
26
+ // entries apply; an unlimited dictionary (plus wider scope and the model layer) is
27
+ // Pro. Enforced here as defense-in-depth — the UI also surfaces the cap, but never
28
+ // trust the UI alone.
29
+ export const FREE_DICT_LIMIT = 5;
29
30
 
30
31
  export function gatedDictionary(cfg, isPro) {
31
32
  const d = Array.isArray(cfg?.dictionary) ? cfg.dictionary : [];