secure-ui-components 0.3.1 → 0.3.2

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
@@ -9,16 +9,17 @@ Security-first Web Component library with built-in behavioral telemetry. Zero de
9
9
  - **11 Secure Components** — Input, Textarea, Select, Form, File Upload, DateTime, Table, Submit Button, Card, Password Confirm, Telemetry Provider
10
10
  - **4-Tier Security System** — `public`, `authenticated`, `sensitive`, `critical`
11
11
  - **Behavioral Telemetry** — Every field collects typing patterns, paste detection, dwell time, and correction signals automatically
12
- - **Risk Scoring** — `<secure-form>` aggregates field signals into a session-level risk score at submission
13
- - **Injection Detection** — All input fields scan for XSS, script injection, and template injection patterns in real time; fires `secure-threat-detected` with the matched pattern ID
12
+ - **Risk Scoring** — `<secure-form>` aggregates field signals into a session-level risk score at submission; per-field warnings surface directly on the offending inputs
13
+ - **Injection Detection** — All input fields scan for XSS, script injection, and template injection patterns in real time; fires `secure-threat-detected` with the matched pattern ID; injection attempts **block form submission** with an immediate red-border UI state
14
14
  - **CSRF Threat Detection** — `<secure-form>` fires `secure-threat-detected` at submission when a CSRF token is absent on `sensitive` or `critical` tier forms
15
+ - **Form UI Feedback** — `<secure-form>` sets `data-state` on itself at key moments: `blocked` (injection detected), `success` (server 2xx, auto-clears after 3 s), `error` (server/network failure); individual fields receive inline error or warning messages
15
16
  - **Signed Envelopes** — `<secure-telemetry-provider>` detects automation/headless browsers, accumulates threat signals, and signs every submission with HMAC-SHA-256 (signing key cached per session)
16
17
  - **Zero Dependencies** — Pure TypeScript, no runtime dependencies
17
18
  - **Progressive Enhancement** — All components render meaningful markup and work without JavaScript
18
19
  - **CSP-Safe** — Bundle mode uses `adoptedStyleSheets` (constructable stylesheets, exempt from `unsafe-inline`); ESM/dev mode uses `<link>` from `'self'`; neither requires `unsafe-inline`
19
20
  - **SSR Friendly** — Adopts server-rendered markup on upgrade; no document access in constructors
20
21
  - **Fully Customisable** — CSS Design Tokens + `::part()` API
21
- - **Comprehensive Testing** — 1176 tests, 84%+ branch coverage
22
+ - **Comprehensive Testing** — 1197 tests, 84%+ branch coverage
22
23
 
23
24
  ---
24
25
 
@@ -35,7 +36,7 @@ Field interaction → Behavioral signals → Risk score → Signed envelop
35
36
  Every secure field silently records: dwell time from focus to first keystroke, typing velocity, correction count (backspace/delete), paste detection, autofill detection, focus count, and blur-without-change patterns. On every input event, the raw value is scanned against injection patterns (XSS, script tags, JS protocols, event handlers, template injection, and more) — a `secure-threat-detected` event is dispatched if a match is found, with the matched pattern ID but never the raw value.
36
37
 
37
38
  **Layer 2 — Session aggregation** (`<secure-form>`)
38
- At submission, the form queries `getFieldTelemetry()` from every child field, produces per-field snapshots, and computes a composite risk score from 0–100. For `sensitive` and `critical` tiers, a missing CSRF token at submission time triggers a `secure-threat-detected` event before the request proceeds. The telemetry payload travels alongside form data in a single `fetch` request as `_telemetry`.
39
+ At submission, the form queries `getFieldTelemetry()` from every child field, produces per-field snapshots, and computes a composite risk score from 0–100. If any injection threat was detected during the session, submission is **blocked** — the form sets `data-state="blocked"` and marks the offending field with an inline error; the `secure-form-submit` event never fires. Non-blocking telemetry signals (bot-like velocity, unfocused fill, paste-only entry, etc.) annotate the specific fields with inline warnings without preventing submission. All detected threats are captured in `SessionTelemetry.detectedThreats`. For `sensitive` and `critical` tiers, a missing CSRF token at submission time triggers a `secure-threat-detected` event. The full telemetry payload (including `detectedThreats`) travels alongside form data in a single `fetch` request as `_telemetry`.
39
40
 
40
41
  **Layer 3 — Environmental signals** (`<secure-telemetry-provider>`)
41
42
  An optional overlay that wraps `<secure-form>`. Monitors for WebDriver/headless flags, DOM script injection (via `MutationObserver`), suspicious screen dimensions, and pointer/keyboard activity. Accumulates all `secure-threat-detected` signals from child components during the session into `threatSignals`. Signs the final envelope with HMAC-SHA-256 using a cached `CryptoKey` (imported once per key value, re-imported only on rotation) so the server can detect replay attacks and inspect any injection or CSRF threats that occurred during the session.
@@ -92,16 +93,20 @@ An optional overlay that wraps `<secure-form>`. Monitors for WebDriver/headless
92
93
 
93
94
  **Risk signals**
94
95
 
95
- | Signal | Condition | Score |
96
- |--------|-----------|-------|
97
- | `session_too_fast` | Submitted in under 3 s | +30 |
98
- | `session_fast` | Submitted in under 8 s | +10 |
99
- | `all_fields_pasted` | All fields pasted, no keystrokes | +25 |
100
- | `field_filled_without_focus` | Any field has `focusCount = 0` | +15 |
101
- | `high_velocity_typing` | Any field velocity > 15 ks/s | +15 |
102
- | `form_probing` | Field focused/blurred > with no input | +10 |
103
- | `high_correction_count` | Any field with > 5 corrections | +5 |
104
- | `autofill_detected` | All fields autofilled (trust signal) | −10 |
96
+ Signals marked **blocks** prevent submission entirely. All others are non-blocking — they annotate individual fields with inline warnings and appear in `riskSignals` for the server.
97
+
98
+ | Signal | Condition | Score | Blocking |
99
+ |--------|-----------|-------|----------|
100
+ | `injection_detected` | Any field fired `secure-threat-detected` with `threatType: 'injection'` | +40 | **yes** |
101
+ | `session_too_fast` | Submitted in under 3 s | +30 | no |
102
+ | `all_fields_pasted` | All fields pasted, no keystrokes | +25 | no |
103
+ | `csrf_token_absent` | CSRF token absent at submission on sensitive/critical tier | +20 | no |
104
+ | `field_filled_without_focus` | Any field has `focusCount = 0` | +15 | no |
105
+ | `high_velocity_typing` | Any field velocity > 15 ks/s | +15 | no |
106
+ | `session_fast` | Submitted in under 8 s | +10 | no |
107
+ | `form_probing` | Field focused/blurred > 1× with no input | +10 | no |
108
+ | `high_correction_count` | Any field with > 5 corrections | +5 | no |
109
+ | `autofill_detected` | All fields autofilled (trust signal) | −10 | no |
105
110
 
106
111
  ---
107
112
 
@@ -323,10 +328,24 @@ Light DOM `<option>` children are transferred to the shadow DOM automatically. O
323
328
 
324
329
  ### `<secure-form>`
325
330
 
326
- Form container with CSRF protection, field validation, behavioral telemetry aggregation, and optional fetch-enhanced submission.
331
+ Form container with CSRF protection, field validation, behavioral telemetry aggregation, injection blocking, and optional fetch-enhanced submission.
327
332
 
328
333
  > `<secure-form>` uses **light DOM** (no Shadow DOM) for native form submission compatibility.
