secure-ui-components 0.1.1 → 0.1.3

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 (48) hide show
  1. package/README.md +368 -38
  2. package/dist/components/secure-card/secure-card.css +427 -0
  3. package/dist/components/secure-card/secure-card.d.ts +73 -0
  4. package/dist/components/secure-card/secure-card.d.ts.map +1 -0
  5. package/dist/components/secure-card/secure-card.js +787 -0
  6. package/dist/components/secure-card/secure-card.js.map +1 -0
  7. package/dist/components/secure-datetime/secure-datetime.d.ts.map +1 -1
  8. package/dist/components/secure-datetime/secure-datetime.js +13 -22
  9. package/dist/components/secure-datetime/secure-datetime.js.map +1 -1
  10. package/dist/components/secure-file-upload/secure-file-upload.d.ts.map +1 -1
  11. package/dist/components/secure-file-upload/secure-file-upload.js +6 -17
  12. package/dist/components/secure-file-upload/secure-file-upload.js.map +1 -1
  13. package/dist/components/secure-form/secure-form.d.ts.map +1 -1
  14. package/dist/components/secure-form/secure-form.js +133 -16
  15. package/dist/components/secure-form/secure-form.js.map +1 -1
  16. package/dist/components/secure-input/secure-input.d.ts.map +1 -1
  17. package/dist/components/secure-input/secure-input.js +31 -26
  18. package/dist/components/secure-input/secure-input.js.map +1 -1
  19. package/dist/components/secure-select/secure-select.d.ts.map +1 -1
  20. package/dist/components/secure-select/secure-select.js +12 -20
  21. package/dist/components/secure-select/secure-select.js.map +1 -1
  22. package/dist/components/secure-submit-button/secure-submit-button.js +1 -1
  23. package/dist/components/secure-submit-button/secure-submit-button.js.map +1 -1
  24. package/dist/components/secure-table/secure-table.d.ts.map +1 -1
  25. package/dist/components/secure-table/secure-table.js +17 -16
  26. package/dist/components/secure-table/secure-table.js.map +1 -1
  27. package/dist/components/secure-telemetry-provider/secure-telemetry-provider.d.ts +63 -0
  28. package/dist/components/secure-telemetry-provider/secure-telemetry-provider.d.ts.map +1 -0
  29. package/dist/components/secure-telemetry-provider/secure-telemetry-provider.js +198 -0
  30. package/dist/components/secure-telemetry-provider/secure-telemetry-provider.js.map +1 -0
  31. package/dist/components/secure-textarea/secure-textarea.d.ts.map +1 -1
  32. package/dist/components/secure-textarea/secure-textarea.js +12 -20
  33. package/dist/components/secure-textarea/secure-textarea.js.map +1 -1
  34. package/dist/core/base-component.d.ts +23 -1
  35. package/dist/core/base-component.d.ts.map +1 -1
  36. package/dist/core/base-component.js +111 -0
  37. package/dist/core/base-component.js.map +1 -1
  38. package/dist/core/security-config.d.ts.map +1 -1
  39. package/dist/core/security-config.js +5 -21
  40. package/dist/core/security-config.js.map +1 -1
  41. package/dist/core/types.d.ts +129 -8
  42. package/dist/core/types.d.ts.map +1 -1
  43. package/dist/index.d.ts +3 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/package.json +4 -2
  48. package/package.json +13 -1
@@ -0,0 +1,198 @@
1
+ /**
2
+ * @fileoverview Secure Telemetry Provider
3
+ *
4
+ * An optional overlay component that wraps a <secure-form> and enriches
5
+ * every submission with a signed environmental signals envelope.
6
+ *
7
+ * Architecture
8
+ * ────────────
9
+ * <secure-telemetry-provider signing-key="...">
10
+ * <secure-form ...>
11
+ * ...
12
+ * </secure-form>
13
+ * </secure-telemetry-provider>
14
+ *
15
+ * What it does
16
+ * ────────────
17
+ * 1. Detects automation / headless browser characteristics at page load.
18
+ * 2. Monitors the DOM for unexpected script injection via MutationObserver.
19
+ * 3. Records mouse movement, keyboard activity, and pointer type.
20
+ * 4. On `secure-form-submit`, generates a nonce-stamped envelope signed
21
+ * with the provided key using SubtleCrypto (HMAC-SHA-256).
22
+ * 5. Injects the envelope as `_env` on the event's telemetry payload so the
23
+ * server can verify it server-side.
24
+ *
25
+ * Security Notes
26
+ * ────────────
27
+ * - The signing key set via `signing-key` attribute is a *symmetric* secret
28
+ * that MUST be kept server-side as well; it is used here only as a weak
29
+ * integrity hint to detect casual forgery, not as a cryptographic proof.
30
+ * - For stronger guarantees, rotate the key per-session via a server nonce
31
+ * endpoint and inject it via script, not as a static HTML attribute.
32
+ * - All signals are heuristic — a sufficiently motivated attacker can spoof
33
+ * them. The value is raising the cost of scripted attacks, not guaranteeing
34
+ * detection.
35
+ *
36
+ * @module secure-telemetry-provider
37
+ * @license MIT
38
+ */
39
+ // ── Component ─────────────────────────────────────────────────────────────────
40
+ export class SecureTelemetryProvider extends HTMLElement {
41
+ static get observedAttributes() {
42
+ return ['signing-key'];
43
+ }
44
+ #state = {
45
+ mouseMovementDetected: false,
46
+ keyboardActivityDetected: false,
47
+ injectedScriptCount: 0,
48
+ domMutationDetected: false,
49
+ pointerType: 'none',
50
+ };
51
+ #mutationObserver = null;
52
+ #knownScripts = new Set();
53
+ // Bound listener references so we can cleanly remove them
54
+ #onMouseMove = () => { this.#state.mouseMovementDetected = true; };
55
+ #onKeydown = () => { this.#state.keyboardActivityDetected = true; };
56
+ #onPointerDown = (e) => {
57
+ this.#state.pointerType = e.pointerType;
58
+ };
59
+ #onFormSubmit = (e) => { void this.#handleFormSubmit(e); };
60
+ connectedCallback() {
61
+ // Snapshot existing scripts so we can detect later injections
62
+ document.querySelectorAll('script').forEach(s => this.#knownScripts.add(s));
63
+ this.#startMutationObserver();
64
+ this.#attachListeners();
65
+ }
66
+ disconnectedCallback() {
67
+ this.#mutationObserver?.disconnect();
68
+ this.#mutationObserver = null;
69
+ this.#removeListeners();
70
+ }
71
+ // ── Mutation observer: detect script injection ──────────────────────────────
72
+ #startMutationObserver() {
73
+ this.#mutationObserver = new MutationObserver((mutations) => {
74
+ for (const mutation of mutations) {
75
+ if (mutation.type !== 'childList')
76
+ continue;
77
+ for (const node of Array.from(mutation.addedNodes)) {
78
+ if (node.tagName === 'SCRIPT' && !this.#knownScripts.has(node)) {
79
+ this.#state.injectedScriptCount++;
80
+ this.#state.domMutationDetected = true;
81
+ this.#knownScripts.add(node);
82
+ }
83
+ }
84
+ }
85
+ });
86
+ this.#mutationObserver.observe(document.documentElement, {
87
+ childList: true,
88
+ subtree: true,
89
+ });
90
+ }
91
+ // ── DOM event listeners ─────────────────────────────────────────────────────
92
+ #attachListeners() {
93
+ document.addEventListener('mousemove', this.#onMouseMove, { passive: true });
94
+ document.addEventListener('keydown', this.#onKeydown, { passive: true });
95
+ document.addEventListener('pointerdown', this.#onPointerDown, { passive: true });
96
+ this.addEventListener('secure-form-submit', this.#onFormSubmit);
97
+ }
98
+ #removeListeners() {
99
+ document.removeEventListener('mousemove', this.#onMouseMove);
100
+ document.removeEventListener('keydown', this.#onKeydown);
101
+ document.removeEventListener('pointerdown', this.#onPointerDown);
102
+ this.removeEventListener('secure-form-submit', this.#onFormSubmit);
103
+ }
104
+ // ── Signal collection ───────────────────────────────────────────────────────
105
+ /**
106
+ * Collect a point-in-time snapshot of all environmental signals.
107
+ */
108
+ collectSignals() {
109
+ const nav = navigator;
110
+ const webdriverDetected = nav['webdriver'] === true ||
111
+ Object.prototype.hasOwnProperty.call(nav, 'webdriver');
112
+ // Headless Chrome leaves traces in userAgent and missing APIs
113
+ const ua = navigator.userAgent;
114
+ const headlessDetected = ua.includes('HeadlessChrome') ||
115
+ ua.includes('Headless') ||
116
+ (typeof window['chrome'] === 'undefined' &&
117
+ ua.includes('Chrome'));
118
+ const suspiciousScreenSize = screen.width === 0 ||
119
+ screen.height === 0 ||
120
+ (screen.width < 100 && screen.height < 100);
121
+ // Devtools heuristic: console.log with a getter fires for each log call,
122
+ // so __defineGetter__ timing trick is the classic approach, but it's
123
+ // unreliable and triggers lint rules. We use a simple screen/outer check.
124
+ const devtoolsOpen = (window.outerWidth - window.innerWidth > 160) ||
125
+ (window.outerHeight - window.innerHeight > 160);
126
+ return {
127
+ webdriverDetected,
128
+ headlessDetected,
129
+ domMutationDetected: this.#state.domMutationDetected,
130
+ injectedScriptCount: this.#state.injectedScriptCount,
131
+ devtoolsOpen,
132
+ suspiciousScreenSize,
133
+ pointerType: this.#state.pointerType,
134
+ mouseMovementDetected: this.#state.mouseMovementDetected,
135
+ keyboardActivityDetected: this.#state.keyboardActivityDetected,
136
+ };
137
+ }
138
+ // ── Signing ─────────────────────────────────────────────────────────────────
139
+ /**
140
+ * Generate a signed envelope using HMAC-SHA-256 via SubtleCrypto.
141
+ * Falls back to an unsigned envelope if SubtleCrypto is unavailable
142
+ * (e.g., non-secure context in tests) — the server should treat
143
+ * unsigned envelopes with reduced trust.
144
+ */
145
+ async sign(signals) {
146
+ const nonce = this.#generateNonce();
147
+ const issuedAt = new Date().toISOString();
148
+ const signingKey = this.getAttribute('signing-key') ?? '';
149
+ const payload = `${nonce}.${issuedAt}.${JSON.stringify(signals)}`;
150
+ const signature = await this.#hmacSha256(signingKey, payload);
151
+ return { nonce, issuedAt, environment: signals, signature };
152
+ }
153
+ #generateNonce() {
154
+ const bytes = new Uint8Array(16);
155
+ crypto.getRandomValues(bytes);
156
+ return Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
157
+ }
158
+ async #hmacSha256(key, data) {
159
+ if (!crypto.subtle) {
160
+ // Non-secure context (HTTP in dev) — return empty signature
161
+ return '';
162
+ }
163
+ const enc = new TextEncoder();
164
+ const keyMaterial = await crypto.subtle.importKey('raw', enc.encode(key), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
165
+ const signatureBuffer = await crypto.subtle.sign('HMAC', keyMaterial, enc.encode(data));
166
+ return Array.from(new Uint8Array(signatureBuffer), b => b.toString(16).padStart(2, '0')).join('');
167
+ }
168
+ // ── Form submit interception ─────────────────────────────────────────────────
169
+ async #handleFormSubmit(event) {
170
+ const detail = event.detail;
171
+ if (!detail?.telemetry)
172
+ return;
173
+ try {
174
+ const signals = this.collectSignals();
175
+ const envelope = await this.sign(signals);
176
+ // Attach the signed envelope directly onto the telemetry object.
177
+ // Because both this handler and downstream listeners receive the same
178
+ // detail object reference, waiting listeners that check after an async
179
+ // tick will see the enriched value.
180
+ detail.telemetry._env = envelope;
181
+ }
182
+ catch {
183
+ // Signing failure (e.g. non-secure context) must not block form submission.
184
+ // The server should treat a missing _env as an unsigned, lower-trust submission.
185
+ }
186
+ }
187
+ // ── Public API ────────────────────────────────────────────────────────────────
188
+ /**
189
+ * Get the current environmental signals without triggering a form submit.
190
+ * Useful for pre-flight checks or progressive disclosure flows.
191
+ */
192
+ getEnvironmentalSignals() {
193
+ return this.collectSignals();
194
+ }
195
+ }
196
+ customElements.define('secure-telemetry-provider', SecureTelemetryProvider);
197
+ export default SecureTelemetryProvider;
198
+ //# sourceMappingURL=secure-telemetry-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-telemetry-provider.js","sourceRoot":"","sources":["../../../src/components/secure-telemetry-provider/secure-telemetry-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAkBH,iFAAiF;AAEjF,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAkB;QACtB,qBAAqB,EAAE,KAAK;QAC5B,wBAAwB,EAAE,KAAK;QAC/B,mBAAmB,EAAE,CAAC;QACtB,mBAAmB,EAAE,KAAK;QAC1B,WAAW,EAAE,MAAM;KACpB,CAAC;IAEF,iBAAiB,GAA4B,IAAI,CAAC;IAClD,aAAa,GAAc,IAAI,GAAG,EAAE,CAAC;IAErC,0DAA0D;IAC1D,YAAY,GAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,UAAU,GAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,cAAc,GAA8B,CAAC,CAAe,EAAE,EAAE;QAC9D,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,WAAwC,CAAC;IACvE,CAAC,CAAC;IACF,aAAa,GAAuB,CAAC,CAAQ,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,iBAAiB;QACf,8DAA8D;QAC9D,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,+EAA+E;IAE/E,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;oBAAE,SAAS;gBAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnD,IAAK,IAAgB,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5E,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;YACvD,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAE/E,gBAAgB;QACd,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAA+B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;QACd,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,cAA+B,CAAC,CAAC;QAClF,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,+EAA+E;IAE/E;;OAEG;IACH,cAAc;QACZ,MAAM,GAAG,GAAG,SAAgD,CAAC;QAE7D,MAAM,iBAAiB,GACrB,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI;YACzB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAEzD,8DAA8D;QAC9D,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;QAC/B,MAAM,gBAAgB,GACpB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC7B,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvB,CAAC,OAAQ,MAA6C,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAC9E,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3B,MAAM,oBAAoB,GACxB,MAAM,CAAC,KAAK,KAAK,CAAC;YAClB,MAAM,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAE9C,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,MAAM,YAAY,GAChB,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;YAC7C,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QAElD,OAAO;YACL,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACpD,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACpD,YAAY;YACZ,oBAAoB;YACpB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACxD,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB;SAC/D,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAE1D,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE9D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC;IAED,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,IAAY;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,4DAA4D;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EACf,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,gFAAgF;IAEhF,KAAK,CAAC,iBAAiB,CAAC,KAAY;QAClC,MAAM,MAAM,GAAI,KAAqB,CAAC,MAErC,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,SAAS;YAAE,OAAO;QAE/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1C,iEAAiE;YACjE,sEAAsE;YACtE,uEAAuE;YACvE,oCAAoC;YACpC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;YAC5E,iFAAiF;QACnF,CAAC;IACH,CAAC;IAED,iFAAiF;IAEjF;;;OAGG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;CACF;AAED,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAC;AAE5E,eAAe,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"secure-textarea.d.ts","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;;IA+BrD;;;;OAIG;IACH,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED;;OAEG;;IAKH;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IA+TzD;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmBtG;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,OAAO,CAkBnB;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAQ7B;AAKD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"secure-textarea.d.ts","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;;IA+BrD;;;;OAIG;IACH,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED;;OAEG;;IAKH;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAqTzD;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmBtG;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,OAAO,CAkBnB;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAQ7B;AAKD,eAAe,cAAc,CAAC"}
@@ -63,7 +63,7 @@ export class SecureTextarea extends SecureBaseComponent {
63
63
  * Unique ID for this textarea instance
64
64
  * @private
65
65
  */
66
- #instanceId = `secure-textarea-${Math.random().toString(36).substr(2, 9)}`;
66
+ #instanceId = `secure-textarea-${Math.random().toString(36).substring(2, 11)}`;
67
67
  /**
68
68
  * Observed attributes for this component
69
69
  *
@@ -101,39 +101,27 @@ export class SecureTextarea extends SecureBaseComponent {
101
101
  */
102
102
  render() {
103
103
  const fragment = document.createDocumentFragment();
104
- const config = this.config;
105
- // Create container
106
104
  const container = document.createElement('div');
107
105
  container.className = 'textarea-container';
106
+ container.setAttribute('part', 'container');
108
107
  // Create label
109
108
  const label = this.getAttribute('label');
110
109
  if (label) {
111
110
  this.#labelElement = document.createElement('label');
112
111
  this.#labelElement.htmlFor = this.#instanceId;
113
112
  this.#labelElement.textContent = this.sanitizeValue(label);
114
- // Add security tier suffix if configured
115
- if (config.ui.labelSuffix) {
116
- const suffix = document.createElement('span');
117
- suffix.className = 'label-suffix';
118
- suffix.textContent = config.ui.labelSuffix;
119
- this.#labelElement.appendChild(suffix);
120
- }
121
- // Add security badge if configured
122
- if (config.ui.showSecurityBadge) {
123
- const badge = document.createElement('span');
124
- badge.className = 'security-badge';
125
- badge.textContent = config.name;
126
- this.#labelElement.appendChild(badge);
127
- }
113
+ this.#labelElement.setAttribute('part', 'label');
128
114
  container.appendChild(this.#labelElement);
129
115
  }
130
116
  // Create textarea wrapper for progressive enhancement
131
117
  const textareaWrapper = document.createElement('div');
132
118
  textareaWrapper.className = 'textarea-wrapper';
119
+ textareaWrapper.setAttribute('part', 'wrapper');
133
120
  // Create the actual textarea element
134
121
  this.#textareaElement = document.createElement('textarea');
135
122
  this.#textareaElement.id = this.#instanceId;
136
123
  this.#textareaElement.className = 'textarea-field';
124
+ this.#textareaElement.setAttribute('part', 'textarea');
137
125
  // Apply attributes from web component to native textarea
138
126
  this.#applyTextareaAttributes();
139
127
  // Set up event listeners
@@ -150,6 +138,7 @@ export class SecureTextarea extends SecureBaseComponent {
150
138
  this.#errorContainer = document.createElement('div');
151
139
  this.#errorContainer.className = 'error-container hidden';
152
140
  this.#errorContainer.setAttribute('role', 'alert');
141
+ this.#errorContainer.setAttribute('part', 'error');
153
142
  this.#errorContainer.id = `${this.#instanceId}-error`;
154
143
  container.appendChild(this.#errorContainer);
155
144
  // Add component styles (CSP-compliant via adoptedStyleSheets)
@@ -237,18 +226,21 @@ export class SecureTextarea extends SecureBaseComponent {
237
226
  * @private
238
227
  */
239
228
  #attachEventListeners() {
240
- // Focus event - audit logging
229
+ // Focus event - audit logging + telemetry
241
230
  this.#textareaElement.addEventListener('focus', () => {
231
+ this.recordTelemetryFocus();
242
232
  this.audit('textarea_focused', {
243
233
  name: this.#textareaElement.name
244
234
  });
245
235
  });
246
- // Input event - real-time validation and character counting
236
+ // Input event - real-time validation and character counting + telemetry
247
237
  this.#textareaElement.addEventListener('input', (e) => {
238
+ this.recordTelemetryInput(e);
248
239
  this.#handleInput(e);
249
240
  });
250
- // Blur event - final validation
241
+ // Blur event - final validation + telemetry
251
242
  this.#textareaElement.addEventListener('blur', () => {
243
+ this.recordTelemetryBlur();
252
244
  this.#validateAndShowErrors();
253
245
  this.audit('textarea_blurred', {
254
246
  name: this.#textareaElement.name,
@@ -1 +1 @@
1
- {"version":3,"file":"secure-textarea.js","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-textarea.js","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  * @module base-component
17
17
  * @license MIT
18
18
  */
19
- import type { SecurityTierValue, TierConfig, ValidationResult, ValidationOptions, RateLimitResult, AuditLogEntry } from './types.js';
19
+ import type { SecurityTierValue, TierConfig, ValidationResult, ValidationOptions, RateLimitResult, AuditLogEntry, FieldTelemetry } from './types.js';
20
20
  /**
21
21
  * Base class for all Secure-UI components
22
22
  *
@@ -125,6 +125,28 @@ export declare abstract class SecureBaseComponent extends HTMLElement {
125
125
  * Force re-render of the component
126
126
  */
127
127
  protected rerender(): void;
128
+ /**
129
+ * Call from the field's `focus` event handler to start a telemetry session.
130
+ * @protected
131
+ */
132
+ protected recordTelemetryFocus(): void;
133
+ /**
134
+ * Call from the field's `input` event handler.
135
+ * Pass the native `InputEvent` so inputType can be inspected.
136
+ * @protected
137
+ */
138
+ protected recordTelemetryInput(event: Event): void;
139
+ /**
140
+ * Call from the field's `blur` event handler to finalise the telemetry session.
141
+ * @protected
142
+ */
143
+ protected recordTelemetryBlur(): void;
144
+ /**
145
+ * Returns computed behavioral signals for the current (or last completed)
146
+ * interaction session. Safe to include in server payloads — contains no
147
+ * raw field values or PII.
148
+ */
149
+ getFieldTelemetry(): FieldTelemetry;
128
150
  /**
129
151
  * Clean up when component is removed from DOM
130
152
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-component.d.ts","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,8BAAsB,mBAAoB,SAAQ,WAAW;;IAW3D;;;;;OAKG;;IAOH;;OAEG;IACH,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAcpC;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiB9F;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAsBxG;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOlD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAElE;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAoCzF;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,eAAe;IAiE3C;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACH,WAAW,IAAI,aAAa,EAAE;IAI9B;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInE;;OAEG;IACH,SAAS,CAAC,QAAQ,IAAI,IAAI;IAI1B;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAS7B;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"base-component.d.ts","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,8BAAsB,mBAAoB,SAAQ,WAAW;;IAuB3D;;;;;OAKG;;IAOH;;OAEG;IACH,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAcpC;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiB9F;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAsBxG;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIxC;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOlD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAElE;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAoCzF;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,eAAe;IAiE3C;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,iBAAiB,CAEpC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACH,WAAW,IAAI,aAAa,EAAE;IAI9B;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInE;;OAEG;IACH,SAAS,CAAC,QAAQ,IAAI,IAAI;IAM1B;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAYtC;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA8BlD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAarC;;;;OAIG;IACH,iBAAiB,IAAI,cAAc;IAsCnC;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAU7B;AAED,eAAe,mBAAmB,CAAC"}
@@ -39,6 +39,18 @@ export class SecureBaseComponent extends HTMLElement {
39
39
  windowStart: Date.now()
40
40
  };
41
41
  #initialized = false;
42
+ #telemetryState = {
43
+ focusAt: null,
44
+ firstKeystrokeAt: null,
45
+ blurAt: null,
46
+ keyCount: 0,
47
+ correctionCount: 0,
48
+ pasteDetected: false,
49
+ autofillDetected: false,
50
+ focusCount: 0,
51
+ blurWithoutChange: 0,
52
+ lastInputLength: 0,
53
+ };
42
54
  /**
43
55
  * Constructor
44
56
  *
@@ -287,11 +299,110 @@ export class SecureBaseComponent extends HTMLElement {
287
299
  rerender() {
288
300
  this.#render();
289
301
  }
302
+ // ── Telemetry collection ────────────────────────────────────────────────────
303
+ /**
304
+ * Call from the field's `focus` event handler to start a telemetry session.
305
+ * @protected
306
+ */
307
+ recordTelemetryFocus() {
308
+ const t = this.#telemetryState;
309
+ t.focusAt = Date.now();
310
+ t.blurAt = null;
311
+ t.focusCount++;
312
+ // snapshot input length at focus so we can detect blur-without-change
313
+ const el = this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');
314
+ t.lastInputLength = el ? el.value.length : 0;
315
+ }
316
+ /**
317
+ * Call from the field's `input` event handler.
318
+ * Pass the native `InputEvent` so inputType can be inspected.
319
+ * @protected
320
+ */
321
+ recordTelemetryInput(event) {
322
+ const t = this.#telemetryState;
323
+ const now = Date.now();
324
+ if (t.firstKeystrokeAt === null) {
325
+ t.firstKeystrokeAt = now;
326
+ }
327
+ const inputEvent = event;
328
+ const inputType = inputEvent.inputType ?? '';
329
+ if (inputType === 'insertFromPaste' || inputType === 'insertFromPasteAsQuotation') {
330
+ t.pasteDetected = true;
331
+ }
332
+ else if (inputType === 'insertReplacementText') {
333
+ // Browser autofill triggers this type
334
+ t.autofillDetected = true;
335
+ }
336
+ else if (inputType.startsWith('delete') ||
337
+ inputType === 'historyUndo' ||
338
+ inputType === 'historyRedo') {
339
+ t.correctionCount++;
340
+ }
341
+ else {
342
+ t.keyCount++;
343
+ }
344
+ const el = event.target;
345
+ if (el)
346
+ t.lastInputLength = el.value.length;
347
+ }
348
+ /**
349
+ * Call from the field's `blur` event handler to finalise the telemetry session.
350
+ * @protected
351
+ */
352
+ recordTelemetryBlur() {
353
+ const t = this.#telemetryState;
354
+ t.blurAt = Date.now();
355
+ const el = this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');
356
+ const currentLength = el ? el.value.length : 0;
357
+ if (currentLength === t.lastInputLength && t.keyCount === 0 && !t.pasteDetected) {
358
+ t.blurWithoutChange++;
359
+ }
360
+ }
361
+ /**
362
+ * Returns computed behavioral signals for the current (or last completed)
363
+ * interaction session. Safe to include in server payloads — contains no
364
+ * raw field values or PII.
365
+ */
366
+ getFieldTelemetry() {
367
+ const t = this.#telemetryState;
368
+ const focusAt = t.focusAt ?? Date.now();
369
+ const firstKeystrokeAt = t.firstKeystrokeAt;
370
+ const blurAt = t.blurAt ?? Date.now();
371
+ const dwell = firstKeystrokeAt !== null ? firstKeystrokeAt - focusAt : 0;
372
+ const completionTime = firstKeystrokeAt !== null ? blurAt - firstKeystrokeAt : 0;
373
+ const durationSec = completionTime / 1000;
374
+ const velocity = durationSec > 0 ? t.keyCount / durationSec : 0;
375
+ return {
376
+ dwell,
377
+ completionTime,
378
+ velocity: Math.round(velocity * 100) / 100,
379
+ corrections: t.correctionCount,
380
+ pasteDetected: t.pasteDetected,
381
+ autofillDetected: t.autofillDetected,
382
+ focusCount: t.focusCount,
383
+ blurWithoutChange: t.blurWithoutChange,
384
+ };
385
+ }
386
+ #resetTelemetryState() {
387
+ this.#telemetryState = {
388
+ focusAt: null,
389
+ firstKeystrokeAt: null,
390
+ blurAt: null,
391
+ keyCount: 0,
392
+ correctionCount: 0,
393
+ pasteDetected: false,
394
+ autofillDetected: false,
395
+ focusCount: 0,
396
+ blurWithoutChange: 0,
397
+ lastInputLength: 0,
398
+ };
399
+ }
290
400
  /**
291
401
  * Clean up when component is removed from DOM
292
402
  */
293
403
  disconnectedCallback() {
294
404
  this.#rateLimitState = { attempts: 0, windowStart: Date.now() };
405
+ this.#resetTelemetryState();
295
406
  if (this.#config.audit.logAccess) {
296
407
  this.#audit('component_disconnected', {
297
408
  timestamp: new Date().toISOString()
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"security-config.d.ts","sourceRoot":"","sources":["../../src/core/security-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,yEAAyE;;IAGzE,6FAA6F;;IAG7F,mFAAmF;;IAGnF,oEAAoE;;EAEpE,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAoJtE,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAOtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAiC3F,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,eAAe,CAMrD,CAAC;;;QAlQD,yEAAyE;;QAGzE,6FAA6F;;QAG7F,mFAAmF;;QAGnF,oEAAoE;;;;;;;;;;;AA2PtE,wBASE"}
1
+ {"version":3,"file":"security-config.d.ts","sourceRoot":"","sources":["../../src/core/security-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,yEAAyE;;IAGzE,6FAA6F;;IAG7F,mFAAmF;;IAGnF,oEAAoE;;EAEpE,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAoItE,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAOtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAiC3F,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,eAAe,CAMrD,CAAC;;;QAlPD,yEAAyE;;QAGzE,6FAA6F;;QAG7F,mFAAmF;;QAGnF,oEAAoE;;;;;;;;;;;AA2OtE,wBASE"}