329
334
 
335
+ **Injection blocking** — If any child field fires `secure-threat-detected` with `threatType: 'injection'` during the session, `<secure-form>` immediately sets `data-state="blocked"` and marks the offending field with an inline error. Submission is prevented until the form is reset.
336
+
337
+ **Form state feedback** — `<secure-form>` sets a `data-state` attribute on itself that you can target with CSS:
338
+
339
+ | `data-state` | When set | Clears |
340
+ |---|---|---|
341
+ | `blocked` | Injection threat detected | On `reset()` |
342
+ | `success` | Server returns 2xx | Automatically after 3 s |
343
+ | `error` | Server/network error | On next submission |
344
+
345
+ The built-in stylesheet applies a coloured `outline` to the inner `<form>` for each state. Override via `secure-form[data-state="success"] .secure-form { outline-color: … }`.
346
+
347
+ **Risk warnings** — Non-blocking telemetry signals (high velocity, unfocused fill, paste-only, etc.) are surfaced as inline `warning` messages on the specific fields at submission time. Submission still proceeds.
348
+
330
349
  **Attributes**
331
350
 
332
351
  | Attribute | Description |
@@ -363,12 +382,13 @@ el.submit() // programmatic submit (triggers validation + telemetry)
363
382
 
364
383
  ```ts
365
384
  {
366
- sessionDuration: number; // ms from form mount to submission
385
+ sessionDuration: number; // ms from form mount to submission
367
386
  fieldCount: number;
368
387
  fields: FieldTelemetrySnapshot[];
369
- riskScore: number; // 0–100
370
- riskSignals: string[]; // e.g. ['session_too_fast', 'all_fields_pasted']
371
- submittedAt: string; // ISO 8601
388
+ riskScore: number; // 0–100
389
+ riskSignals: string[]; // e.g. ['injection_detected', 'session_too_fast']
390
+ submittedAt: string; // ISO 8601
391
+ detectedThreats?: ThreatDetectedDetail[]; // injection/csrf threats seen this session; omitted when none
372
392
  }
373
393
  ```
374
394
 
@@ -391,14 +411,14 @@ el.submit() // programmatic submit (triggers validation + telemetry)
391
411
  form.addEventListener('secure-form-submit', (e) => {
392
412
  const { formData, telemetry } = e.detail;
393
413
 
394
- // Block high-risk submissions before they reach your server
395
- if (telemetry.riskScore >= 50) {
396
- e.detail.cancelSubmission(); // aborts fetch, re-enables form
397
- showChallenge();
398
- return;
414
+ // Injection attempts are already blocked before this event fires.
415
+ // detectedThreats contains any csrf-token-absent signals that slipped through.
416
+ if (telemetry.detectedThreats?.length) {
417
+ console.warn('Threats recorded this session:', telemetry.detectedThreats);
399
418
  }
400
419
 
401
- // Log signals for your fraud pipeline
420
+ // Non-blocking risk warnings fields are already annotated by the form;
421
+ // you can additionally gate on score server-side.
402
422
  analytics.track('form_submit', {
403
423
  risk: telemetry.riskScore,
404
424
  signals: telemetry.riskSignals,
@@ -861,6 +881,8 @@ Every `<secure-input>`, `<secure-textarea>`, and `<secure-password-confirm>` sca
861
881
 
862
882
  Only the **first** matching pattern fires an event per input event to avoid flooding. The raw value is **never** included in the event detail.
863
883
 
884
+ When `<secure-form>` receives a `secure-threat-detected` event with `threatType: 'injection'`, it immediately sets `data-state="blocked"` on itself, displays an inline error on the offending field, and **blocks all future submission attempts** until `form.reset()` is called.
885
+
864
886
  ```js
865
887
  document.addEventListener('secure-threat-detected', (e) => {
866
888
  const { fieldName, threatType, patternId, tier, timestamp } = e.detail;
@@ -916,13 +938,14 @@ All field components support:
916
938
  All field components expose these in addition to component-specific methods:
917
939
 
918
940
  ```js
919
- el.value // get/set current value
920
- el.valid // boolean — passes all validation rules
921
- el.name // field name string
922
- el.securityTier // current security tier
923
- el.getAuditLog() // AuditLogEntry[]
924
- el.clearAuditLog()
941
+ el.value // get/set current value
942
+ el.valid // boolean — passes all validation rules
943
+ el.name // field name string
944
+ el.securityTier // current security tier
945
+ el.getAuditLog() // AuditLogEntry[]
925
946
  el.getFieldTelemetry() // FieldTelemetry — behavioral signals (no raw values)
947
+ el.reportError(message, variant?) // show a form-level error ('error') or warning ('warning') on this field
948
+ el.clearExternalError() // clear a message set by reportError()
926
949
  el.focus()
927
950
  el.blur()
928
951
  ```
@@ -946,17 +969,17 @@ el.blur()
946
969
 
947
970
  | Event | Fired by | Detail |
948
971
  |-------|----------|--------|
949
- | `secure-input` | `<secure-input>` | `{ name, value, masked, tier }` |
950
- | `secure-textarea` | `<secure-textarea>` | `{ name, value, tier }` |
951
- | `secure-select` | `<secure-select>` | `{ name, value, tier }` |
952
- | `secure-datetime` | `<secure-datetime>` | `{ name, value, type, tier }` |
953
- | `secure-file-upload` | `<secure-file-upload>` | `{ name, files, tier }` |
954
- | `secure-form-submit` | `<secure-form>` | `{ formData, formElement, telemetry, preventDefault() }` |
972
+ | `secure-input-change` | `<secure-input>` | `{ name, value, masked, tier }` |
973
+ | `secure-textarea-change` | `<secure-textarea>` | `{ name, value, tier }` |
974
+ | `secure-select-change` | `<secure-select>` | `{ name, value: string \| string[], tier }` |
975
+ | `secure-datetime-change` | `<secure-datetime>` | `{ name, value, type, tier }` |
976
+ | `secure-file-change` | `<secure-file-upload>` | `{ name, files, tier }` |
977
+ | `secure-card-change` | `<secure-card>` | `{ name, cardType, last4, expiryMonth, expiryYear, cardholderName, valid, tier }` |
978
+ | `secure-form-submit` | `<secure-form>` | `{ formData, telemetry, cancelSubmission() }` — call `cancelSubmission()` to abort the fetch and re-enable the form |
955
979
  | `secure-form-success` | `<secure-form>` | `{ formData, response, telemetry }` |
956
- | `secure-card` | `<secure-card>` | `{ name, cardType, last4, expiryMonth, expiryYear, cardholderName, valid, tier }` |
957
- | `secure-audit` | all components | `{ event, tier, timestamp, }` |
958
- | `secure-threat-detected` | `<secure-input>`, `<secure-textarea>`, `<secure-password-confirm>`, `<secure-form>` | `{ fieldName, threatType, patternId, tier, timestamp }` — injection or CSRF threat detected |
959
- | `table-action` | `<secure-table>` | `{ action, row }` |
980
+ | `secure-table-action` | `<secure-table>` | `{ action, …data-attributes }` |
981
+ | `secure-audit` | all components | `{ event, tier, timestamp, data? }` |
982
+ | `secure-threat-detected` | `<secure-input>`, `<secure-textarea>`, `<secure-password-confirm>`, `<secure-form>` | `{ fieldName, threatType, patternId, tier, timestamp }` |
960
983
 
961
984
  ---
962
985
 
@@ -60,3 +60,26 @@ secure-form .form-status-error {
60
60
  color: #D32F2F;
61
61
  border: 1px solid #D32F2F;
62
62
  }
63
+
64
+ /* --- Form-level state feedback (outline avoids layout shift) --- */
65
+
66
+ secure-form .secure-form {
67
+ transition: outline-color 200ms ease, outline-offset 200ms ease;
68
+ outline: 3px solid transparent;
69
+ outline-offset: 2px;
70
+ }
71
+
72
+ secure-form[data-state="success"] .secure-form {
73
+ outline-color: var(--secure-ui-color-success, #10b981);
74
+ }
75
+
76
+ secure-form[data-state="blocked"] .secure-form,
77
+ secure-form[data-state="error"] .secure-form {
78
+ outline-color: var(--secure-ui-color-error, #ef4444);
79
+ }
80
+
81
+ @media (prefers-reduced-motion: reduce) {
82
+ secure-form .secure-form {
83
+ transition: none;
84
+ }
85
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"secure-form.d.ts","sourceRoot":"","sources":["../../../src/components/secure-form/secure-form.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAI7B,qBAAa,UAAW,SAAQ,WAAW;;IAiBzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAWxC;;IAMD,iBAAiB,IAAI,IAAI;IAkmBzB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,KAAK,IAAI,IAAI;IAYb,MAAM,IAAI,IAAI;IAMd,IAAI,KAAK,IAAI,OAAO,CAGnB;IAED,oBAAoB,IAAI,IAAI;IAO5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA6B9F,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOpC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM1D,cAAc,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAsB3D"}
1
+ {"version":3,"file":"secure-form.d.ts","sourceRoot":"","sources":["../../../src/components/secure-form/secure-form.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAI7B,qBAAa,UAAW,SAAQ,WAAW;;IAiBzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAWxC;;IAMD,iBAAiB,IAAI,IAAI;IAsrBzB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,KAAK,IAAI,IAAI;IAkBb,MAAM,IAAI,IAAI;IAMd,IAAI,KAAK,IAAI,OAAO,CAGnB;IAED,oBAAoB,IAAI,IAAI;IAW5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA6B9F,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOpC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM1D,cAAc,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAsB3D"}
@@ -1 +1 @@
1
- var u;import{SecurityTier as h,TIER_CONFIG as p,isValidTier as b}from"../../core/security-config.js";class f extends HTMLElement{static#d=!1;#t=null;#e=null;#i=null;#a=!1;#m=Date.now();#n={attempts:0,windowStart:Date.now()};#s=`secure-form-${Math.random().toString(36).substring(2,11)}`;#r=h.PUBLIC;static get observedAttributes(){return["security-tier","action","method","enctype","csrf-token","csrf-header-name","csrf-field-name","novalidate"]}constructor(){super()}connectedCallback(){if(this.#t)return;this.#m=Date.now();const t=this.getAttribute("security-tier");t&&b(t)&&(this.#r=t);const e=this.querySelector("form");if(e){this.#t=e,this.#t.id=this.#s,this.#t.classList.contains("secure-form")||this.#t.classList.add("secure-form"),this.#f();const s=this.getAttribute("csrf-field-name")||"csrf_token",r=e.querySelector(`input[name="${CSS.escape(s)}"]`);if(r){this.#e=r;const i=this.getAttribute("csrf-token");i&&r.value!==i&&(r.value=i)}else this.#p()}else{for(this.#t=document.createElement("form"),this.#t.id=this.#s,this.#t.className="secure-form",this.#f(),this.#p();this.firstChild;)this.#t.appendChild(this.firstChild);this.appendChild(this.#t)}this.#i=document.createElement("div"),this.#i.className="form-status form-status-hidden",this.#i.setAttribute("role","status"),this.#i.setAttribute("aria-live","polite"),this.#t.insertBefore(this.#i,this.#t.firstChild),this.#S(),this.#v(),this.audit("form_initialized",{formId:this.#s,action:this.#t.action,method:this.#t.method})}#S(){if(!u.#d){const t=new URL("./secure-form.css",import.meta.url).href;if(t.includes("{")){const e=new CSSStyleSheet;e.replaceSync(t),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}else{const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}u.#d=!0}}#f(){const t=this.getAttribute("action");t&&(this.#t.action=t);const e=this.getAttribute("method")||"POST";this.#t.method=e.toUpperCase();const s=this.getAttribute("enctype")||"application/x-www-form-urlencoded";this.#t.enctype=s,this.hasAttribute("novalidate")&&(this.#t.noValidate=!0),(this.#r===h.SENSITIVE||this.#r===h.CRITICAL)&&(this.#t.autocomplete="off")}#p(){const t=this.getAttribute("csrf-token");if(t){this.#e=document.createElement("input"),this.#e.type="hidden";const e=this.getAttribute("csrf-field-name")||"csrf_token";this.#e.name=e,this.#e.value=t,this.#t.appendChild(this.#e),this.audit("csrf_token_injected",{formId:this.#s,fieldName:e})}else(this.securityTier===h.SENSITIVE||this.securityTier===h.CRITICAL)&&console.warn("CSRF token not provided for SENSITIVE/CRITICAL tier form")}#v(){this.#t.addEventListener("submit",t=>{this.#A(t)}),this.addEventListener("secure-input-change",t=>{this.#l(t)}),this.addEventListener("secure-textarea-change",t=>{this.#l(t)}),this.addEventListener("secure-select-change",t=>{this.#l(t)}),this.addEventListener("secure-threat-detected",t=>{const e=t.detail;e&&this.#o.push(e)})}#l(t){this.#g()}async#A(t){const e=this.hasAttribute("use-fetch");if(this.#a){t.preventDefault();return}(this.#r===h.SENSITIVE||this.#r===h.CRITICAL)&&!this.#e?.value&&this.dispatchEvent(new CustomEvent("secure-threat-detected",{detail:{fieldName:this.#s,threatType:"csrf-token-absent",patternId:"csrf-token-absent",tier:this.#r,timestamp:Date.now()},bubbles:!0,composed:!0}));const s=this.checkRateLimit();if(!s.allowed){t.preventDefault(),this.#c(`Too many submission attempts. Please wait ${Math.ceil(s.retryAfter/1e3)} seconds.`,"error"),this.audit("form_rate_limited",{formId:this.#s,retryAfter:s.retryAfter});return}const r=this.#b();if(!r.valid){t.preventDefault(),this.#c(r.errors.join(", "),"error"),this.audit("form_validation_failed",{formId:this.#s,errors:r.errors});return}if(!e){this.#C(),this.audit("form_submitted_native",{formId:this.#s,action:this.#t.action,method:this.#t.method});return}t.preventDefault(),this.#a=!0,this.#c("Submitting...","info"),this.#w();const i=this.#y(),a=this.#I();this.audit("form_submitted_enhanced",{formId:this.#s,action:this.#t.action,method:this.#t.method,fieldCount:Object.keys(i).length,riskScore:a.riskScore,riskSignals:a.riskSignals});const o=new CustomEvent("secure-form-submit",{detail:{formData:i,telemetry:a,cancelSubmission:()=>{this.#a=!1,this.#u()}},bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(o)){this.#a=!1,this.#u();return}try{await this.#E(i,a)}catch(l){this.#c("Submission failed. Please try again.","error"),this.audit("form_submission_error",{formId:this.#s,error:l.message})}finally{this.#a=!1,this.#u()}}#C(){this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(e=>{const s=e.getAttribute("name");if(!s)return;e.querySelectorAll(`input[name="${s}"], textarea[name="${s}"], select[name="${s}"]`).forEach(a=>{a.removeAttribute("name")});let i=this.#t.querySelector(`input[type="hidden"][data-secure-input="${s}"]`);i||(i=document.createElement("input"),i.type="hidden",i.setAttribute("data-secure-input",s),i.name=s,this.#t.appendChild(i)),i.value=e.value||""})}#b(){const t=[];return this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{if(typeof s.valid=="boolean"&&!s.valid){const r=s.getAttribute("label")||s.getAttribute("name")||"Field";t.push(`${r} is invalid`)}}),{valid:t.length===0,errors:t}}#y(){const t=Object.create(null);return this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(r=>{const i=r;i.name&&(t[i.name]=i.value)}),this.#t.querySelectorAll('input:not([type="hidden"]), textarea, select').forEach(r=>{const i=r;i.name&&(t[i.name]=this.sanitizeValue(i.value))}),this.#e&&(t[this.#e.name]=this.#e.value),t}#o=[];#h=null;async#E(t,e){this.#h?.abort(),this.#h=new AbortController;const s=this.#t.action,r=this.#t.method,i={"Content-Type":"application/json"},a=this.getAttribute("csrf-header-name");a&&this.#e&&(i[a]=this.#e.value);const o={...t,_telemetry:e},c=await fetch(s,{method:r,headers:i,body:JSON.stringify(o),credentials:"same-origin",mode:"cors",cache:"no-cache",redirect:"follow",signal:this.#h.signal});if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return this.#c("Form submitted successfully!","success"),this.dispatchEvent(new CustomEvent("secure-form-success",{detail:{formData:t,response:c,telemetry:e},bubbles:!0,composed:!0})),c}#w(){this.#t.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!0}),this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{s.setAttribute("disabled","")})}#u(){this.#t.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!1}),this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{s.removeAttribute("disabled")})}#c(t,e="info"){this.#i.textContent=t,this.#i.className=`form-status form-status-${e}`}#g(){this.#i.textContent="",this.#i.className="form-status form-status-hidden"}#I(){const e=this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-card"),s=[];e.forEach(o=>{const c=o;if(typeof c.getFieldTelemetry!="function")return;const l=o.getAttribute("name")??o.tagName.toLowerCase(),d={...c.getFieldTelemetry(),fieldName:l,fieldType:o.tagName.toLowerCase()};s.push(d)});const r=Date.now()-this.#m,{riskScore:i,riskSignals:a}=this.#k(s,r,this.#o);return{sessionDuration:r,fieldCount:s.length,fields:s,riskScore:i,riskSignals:a,submittedAt:new Date().toISOString(),detectedThreats:this.#o.length>0?[...this.#o]:void 0}}#k(t,e,s=[]){const r=[];let i=0;const a=s.filter(n=>n.threatType==="injection"),o=s.some(n=>n.threatType==="csrf-token-absent");if(a.length>0&&(i+=40,r.push("injection_detected")),o&&(i+=20,r.push("csrf_token_absent")),e<3e3?(i+=30,r.push("session_too_fast")):e<8e3&&(i+=10,r.push("session_fast")),t.length===0)return{riskScore:Math.min(i,100),riskSignals:r};t.every(n=>n.pasteDetected&&n.velocity===0)&&(i+=25,r.push("all_fields_pasted")),t.some(n=>n.velocity>15)&&(i+=15,r.push("high_velocity_typing")),t.some(n=>n.focusCount===0)&&(i+=15,r.push("field_filled_without_focus")),t.some(n=>n.focusCount>1&&n.blurWithoutChange>1)&&(i+=10,r.push("form_probing")),t.some(n=>n.corrections>5)&&(i+=5,r.push("high_correction_count"));const m=t.filter(n=>n.autofillDetected);return m.length>0&&m.length===t.length&&(i-=10,r.push("autofill_detected")),{riskScore:Math.max(0,Math.min(i,100)),riskSignals:r}}getData(){return this.#y()}reset(){this.#t&&(this.#t.reset(),this.#g(),this.#o=[],this.audit("form_reset",{formId:this.#s}))}submit(){this.#t&&this.#t.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}get valid(){return this.#b().valid}disconnectedCallback(){this.#h?.abort(),this.#t&&this.#t.reset()}attributeChangedCallback(t,e,s){if(this.#t)switch(t){case"security-tier":console.warn(`SecureForm: security-tier cannot be changed after initialization. Attempted change from "${e}" to "${s}" blocked.`);return;case"action":this.#t.action=s;break;case"method":this.#t.method=s;break;case"csrf-token":this.#e&&(this.#e.value=s);break}}get securityTier(){return this.#r}sanitizeValue(t){if(typeof t!="string")return"";const e=document.createElement("div");return e.textContent=t,e.innerHTML}audit(t,e){console.debug&&console.debug(`[secure-form] ${t}`,e)}checkRateLimit(){const t=p[this.#r];if(!t.rateLimit.enabled)return{allowed:!0,retryAfter:0};const{maxAttempts:e,windowMs:s}=t.rateLimit,r=Date.now();return r-this.#n.windowStart>s&&(this.#n.attempts=0,this.#n.windowStart=r),this.#n.attempts>=e?{allowed:!1,retryAfter:s-(r-this.#n.windowStart)}:(this.#n.attempts++,{allowed:!0,retryAfter:0})}}u=f,customElements.define("secure-form",f);export{f as SecureForm};
1
+ var d;import{SecurityTier as h,TIER_CONFIG as p,isValidTier as b}from"../../core/security-config.js";class m extends HTMLElement{static#m=!1;#t=null;#e=null;#r=null;#h=!1;#p=Date.now();#a={attempts:0,windowStart:Date.now()};#s=`secure-form-${Math.random().toString(36).substring(2,11)}`;#n=h.PUBLIC;static get observedAttributes(){return["security-tier","action","method","enctype","csrf-token","csrf-header-name","csrf-field-name","novalidate"]}constructor(){super()}connectedCallback(){if(this.#t)return;this.#p=Date.now();const t=this.getAttribute("security-tier");t&&b(t)&&(this.#n=t);const e=this.querySelector("form");if(e){this.#t=e,this.#t.id=this.#s,this.#t.classList.contains("secure-form")||this.#t.classList.add("secure-form"),this.#b();const s=this.getAttribute("csrf-field-name")||"csrf_token",i=e.querySelector(`input[name="${CSS.escape(s)}"]`);if(i){this.#e=i;const r=this.getAttribute("csrf-token");r&&i.value!==r&&(i.value=r)}else this.#y()}else{for(this.#t=document.createElement("form"),this.#t.id=this.#s,this.#t.className="secure-form",this.#b(),this.#y();this.firstChild;)this.#t.appendChild(this.firstChild);this.appendChild(this.#t)}this.#r=document.createElement("div"),this.#r.className="form-status form-status-hidden",this.#r.setAttribute("role","status"),this.#r.setAttribute("aria-live","polite"),this.#t.insertBefore(this.#r,this.#t.firstChild),this.#E(),this.#w(),this.audit("form_initialized",{formId:this.#s,action:this.#t.action,method:this.#t.method})}#E(){if(!d.#m){const t=new URL("./secure-form.css",import.meta.url).href;if(t.includes("{")){const e=new CSSStyleSheet;e.replaceSync(t),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}else{const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}d.#m=!0}}#b(){const t=this.getAttribute("action");t&&(this.#t.action=t);const e=this.getAttribute("method")||"POST";this.#t.method=e.toUpperCase();const s=this.getAttribute("enctype")||"application/x-www-form-urlencoded";this.#t.enctype=s,this.hasAttribute("novalidate")&&(this.#t.noValidate=!0),(this.#n===h.SENSITIVE||this.#n===h.CRITICAL)&&(this.#t.autocomplete="off")}#y(){const t=this.getAttribute("csrf-token");if(t){this.#e=document.createElement("input"),this.#e.type="hidden";const e=this.getAttribute("csrf-field-name")||"csrf_token";this.#e.name=e,this.#e.value=t,this.#t.appendChild(this.#e),this.audit("csrf_token_injected",{formId:this.#s,fieldName:e})}else(this.securityTier===h.SENSITIVE||this.securityTier===h.CRITICAL)&&console.warn("CSRF token not provided for SENSITIVE/CRITICAL tier form")}#w(){this.#t.addEventListener("submit",t=>{this.#k(t)}),this.addEventListener("secure-input-change",t=>{this.#d(t)}),this.addEventListener("secure-textarea-change",t=>{this.#d(t)}),this.addEventListener("secure-select-change",t=>{this.#d(t)}),this.addEventListener("secure-threat-detected",t=>{const e=t.detail;e&&(this.#o.push(e),e.threatType==="injection"&&(this.#l("blocked"),this.#A(e.fieldName,"Injection attempt blocked \u2014 clear this field to submit","error")))})}#d(t){this.#v()}async#k(t){const e=this.hasAttribute("use-fetch");if(this.#h){t.preventDefault();return}(this.#n===h.SENSITIVE||this.#n===h.CRITICAL)&&!this.#e?.value&&this.dispatchEvent(new CustomEvent("secure-threat-detected",{detail:{fieldName:this.#s,threatType:"csrf-token-absent",patternId:"csrf-token-absent",tier:this.#n,timestamp:Date.now()},bubbles:!0,composed:!0}));const s=this.checkRateLimit();if(!s.allowed){t.preventDefault(),this.#c(`Too many submission attempts. Please wait ${Math.ceil(s.retryAfter/1e3)} seconds.`,"error"),this.audit("form_rate_limited",{formId:this.#s,retryAfter:s.retryAfter});return}const i=this.#g();if(!i.valid){t.preventDefault(),this.#c(i.errors.join(", "),"error"),this.audit("form_validation_failed",{formId:this.#s,errors:i.errors});return}if(this.#o.some(l=>l.threatType==="injection")){t.preventDefault(),this.#l("blocked"),this.#c("Submission blocked: injection attempt detected. Clear the highlighted field(s) and try again.","error"),this.audit("form_blocked_injection",{formId:this.#s,count:this.#o.filter(l=>l.threatType==="injection").length});return}if(!e){this.#I(),this.audit("form_submitted_native",{formId:this.#s,action:this.#t.action,method:this.#t.method});return}t.preventDefault(),this.#h=!0,this.#c("Submitting...","info"),this.#_();const a=this.#S(),o=this.#F();this.#L(o.fields),this.audit("form_submitted_enhanced",{formId:this.#s,action:this.#t.action,method:this.#t.method,fieldCount:Object.keys(a).length,riskScore:o.riskScore,riskSignals:o.riskSignals});const c=new CustomEvent("secure-form-submit",{detail:{formData:a,telemetry:o,cancelSubmission:()=>{this.#h=!1,this.#f()}},bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(c)){this.#h=!1,this.#f();return}try{await this.#T(a,o),this.#l("success"),this.#i!==null&&clearTimeout(this.#i),this.#i=setTimeout(()=>{this.#l(null),this.#i=null},3e3),this.#C()}catch(l){this.#l("error"),this.#c("Submission failed. Please try again.","error"),this.audit("form_submission_error",{formId:this.#s,error:l.message})}finally{this.#h=!1,this.#f()}}#I(){this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(e=>{const s=e.getAttribute("name");if(!s)return;e.querySelectorAll(`input[name="${s}"], textarea[name="${s}"], select[name="${s}"]`).forEach(a=>{a.removeAttribute("name")});let r=this.#t.querySelector(`input[type="hidden"][data-secure-input="${s}"]`);r||(r=document.createElement("input"),r.type="hidden",r.setAttribute("data-secure-input",s),r.name=s,this.#t.appendChild(r)),r.value=e.value||""})}#g(){const t=[];return this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{if(typeof s.valid=="boolean"&&!s.valid){const i=s.getAttribute("label")||s.getAttribute("name")||"Field";t.push(`${i} is invalid`)}}),{valid:t.length===0,errors:t}}#S(){const t=Object.create(null);return this.#t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(i=>{const r=i;r.name&&(t[r.name]=r.value)}),this.#t.querySelectorAll('input:not([type="hidden"]), textarea, select').forEach(i=>{const r=i;r.name&&(t[r.name]=this.sanitizeValue(r.value))}),this.#e&&(t[this.#e.name]=this.#e.value),t}#o=[];#i=null;#u=null;async#T(t,e){this.#u?.abort(),this.#u=new AbortController;const s=this.#t.action,i=this.#t.method,r={"Content-Type":"application/json"},a=this.getAttribute("csrf-header-name");a&&this.#e&&(r[a]=this.#e.value);const o={...t,_telemetry:e},c=await fetch(s,{method:i,headers:r,body:JSON.stringify(o),credentials:"same-origin",mode:"cors",cache:"no-cache",redirect:"follow",signal:this.#u.signal});if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return this.#c("Form submitted successfully!","success"),this.dispatchEvent(new CustomEvent("secure-form-success",{detail:{formData:t,response:c,telemetry:e},bubbles:!0,composed:!0})),c}#_(){this.#t.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!0}),this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{s.setAttribute("disabled","")})}#f(){this.#t.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!1}),this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload").forEach(s=>{s.removeAttribute("disabled")})}#c(t,e="info"){this.#r.textContent=t,this.#r.className=`form-status form-status-${e}`}#v(){this.#r.textContent="",this.#r.className="form-status form-status-hidden"}#F(){const e=this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-card"),s=[];e.forEach(o=>{const c=o;if(typeof c.getFieldTelemetry!="function")return;const u=o.getAttribute("name")??o.tagName.toLowerCase(),l={...c.getFieldTelemetry(),fieldName:u,fieldType:o.tagName.toLowerCase()};s.push(l)});const i=Date.now()-this.#p,{riskScore:r,riskSignals:a}=this.#x(s,i,this.#o);return{sessionDuration:i,fieldCount:s.length,fields:s,riskScore:r,riskSignals:a,submittedAt:new Date().toISOString(),detectedThreats:this.#o.length>0?[...this.#o]:void 0}}#x(t,e,s=[]){const i=[];let r=0;const a=s.filter(n=>n.threatType==="injection"),o=s.some(n=>n.threatType==="csrf-token-absent");if(a.length>0&&(r+=40,i.push("injection_detected")),o&&(r+=20,i.push("csrf_token_absent")),e<3e3?(r+=30,i.push("session_too_fast")):e<8e3&&(r+=10,i.push("session_fast")),t.length===0)return{riskScore:Math.min(r,100),riskSignals:i};t.every(n=>n.pasteDetected&&n.velocity===0)&&(r+=25,i.push("all_fields_pasted")),t.some(n=>n.velocity>15)&&(r+=15,i.push("high_velocity_typing")),t.some(n=>n.focusCount===0)&&(r+=15,i.push("field_filled_without_focus")),t.some(n=>n.focusCount>1&&n.blurWithoutChange>1)&&(r+=10,i.push("form_probing")),t.some(n=>n.corrections>5)&&(r+=5,i.push("high_correction_count"));const f=t.filter(n=>n.autofillDetected);return f.length>0&&f.length===t.length&&(r-=10,i.push("autofill_detected")),{riskScore:Math.max(0,Math.min(r,100)),riskSignals:i}}#l(t){t===null?delete this.dataset.state:this.dataset.state=t}#C(){this.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-card, secure-file-upload").forEach(e=>{e.clearExternalError?.()})}#A(t,e,s="error"){if(!t)return;this.querySelector(`[name="${CSS.escape(t)}"]`)?.reportError?.(e,s)}#L(t){for(const e of t){let s=null;e.focusCount===0?s="Field was filled without interaction":e.velocity>15?s="Unusually fast input detected":e.pasteDetected&&e.velocity===0?s="Paste-only entry detected":e.focusCount>1&&e.blurWithoutChange>1?s="Repeated focus without entry":e.corrections>5&&(s="Excessive corrections detected"),s!==null&&this.#A(e.fieldName,s,"warning")}}getData(){return this.#S()}reset(){this.#t&&(this.#t.reset(),this.#v(),this.#o=[],this.#i!==null&&(clearTimeout(this.#i),this.#i=null),this.#l(null),this.#C(),this.audit("form_reset",{formId:this.#s}))}submit(){this.#t&&this.#t.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}get valid(){return this.#g().valid}disconnectedCallback(){this.#u?.abort(),this.#i!==null&&(clearTimeout(this.#i),this.#i=null),this.#t&&this.#t.reset()}attributeChangedCallback(t,e,s){if(this.#t)switch(t){case"security-tier":console.warn(`SecureForm: security-tier cannot be changed after initialization. Attempted change from "${e}" to "${s}" blocked.`);return;case"action":this.#t.action=s;break;case"method":this.#t.method=s;break;case"csrf-token":this.#e&&(this.#e.value=s);break}}get securityTier(){return this.#n}sanitizeValue(t){if(typeof t!="string")return"";const e=document.createElement("div");return e.textContent=t,e.innerHTML}audit(t,e){console.debug&&console.debug(`[secure-form] ${t}`,e)}checkRateLimit(){const t=p[this.#n];if(!t.rateLimit.enabled)return{allowed:!0,retryAfter:0};const{maxAttempts:e,windowMs:s}=t.rateLimit,i=Date.now();return i-this.#a.windowStart>s&&(this.#a.attempts=0,this.#a.windowStart=i),this.#a.attempts>=e?{allowed:!1,retryAfter:s-(i-this.#a.windowStart)}:(this.#a.attempts++,{allowed:!0,retryAfter:0})}}d=m,customElements.define("secure-form",m);export{m as SecureForm};
@@ -1 +1 @@
1
- {"version":3,"file":"secure-form.js","sourceRoot":"","sources":["../../../src/components/secure-form/secure-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-form.js","sourceRoot":"","sources":["../../../src/components/secure-form/secure-form.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,15 @@ export declare abstract class SecureBaseComponent extends HTMLElement {
52
52
  get securityTier(): SecurityTierValue;
53
53
  get config(): TierConfig;
54
54
  getAuditLog(): AuditLogEntry[];
55
+ /**
56
+ * Display a form-level message on this field.
57
+ * Called by secure-form to surface injection errors ('error') or
58
+ * behavioural risk warnings ('warning') without disturbing the field's
59
+ * own validation state.
60
+ */
61
+ reportError(message: string, variant?: 'error' | 'warning'): void;
62
+ /** Clear any message previously set by reportError(). */
63
+ clearExternalError(): void;
55
64
  protected clearAuditLog(): void;
56
65
  protected audit(event: string, data: Record<string, unknown>): void;
57
66
  protected detectInjection(value: string, fieldName: string, showFeedback?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-component.d.ts","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,aAAa,EACb,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,8BAAsB,mBAAoB,SAAQ,WAAW;;;IA4D3D,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAepC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiB9F,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAcxG;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepD,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAElE,mFAAmF;IACnF,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAqCzF,SAAS,CAAC,cAAc,IAAI,eAAe;IAsE3C,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED,WAAW,IAAI,aAAa,EAAE;IAI9B,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMnE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI;IAiCvF,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACtD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAErC,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAInD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAI1B,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAYtC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA8BlD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAarC,yEAAyE;IACzE,iBAAiB,IAAI,cAAc;IAsCnC,oBAAoB,IAAI,IAAI;CAU7B;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"base-component.d.ts","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,aAAa,EACb,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,8BAAsB,mBAAoB,SAAQ,WAAW;;;IA6D3D,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAepC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiB9F,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAsBxG;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepD,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAElE,mFAAmF;IACnF,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAqCzF,SAAS,CAAC,cAAc,IAAI,eAAe;IAsE3C,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED,WAAW,IAAI,aAAa,EAAE;IAI9B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,SAAmB,GAAG,IAAI;IAc1E,yDAAyD;IACzD,kBAAkB,IAAI,IAAI;IAQ1B,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMnE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI;IAiCvF,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACtD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAErC,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAInD,SAAS,CAAC,QAAQ,IAAI,IAAI;IAI1B,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAYtC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA8BlD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAarC,yEAAyE;IACzE,iBAAiB,IAAI,cAAc;IAsCnC,oBAAoB,IAAI,IAAI;CAU7B;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- var c;import{SecurityTier as h,getTierConfig as l,isValidTier as d}from"./security-config.js";class u extends HTMLElement{static#l=1e3;static#u={"script-tag":"Script injection blocked","js-protocol":"JavaScript protocol blocked","event-handler":"Event handler injection blocked","html-injection":"HTML element injection blocked","css-expression":"CSS expression injection blocked",vbscript:"VBScript injection blocked","data-uri-html":"Data URI injection blocked","template-syntax":"Template injection blocked"};static#h=[{id:"script-tag",pattern:/<script[\s>/]/i},{id:"js-protocol",pattern:/javascript\s*:/i},{id:"event-handler",pattern:/\bon\w+\s*=/i},{id:"html-injection",pattern:/<\s*(img|svg|iframe|object|embed|link|meta|base)[^>]*/i},{id:"css-expression",pattern:/expression\s*\(/i},{id:"vbscript",pattern:/vbscript\s*:/i},{id:"data-uri-html",pattern:/data:\s*text\/html/i},{id:"template-syntax",pattern:/\{\{[\s\S]*?\}\}/}];#n=h.CRITICAL;#t;#i;#s=[];#e={attempts:0,windowStart:Date.now()};#o=!1;#r={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0};constructor(){super(),this.#i=this.attachShadow({mode:"closed"}),this.#t=l(this.#n)}static get observedAttributes(){return["security-tier","disabled","readonly","threat-feedback"]}connectedCallback(){this.#o||(this.#d(),this.#o=!0)}#d(){this.initializeSecurity(),this.#c()}initializeSecurity(){const t=this.getAttribute("security-tier");t&&d(t)&&(this.#n=t),this.#t=l(this.#n),this.#a("component_initialized",{tier:this.#n,timestamp:new Date().toISOString()})}attributeChangedCallback(t,e,i){if(t==="security-tier"&&this.#o){console.warn(`Security tier cannot be changed after initialization. Attempted change from "${e}" to "${i}" blocked.`),e!==null&&this.setAttribute("security-tier",e);return}this.#o&&this.handleAttributeChange(t,e,i)}handleAttributeChange(t,e,i){}#c(){this.#i.innerHTML="",this.addComponentStyles(new URL("./base.css",import.meta.url).href);const t=this.render();t&&this.#i.appendChild(t)}getBaseStylesheetUrl(){return new URL("./base.css",import.meta.url).href}addComponentStyles(t){if(t.includes("{")){const e=new CSSStyleSheet;e.replaceSync(t),this.#i.adoptedStyleSheets=[...this.#i.adoptedStyleSheets,e]}else{const e=document.createElement("link");e.rel="stylesheet",e.href=t,this.#i.appendChild(e)}}sanitizeValue(t){if(typeof t!="string")return"";const e=document.createElement("div");return e.textContent=t,e.innerHTML}validateInput(t,e={}){const i=[],s=this.#t;(e.required!==void 0?e.required:s.validation.required)&&(!t||t.trim().length===0)&&i.push("This field is required");const r=e.maxLength||s.validation.maxLength;t&&t.length>r&&i.push(`Value exceeds maximum length of ${r}`);const a=e.minLength||0;t&&t.length<a&&i.push(`Value must be at least ${a} characters`);const o=e.pattern||s.validation.pattern;return o&&t&&!o.test(t)&&i.push("Value does not match required format"),s.validation.strict&&i.length>0&&this.#a("validation_failed",{errors:i,valueLength:t?t.length:0}),{valid:i.length===0,errors:i}}checkRateLimit(){if(!this.#t.rateLimit.enabled)return{allowed:!0,retryAfter:0};const t=Date.now(),e=this.#t.rateLimit.windowMs;if(t-this.#e.windowStart>e&&(this.#e.attempts=0,this.#e.windowStart=t),this.#e.attempts>=this.#t.rateLimit.maxAttempts){const i=e-(t-this.#e.windowStart);return this.#a("rate_limit_exceeded",{attempts:this.#e.attempts,retryAfter:i}),{allowed:!1,retryAfter:i}}return this.#e.attempts++,{allowed:!0,retryAfter:0}}#a(t,e={}){const i=this.#t.audit;if(!(t.includes("access")&&i.logAccess||t.includes("change")&&i.logChanges||t.includes("submit")&&i.logSubmission||t.includes("initialized")||t.includes("rate_limit")||t.includes("validation")||t.includes("threat")))return;const n={event:t,tier:this.#n,timestamp:new Date().toISOString(),data:Object.keys(e).length>0?e:void 0};i.includeMetadata&&(n.userAgent=navigator.userAgent,n.language=navigator.language),this.#s.length>=c.#l&&this.#s.shift(),this.#s.push(n),this.dispatchEvent(new CustomEvent("secure-audit",{detail:n,bubbles:!0,composed:!0}))}get shadowRoot(){return this.#i}get securityTier(){return this.#n}get config(){return this.#t}getAuditLog(){return[...this.#s]}clearAuditLog(){this.#s=[]}audit(t,e){this.#a(t,e)}detectInjection(t,e,i=!1){const s=i||this.hasAttribute("threat-feedback");for(const{id:n,pattern:r}of c.#h)if(r.test(t)){this.audit("threat_detected",{fieldName:e,patternId:n,threatType:"injection"}),this.dispatchEvent(new CustomEvent("secure-threat-detected",{detail:{fieldName:e,threatType:"injection",patternId:n,tier:this.securityTier,timestamp:Date.now()},bubbles:!0,composed:!0})),s&&this.showThreatFeedback(n);return}s&&this.clearThreatFeedback()}showThreatFeedback(t){}clearThreatFeedback(){}getThreatLabel(t){return c.#u[t]??`Injection blocked: ${t}`}rerender(){this.#c()}recordTelemetryFocus(){const t=this.#r;t.focusAt=Date.now(),t.blurAt=null,t.focusCount++;const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');t.lastInputLength=e?e.value.length:0}recordTelemetryInput(t){const e=this.#r,i=Date.now();e.firstKeystrokeAt===null&&(e.firstKeystrokeAt=i);const n=t.inputType??"";n==="insertFromPaste"||n==="insertFromPasteAsQuotation"?e.pasteDetected=!0:n==="insertReplacementText"?e.autofillDetected=!0:n.startsWith("delete")||n==="historyUndo"||n==="historyRedo"?e.correctionCount++:e.keyCount++;const r=t.target;r&&(e.lastInputLength=r.value.length)}recordTelemetryBlur(){const t=this.#r;t.blurAt=Date.now();const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');(e?e.value.length:0)===t.lastInputLength&&t.keyCount===0&&!t.pasteDetected&&t.blurWithoutChange++}getFieldTelemetry(){const t=this.#r,e=t.focusAt??Date.now(),i=t.firstKeystrokeAt,s=t.blurAt??Date.now(),n=i!==null?i-e:0,r=i!==null?s-i:0,a=r/1e3,o=a>0?t.keyCount/a:0;return{dwell:n,completionTime:r,velocity:Math.round(o*100)/100,corrections:t.correctionCount,pasteDetected:t.pasteDetected,autofillDetected:t.autofillDetected,focusCount:t.focusCount,blurWithoutChange:t.blurWithoutChange}}#p(){this.#r={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0}}disconnectedCallback(){this.#e={attempts:0,windowStart:Date.now()},this.#p(),this.#t.audit.logAccess&&this.#a("component_disconnected",{timestamp:new Date().toISOString()})}}c=u;var m=u;export{u as SecureBaseComponent,m as default};
1
+ var l;import{SecurityTier as d,getTierConfig as c,isValidTier as u}from"./security-config.js";class h extends HTMLElement{static#h=1e3;static#d={"script-tag":"Script injection blocked","js-protocol":"JavaScript protocol blocked","event-handler":"Event handler injection blocked","html-injection":"HTML element injection blocked","css-expression":"CSS expression injection blocked",vbscript:"VBScript injection blocked","data-uri-html":"Data URI injection blocked","template-syntax":"Template injection blocked"};static#u=[{id:"script-tag",pattern:/<script[\s>/]/i},{id:"js-protocol",pattern:/javascript\s*:/i},{id:"event-handler",pattern:/\bon\w+\s*=/i},{id:"html-injection",pattern:/<\s*(img|svg|iframe|object|embed|link|meta|base)[^>]*/i},{id:"css-expression",pattern:/expression\s*\(/i},{id:"vbscript",pattern:/vbscript\s*:/i},{id:"data-uri-html",pattern:/data:\s*text\/html/i},{id:"template-syntax",pattern:/\{\{[\s\S]*?\}\}/}];#s=d.CRITICAL;#e;#i;#r=[];#t=null;#n={attempts:0,windowStart:Date.now()};#l=!1;#a={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0};constructor(){super(),this.#i=this.attachShadow({mode:"closed"}),this.#e=c(this.#s)}static get observedAttributes(){return["security-tier","disabled","readonly","threat-feedback"]}connectedCallback(){this.#l||(this.#p(),this.#l=!0)}#p(){this.initializeSecurity(),this.#c()}initializeSecurity(){const t=this.getAttribute("security-tier");t&&u(t)&&(this.#s=t),this.#e=c(this.#s),this.#o("component_initialized",{tier:this.#s,timestamp:new Date().toISOString()})}attributeChangedCallback(t,e,i){if(t==="security-tier"&&this.#l){console.warn(`Security tier cannot be changed after initialization. Attempted change from "${e}" to "${i}" blocked.`),e!==null&&this.setAttribute("security-tier",e);return}this.#l&&this.handleAttributeChange(t,e,i)}handleAttributeChange(t,e,i){}#c(){this.#i.innerHTML="",this.addComponentStyles(new URL("./base.css",import.meta.url).href);const t=this.render();t&&this.#i.appendChild(t),this.#t=document.createElement("div"),this.#t.className="external-error hidden",this.#t.setAttribute("aria-live","polite"),this.#i.appendChild(this.#t)}getBaseStylesheetUrl(){return new URL("./base.css",import.meta.url).href}addComponentStyles(t){if(t.includes("{")){const e=new CSSStyleSheet;e.replaceSync(t),this.#i.adoptedStyleSheets=[...this.#i.adoptedStyleSheets,e]}else{const e=document.createElement("link");e.rel="stylesheet",e.href=t,this.#i.appendChild(e)}}sanitizeValue(t){if(typeof t!="string")return"";const e=document.createElement("div");return e.textContent=t,e.innerHTML}validateInput(t,e={}){const i=[],s=this.#e;(e.required!==void 0?e.required:s.validation.required)&&(!t||t.trim().length===0)&&i.push("This field is required");const r=e.maxLength||s.validation.maxLength;t&&t.length>r&&i.push(`Value exceeds maximum length of ${r}`);const a=e.minLength||0;t&&t.length<a&&i.push(`Value must be at least ${a} characters`);const o=e.pattern||s.validation.pattern;return o&&t&&!o.test(t)&&i.push("Value does not match required format"),s.validation.strict&&i.length>0&&this.#o("validation_failed",{errors:i,valueLength:t?t.length:0}),{valid:i.length===0,errors:i}}checkRateLimit(){if(!this.#e.rateLimit.enabled)return{allowed:!0,retryAfter:0};const t=Date.now(),e=this.#e.rateLimit.windowMs;if(t-this.#n.windowStart>e&&(this.#n.attempts=0,this.#n.windowStart=t),this.#n.attempts>=this.#e.rateLimit.maxAttempts){const i=e-(t-this.#n.windowStart);return this.#o("rate_limit_exceeded",{attempts:this.#n.attempts,retryAfter:i}),{allowed:!1,retryAfter:i}}return this.#n.attempts++,{allowed:!0,retryAfter:0}}#o(t,e={}){const i=this.#e.audit;if(!(t.includes("access")&&i.logAccess||t.includes("change")&&i.logChanges||t.includes("submit")&&i.logSubmission||t.includes("initialized")||t.includes("rate_limit")||t.includes("validation")||t.includes("threat")))return;const n={event:t,tier:this.#s,timestamp:new Date().toISOString(),data:Object.keys(e).length>0?e:void 0};i.includeMetadata&&(n.userAgent=navigator.userAgent,n.language=navigator.language),this.#r.length>=l.#h&&this.#r.shift(),this.#r.push(n),this.dispatchEvent(new CustomEvent("secure-audit",{detail:n,bubbles:!0,composed:!0}))}get shadowRoot(){return this.#i}get securityTier(){return this.#s}get config(){return this.#e}getAuditLog(){return[...this.#r]}reportError(t,e="error"){this.#t&&(this.#t.textContent=t,this.#t.dataset.variant=e,e==="error"?this.#t.setAttribute("role","alert"):this.#t.removeAttribute("role"),this.#t.classList.remove("hidden"))}clearExternalError(){this.#t&&(this.#t.removeAttribute("role"),this.#t.classList.add("hidden"),this.#t.textContent="",delete this.#t.dataset.variant)}clearAuditLog(){this.#r=[]}audit(t,e){this.#o(t,e)}detectInjection(t,e,i=!1){const s=i||this.hasAttribute("threat-feedback");for(const{id:n,pattern:r}of l.#u)if(r.test(t)){this.audit("threat_detected",{fieldName:e,patternId:n,threatType:"injection"}),this.dispatchEvent(new CustomEvent("secure-threat-detected",{detail:{fieldName:e,threatType:"injection",patternId:n,tier:this.securityTier,timestamp:Date.now()},bubbles:!0,composed:!0})),s&&this.showThreatFeedback(n);return}s&&this.clearThreatFeedback()}showThreatFeedback(t){}clearThreatFeedback(){}getThreatLabel(t){return l.#d[t]??`Injection blocked: ${t}`}rerender(){this.#c()}recordTelemetryFocus(){const t=this.#a;t.focusAt=Date.now(),t.blurAt=null,t.focusCount++;const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');t.lastInputLength=e?e.value.length:0}recordTelemetryInput(t){const e=this.#a,i=Date.now();e.firstKeystrokeAt===null&&(e.firstKeystrokeAt=i);const n=t.inputType??"";n==="insertFromPaste"||n==="insertFromPasteAsQuotation"?e.pasteDetected=!0:n==="insertReplacementText"?e.autofillDetected=!0:n.startsWith("delete")||n==="historyUndo"||n==="historyRedo"?e.correctionCount++:e.keyCount++;const r=t.target;r&&(e.lastInputLength=r.value.length)}recordTelemetryBlur(){const t=this.#a;t.blurAt=Date.now();const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');(e?e.value.length:0)===t.lastInputLength&&t.keyCount===0&&!t.pasteDetected&&t.blurWithoutChange++}getFieldTelemetry(){const t=this.#a,e=t.focusAt??Date.now(),i=t.firstKeystrokeAt,s=t.blurAt??Date.now(),n=i!==null?i-e:0,r=i!==null?s-i:0,a=r/1e3,o=a>0?t.keyCount/a:0;return{dwell:n,completionTime:r,velocity:Math.round(o*100)/100,corrections:t.correctionCount,pasteDetected:t.pasteDetected,autofillDetected:t.autofillDetected,focusCount:t.focusCount,blurWithoutChange:t.blurWithoutChange}}#m(){this.#a={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0}}disconnectedCallback(){this.#n={attempts:0,windowStart:Date.now()},this.#m(),this.#e.audit.logAccess&&this.#o("component_disconnected",{timestamp:new Date().toISOString()})}}l=h;var f=h;export{h as SecureBaseComponent,f as default};
@@ -1 +1 @@
1
- {"version":3,"file":"base-component.js","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-component.js","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,27 @@
23
23
  display: none;
24
24
  }
25
25
 
26
+ /* External error / warning injected by secure-form */
27
+ .external-error {
28
+ margin-block-start: var(--secure-ui-space-1, 0.25rem);
29
+ padding-block: var(--secure-ui-space-1, 0.25rem);
30
+ padding-inline: var(--secure-ui-space-2, 0.5rem);
31
+ font-size: var(--secure-ui-font-size-xs, 0.75rem);
32
+ border-radius: var(--secure-ui-border-radius-sm, 0.25rem);
33
+ border-inline-start: 3px solid currentColor;
34
+ }
35
+
36
+ .external-error:not([data-variant]),
37
+ .external-error[data-variant="error"] {
38
+ color: var(--secure-ui-color-error, #ef4444);
39
+ background-color: color-mix(in oklch, var(--secure-ui-color-error, #ef4444) 10%, transparent);
40
+ }
41
+
42
+ .external-error[data-variant="warning"] {
43
+ color: var(--secure-ui-color-warning, #f59e0b);
44
+ background-color: color-mix(in oklch, var(--secure-ui-color-warning, #f59e0b) 10%, transparent);
45
+ }
46
+
26
47
  .security-badge {
27
48
  display: inline-block;
28
49
  padding: var(--secure-ui-badge-padding, 2px 6px);
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "secure-ui-components",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Security-first web component library with zero dependencies",
5
5
  "type": "module",
6
6
  "main": "./index.js",