@growth-labs/conformance 0.1.0 → 0.3.0

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/dist/schema.d.ts CHANGED
@@ -1,7 +1,19 @@
1
1
  import { z } from 'zod';
2
- export declare const EVIDENCE_SCHEMA_VERSION = "growth-labs.conformance.v1";
2
+ export declare const EVIDENCE_SCHEMA_VERSION = "growth-labs.conformance.v2";
3
+ export declare const REQUIRED_FUNCTIONAL_PROBE_NAMES: readonly ["oauth", "media", "images", "analytics", "embeds", "error-pages"];
3
4
  export declare const REQUIRED_NEGATIVE_FIXTURE_CODES: {
4
5
  readonly 'csp-unsafe-inline': "security.csp.unsafe_inline";
6
+ readonly 'missing-coop': "security.header.missing";
7
+ readonly 'missing-corp': "security.header.missing";
8
+ readonly 'hsts-below-one-year': "security.hsts.max_age_too_low";
9
+ readonly 'csp-wildcard-default-src': "security.csp.default_src_wildcard";
10
+ readonly 'csp-unsafe-eval': "security.csp.unsafe_eval";
11
+ readonly 'csp-inline-executable-without-nonce-or-hash': "security.csp.inline_executable_without_nonce_or_hash";
12
+ readonly 'csp-style-attr-inline-without-inventory': "security.csp.style_attr_inline_inventory_missing";
13
+ readonly 'conflicting-duplicate-security-header': "security.header.conflicting_values";
14
+ readonly 'missing-functional-probe-receipt': "security.functional_probe.missing";
15
+ readonly 'missing-csp-report-receipt': "security.csp_report.missing";
16
+ readonly 'failed-csp-report-receipt': "security.csp_report.failed";
5
17
  readonly 'headers-static-only-while-ssr-missing': "security.headers.static_only_for_ssr";
6
18
  readonly 'undeclared-na': "publication.na.undeclared";
7
19
  readonly 'stringified-is-accessible-for-free': "structured_data.is_accessible_for_free.stringified";
@@ -89,6 +101,194 @@ export declare const cacheVariantSchema: z.ZodObject<{
89
101
  contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
90
102
  vary?: string[] | undefined;
91
103
  }>;
104
+ export declare const securityFunctionalProbeReceiptSchema: z.ZodObject<{
105
+ name: z.ZodString;
106
+ status: z.ZodEnum<["pass", "fail", "na"]>;
107
+ checkedAt: z.ZodOptional<z.ZodString>;
108
+ evidence: z.ZodOptional<z.ZodString>;
109
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ name: string;
112
+ status: "pass" | "fail" | "na";
113
+ capabilityBoundary?: string | undefined;
114
+ evidence?: string | undefined;
115
+ checkedAt?: string | undefined;
116
+ }, {
117
+ name: string;
118
+ status: "pass" | "fail" | "na";
119
+ capabilityBoundary?: string | undefined;
120
+ evidence?: string | undefined;
121
+ checkedAt?: string | undefined;
122
+ }>;
123
+ export declare const cspReportReceiptSchema: z.ZodObject<{
124
+ name: z.ZodString;
125
+ status: z.ZodEnum<["pass", "fail", "na"]>;
126
+ checkedAt: z.ZodOptional<z.ZodString>;
127
+ evidence: z.ZodOptional<z.ZodString>;
128
+ endpoint: z.ZodOptional<z.ZodString>;
129
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ name: string;
132
+ status: "pass" | "fail" | "na";
133
+ capabilityBoundary?: string | undefined;
134
+ evidence?: string | undefined;
135
+ checkedAt?: string | undefined;
136
+ endpoint?: string | undefined;
137
+ }, {
138
+ name: string;
139
+ status: "pass" | "fail" | "na";
140
+ capabilityBoundary?: string | undefined;
141
+ evidence?: string | undefined;
142
+ checkedAt?: string | undefined;
143
+ endpoint?: string | undefined;
144
+ }>;
145
+ export declare const inlineStyleAttributeInventorySchema: z.ZodObject<{
146
+ commitSha: z.ZodString;
147
+ occurrenceCount: z.ZodNumber;
148
+ evidence: z.ZodObject<{
149
+ tool: z.ZodString;
150
+ outputHash: z.ZodString;
151
+ }, "strip", z.ZodTypeAny, {
152
+ tool: string;
153
+ outputHash: string;
154
+ }, {
155
+ tool: string;
156
+ outputHash: string;
157
+ }>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ evidence: {
160
+ tool: string;
161
+ outputHash: string;
162
+ };
163
+ commitSha: string;
164
+ occurrenceCount: number;
165
+ }, {
166
+ evidence: {
167
+ tool: string;
168
+ outputHash: string;
169
+ };
170
+ commitSha: string;
171
+ occurrenceCount: number;
172
+ }>;
173
+ export declare const securityReceiptsSchema: z.ZodDefault<z.ZodObject<{
174
+ functionalProbes: z.ZodDefault<z.ZodArray<z.ZodObject<{
175
+ name: z.ZodString;
176
+ status: z.ZodEnum<["pass", "fail", "na"]>;
177
+ checkedAt: z.ZodOptional<z.ZodString>;
178
+ evidence: z.ZodOptional<z.ZodString>;
179
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
180
+ }, "strip", z.ZodTypeAny, {
181
+ name: string;
182
+ status: "pass" | "fail" | "na";
183
+ capabilityBoundary?: string | undefined;
184
+ evidence?: string | undefined;
185
+ checkedAt?: string | undefined;
186
+ }, {
187
+ name: string;
188
+ status: "pass" | "fail" | "na";
189
+ capabilityBoundary?: string | undefined;
190
+ evidence?: string | undefined;
191
+ checkedAt?: string | undefined;
192
+ }>, "many">>;
193
+ cspReports: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
+ name: z.ZodString;
195
+ status: z.ZodEnum<["pass", "fail", "na"]>;
196
+ checkedAt: z.ZodOptional<z.ZodString>;
197
+ evidence: z.ZodOptional<z.ZodString>;
198
+ endpoint: z.ZodOptional<z.ZodString>;
199
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ name: string;
202
+ status: "pass" | "fail" | "na";
203
+ capabilityBoundary?: string | undefined;
204
+ evidence?: string | undefined;
205
+ checkedAt?: string | undefined;
206
+ endpoint?: string | undefined;
207
+ }, {
208
+ name: string;
209
+ status: "pass" | "fail" | "na";
210
+ capabilityBoundary?: string | undefined;
211
+ evidence?: string | undefined;
212
+ checkedAt?: string | undefined;
213
+ endpoint?: string | undefined;
214
+ }>, "many">>;
215
+ inlineStyleAttributes: z.ZodOptional<z.ZodObject<{
216
+ commitSha: z.ZodString;
217
+ occurrenceCount: z.ZodNumber;
218
+ evidence: z.ZodObject<{
219
+ tool: z.ZodString;
220
+ outputHash: z.ZodString;
221
+ }, "strip", z.ZodTypeAny, {
222
+ tool: string;
223
+ outputHash: string;
224
+ }, {
225
+ tool: string;
226
+ outputHash: string;
227
+ }>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ evidence: {
230
+ tool: string;
231
+ outputHash: string;
232
+ };
233
+ commitSha: string;
234
+ occurrenceCount: number;
235
+ }, {
236
+ evidence: {
237
+ tool: string;
238
+ outputHash: string;
239
+ };
240
+ commitSha: string;
241
+ occurrenceCount: number;
242
+ }>>;
243
+ }, "strip", z.ZodTypeAny, {
244
+ functionalProbes: {
245
+ name: string;
246
+ status: "pass" | "fail" | "na";
247
+ capabilityBoundary?: string | undefined;
248
+ evidence?: string | undefined;
249
+ checkedAt?: string | undefined;
250
+ }[];
251
+ cspReports: {
252
+ name: string;
253
+ status: "pass" | "fail" | "na";
254
+ capabilityBoundary?: string | undefined;
255
+ evidence?: string | undefined;
256
+ checkedAt?: string | undefined;
257
+ endpoint?: string | undefined;
258
+ }[];
259
+ inlineStyleAttributes?: {
260
+ evidence: {
261
+ tool: string;
262
+ outputHash: string;
263
+ };
264
+ commitSha: string;
265
+ occurrenceCount: number;
266
+ } | undefined;
267
+ }, {
268
+ functionalProbes?: {
269
+ name: string;
270
+ status: "pass" | "fail" | "na";
271
+ capabilityBoundary?: string | undefined;
272
+ evidence?: string | undefined;
273
+ checkedAt?: string | undefined;
274
+ }[] | undefined;
275
+ cspReports?: {
276
+ name: string;
277
+ status: "pass" | "fail" | "na";
278
+ capabilityBoundary?: string | undefined;
279
+ evidence?: string | undefined;
280
+ checkedAt?: string | undefined;
281
+ endpoint?: string | undefined;
282
+ }[] | undefined;
283
+ inlineStyleAttributes?: {
284
+ evidence: {
285
+ tool: string;
286
+ outputHash: string;
287
+ };
288
+ commitSha: string;
289
+ occurrenceCount: number;
290
+ } | undefined;
291
+ }>>;
92
292
  export declare const buildEvidenceSchema: z.ZodObject<{
93
293
  commitSha: z.ZodOptional<z.ZodString>;
94
294
  artifactId: z.ZodOptional<z.ZodString>;
@@ -115,14 +315,38 @@ export declare const conformanceExpectedSchema: z.ZodObject<{
115
315
  canonicalUrl: z.ZodOptional<z.ZodString>;
116
316
  schemaTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
117
317
  discoverEligible: z.ZodDefault<z.ZodBoolean>;
318
+ framePolicy: z.ZodDefault<z.ZodEffects<z.ZodObject<{
319
+ ancestors: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">, string[], string[]>;
320
+ legacyHeader: z.ZodEnum<["DENY", "SAMEORIGIN", "omit"]>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ ancestors: string[];
323
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
324
+ }, {
325
+ ancestors: string[];
326
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
327
+ }>, {
328
+ ancestors: string[];
329
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
330
+ }, {
331
+ ancestors: string[];
332
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
333
+ }>>;
118
334
  }, "strip", z.ZodTypeAny, {
119
335
  schemaTypes: string[];
120
336
  discoverEligible: boolean;
337
+ framePolicy: {
338
+ ancestors: string[];
339
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
340
+ };
121
341
  canonicalUrl?: string | undefined;
122
342
  }, {
123
343
  canonicalUrl?: string | undefined;
124
344
  schemaTypes?: string[] | undefined;
125
345
  discoverEligible?: boolean | undefined;
346
+ framePolicy?: {
347
+ ancestors: string[];
348
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
349
+ } | undefined;
126
350
  }>;
127
351
  export declare const conformanceFixtureSchema: z.ZodObject<{
128
352
  id: z.ZodString;
@@ -154,14 +378,38 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
154
378
  canonicalUrl: z.ZodOptional<z.ZodString>;
155
379
  schemaTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
156
380
  discoverEligible: z.ZodDefault<z.ZodBoolean>;
381
+ framePolicy: z.ZodDefault<z.ZodEffects<z.ZodObject<{
382
+ ancestors: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">, string[], string[]>;
383
+ legacyHeader: z.ZodEnum<["DENY", "SAMEORIGIN", "omit"]>;
384
+ }, "strip", z.ZodTypeAny, {
385
+ ancestors: string[];
386
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
387
+ }, {
388
+ ancestors: string[];
389
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
390
+ }>, {
391
+ ancestors: string[];
392
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
393
+ }, {
394
+ ancestors: string[];
395
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
396
+ }>>;
157
397
  }, "strip", z.ZodTypeAny, {
158
398
  schemaTypes: string[];
159
399
  discoverEligible: boolean;
400
+ framePolicy: {
401
+ ancestors: string[];
402
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
403
+ };
160
404
  canonicalUrl?: string | undefined;
161
405
  }, {
162
406
  canonicalUrl?: string | undefined;
163
407
  schemaTypes?: string[] | undefined;
164
408
  discoverEligible?: boolean | undefined;
409
+ framePolicy?: {
410
+ ancestors: string[];
411
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
412
+ } | undefined;
165
413
  }>>;
166
414
  publicationSurfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
167
415
  name: z.ZodString;
@@ -213,6 +461,125 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
213
461
  contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
214
462
  vary?: string[] | undefined;
215
463
  }>, "many">>;
464
+ securityReceipts: z.ZodDefault<z.ZodObject<{
465
+ functionalProbes: z.ZodDefault<z.ZodArray<z.ZodObject<{
466
+ name: z.ZodString;
467
+ status: z.ZodEnum<["pass", "fail", "na"]>;
468
+ checkedAt: z.ZodOptional<z.ZodString>;
469
+ evidence: z.ZodOptional<z.ZodString>;
470
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
471
+ }, "strip", z.ZodTypeAny, {
472
+ name: string;
473
+ status: "pass" | "fail" | "na";
474
+ capabilityBoundary?: string | undefined;
475
+ evidence?: string | undefined;
476
+ checkedAt?: string | undefined;
477
+ }, {
478
+ name: string;
479
+ status: "pass" | "fail" | "na";
480
+ capabilityBoundary?: string | undefined;
481
+ evidence?: string | undefined;
482
+ checkedAt?: string | undefined;
483
+ }>, "many">>;
484
+ cspReports: z.ZodDefault<z.ZodArray<z.ZodObject<{
485
+ name: z.ZodString;
486
+ status: z.ZodEnum<["pass", "fail", "na"]>;
487
+ checkedAt: z.ZodOptional<z.ZodString>;
488
+ evidence: z.ZodOptional<z.ZodString>;
489
+ endpoint: z.ZodOptional<z.ZodString>;
490
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
491
+ }, "strip", z.ZodTypeAny, {
492
+ name: string;
493
+ status: "pass" | "fail" | "na";
494
+ capabilityBoundary?: string | undefined;
495
+ evidence?: string | undefined;
496
+ checkedAt?: string | undefined;
497
+ endpoint?: string | undefined;
498
+ }, {
499
+ name: string;
500
+ status: "pass" | "fail" | "na";
501
+ capabilityBoundary?: string | undefined;
502
+ evidence?: string | undefined;
503
+ checkedAt?: string | undefined;
504
+ endpoint?: string | undefined;
505
+ }>, "many">>;
506
+ inlineStyleAttributes: z.ZodOptional<z.ZodObject<{
507
+ commitSha: z.ZodString;
508
+ occurrenceCount: z.ZodNumber;
509
+ evidence: z.ZodObject<{
510
+ tool: z.ZodString;
511
+ outputHash: z.ZodString;
512
+ }, "strip", z.ZodTypeAny, {
513
+ tool: string;
514
+ outputHash: string;
515
+ }, {
516
+ tool: string;
517
+ outputHash: string;
518
+ }>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ evidence: {
521
+ tool: string;
522
+ outputHash: string;
523
+ };
524
+ commitSha: string;
525
+ occurrenceCount: number;
526
+ }, {
527
+ evidence: {
528
+ tool: string;
529
+ outputHash: string;
530
+ };
531
+ commitSha: string;
532
+ occurrenceCount: number;
533
+ }>>;
534
+ }, "strip", z.ZodTypeAny, {
535
+ functionalProbes: {
536
+ name: string;
537
+ status: "pass" | "fail" | "na";
538
+ capabilityBoundary?: string | undefined;
539
+ evidence?: string | undefined;
540
+ checkedAt?: string | undefined;
541
+ }[];
542
+ cspReports: {
543
+ name: string;
544
+ status: "pass" | "fail" | "na";
545
+ capabilityBoundary?: string | undefined;
546
+ evidence?: string | undefined;
547
+ checkedAt?: string | undefined;
548
+ endpoint?: string | undefined;
549
+ }[];
550
+ inlineStyleAttributes?: {
551
+ evidence: {
552
+ tool: string;
553
+ outputHash: string;
554
+ };
555
+ commitSha: string;
556
+ occurrenceCount: number;
557
+ } | undefined;
558
+ }, {
559
+ functionalProbes?: {
560
+ name: string;
561
+ status: "pass" | "fail" | "na";
562
+ capabilityBoundary?: string | undefined;
563
+ evidence?: string | undefined;
564
+ checkedAt?: string | undefined;
565
+ }[] | undefined;
566
+ cspReports?: {
567
+ name: string;
568
+ status: "pass" | "fail" | "na";
569
+ capabilityBoundary?: string | undefined;
570
+ evidence?: string | undefined;
571
+ checkedAt?: string | undefined;
572
+ endpoint?: string | undefined;
573
+ }[] | undefined;
574
+ inlineStyleAttributes?: {
575
+ evidence: {
576
+ tool: string;
577
+ outputHash: string;
578
+ };
579
+ commitSha: string;
580
+ occurrenceCount: number;
581
+ } | undefined;
582
+ }>>;
216
583
  buildEvidence: z.ZodOptional<z.ZodObject<{
217
584
  commitSha: z.ZodOptional<z.ZodString>;
218
585
  artifactId: z.ZodOptional<z.ZodString>;
@@ -241,6 +608,10 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
241
608
  expected: {
242
609
  schemaTypes: string[];
243
610
  discoverEligible: boolean;
611
+ framePolicy: {
612
+ ancestors: string[];
613
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
614
+ };
244
615
  canonicalUrl?: string | undefined;
245
616
  };
246
617
  audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
@@ -273,6 +644,31 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
273
644
  vary: string[];
274
645
  url?: string | undefined;
275
646
  }[];
647
+ securityReceipts: {
648
+ functionalProbes: {
649
+ name: string;
650
+ status: "pass" | "fail" | "na";
651
+ capabilityBoundary?: string | undefined;
652
+ evidence?: string | undefined;
653
+ checkedAt?: string | undefined;
654
+ }[];
655
+ cspReports: {
656
+ name: string;
657
+ status: "pass" | "fail" | "na";
658
+ capabilityBoundary?: string | undefined;
659
+ evidence?: string | undefined;
660
+ checkedAt?: string | undefined;
661
+ endpoint?: string | undefined;
662
+ }[];
663
+ inlineStyleAttributes?: {
664
+ evidence: {
665
+ tool: string;
666
+ outputHash: string;
667
+ };
668
+ commitSha: string;
669
+ occurrenceCount: number;
670
+ } | undefined;
671
+ };
276
672
  buildEvidence?: {
277
673
  packageVersions: Record<string, string>;
278
674
  staticHeaderPolicy: boolean;
@@ -299,6 +695,10 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
299
695
  canonicalUrl?: string | undefined;
300
696
  schemaTypes?: string[] | undefined;
301
697
  discoverEligible?: boolean | undefined;
698
+ framePolicy?: {
699
+ ancestors: string[];
700
+ legacyHeader: "DENY" | "SAMEORIGIN" | "omit";
701
+ } | undefined;
302
702
  } | undefined;
303
703
  environment?: string | undefined;
304
704
  publicationSurfaces?: {
@@ -319,6 +719,31 @@ export declare const conformanceFixtureSchema: z.ZodObject<{
319
719
  contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
320
720
  vary?: string[] | undefined;
321
721
  }[] | undefined;
722
+ securityReceipts?: {
723
+ functionalProbes?: {
724
+ name: string;
725
+ status: "pass" | "fail" | "na";
726
+ capabilityBoundary?: string | undefined;
727
+ evidence?: string | undefined;
728
+ checkedAt?: string | undefined;
729
+ }[] | undefined;
730
+ cspReports?: {
731
+ name: string;
732
+ status: "pass" | "fail" | "na";
733
+ capabilityBoundary?: string | undefined;
734
+ evidence?: string | undefined;
735
+ checkedAt?: string | undefined;
736
+ endpoint?: string | undefined;
737
+ }[] | undefined;
738
+ inlineStyleAttributes?: {
739
+ evidence: {
740
+ tool: string;
741
+ outputHash: string;
742
+ };
743
+ commitSha: string;
744
+ occurrenceCount: number;
745
+ } | undefined;
746
+ } | undefined;
322
747
  buildEvidence?: {
323
748
  commitSha?: string | undefined;
324
749
  artifactId?: string | undefined;
@@ -416,7 +841,7 @@ export declare const evidenceSummarySchema: z.ZodObject<{
416
841
  findings: number;
417
842
  }>;
418
843
  export declare const siteEvidenceBundleSchema: z.ZodObject<{
419
- schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
844
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v2">;
420
845
  generatedAt: z.ZodString;
421
846
  fixtureId: z.ZodString;
422
847
  site: z.ZodString;
@@ -509,12 +934,156 @@ export declare const siteEvidenceBundleSchema: z.ZodObject<{
509
934
  evidence?: string | undefined;
510
935
  remediation?: string | undefined;
511
936
  }>, "many">;
937
+ securityReceipts: z.ZodDefault<z.ZodObject<{
938
+ functionalProbes: z.ZodDefault<z.ZodArray<z.ZodObject<{
939
+ name: z.ZodString;
940
+ status: z.ZodEnum<["pass", "fail", "na"]>;
941
+ checkedAt: z.ZodOptional<z.ZodString>;
942
+ evidence: z.ZodOptional<z.ZodString>;
943
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
944
+ }, "strip", z.ZodTypeAny, {
945
+ name: string;
946
+ status: "pass" | "fail" | "na";
947
+ capabilityBoundary?: string | undefined;
948
+ evidence?: string | undefined;
949
+ checkedAt?: string | undefined;
950
+ }, {
951
+ name: string;
952
+ status: "pass" | "fail" | "na";
953
+ capabilityBoundary?: string | undefined;
954
+ evidence?: string | undefined;
955
+ checkedAt?: string | undefined;
956
+ }>, "many">>;
957
+ cspReports: z.ZodDefault<z.ZodArray<z.ZodObject<{
958
+ name: z.ZodString;
959
+ status: z.ZodEnum<["pass", "fail", "na"]>;
960
+ checkedAt: z.ZodOptional<z.ZodString>;
961
+ evidence: z.ZodOptional<z.ZodString>;
962
+ endpoint: z.ZodOptional<z.ZodString>;
963
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
964
+ }, "strip", z.ZodTypeAny, {
965
+ name: string;
966
+ status: "pass" | "fail" | "na";
967
+ capabilityBoundary?: string | undefined;
968
+ evidence?: string | undefined;
969
+ checkedAt?: string | undefined;
970
+ endpoint?: string | undefined;
971
+ }, {
972
+ name: string;
973
+ status: "pass" | "fail" | "na";
974
+ capabilityBoundary?: string | undefined;
975
+ evidence?: string | undefined;
976
+ checkedAt?: string | undefined;
977
+ endpoint?: string | undefined;
978
+ }>, "many">>;
979
+ inlineStyleAttributes: z.ZodOptional<z.ZodObject<{
980
+ commitSha: z.ZodString;
981
+ occurrenceCount: z.ZodNumber;
982
+ evidence: z.ZodObject<{
983
+ tool: z.ZodString;
984
+ outputHash: z.ZodString;
985
+ }, "strip", z.ZodTypeAny, {
986
+ tool: string;
987
+ outputHash: string;
988
+ }, {
989
+ tool: string;
990
+ outputHash: string;
991
+ }>;
992
+ }, "strip", z.ZodTypeAny, {
993
+ evidence: {
994
+ tool: string;
995
+ outputHash: string;
996
+ };
997
+ commitSha: string;
998
+ occurrenceCount: number;
999
+ }, {
1000
+ evidence: {
1001
+ tool: string;
1002
+ outputHash: string;
1003
+ };
1004
+ commitSha: string;
1005
+ occurrenceCount: number;
1006
+ }>>;
1007
+ }, "strip", z.ZodTypeAny, {
1008
+ functionalProbes: {
1009
+ name: string;
1010
+ status: "pass" | "fail" | "na";
1011
+ capabilityBoundary?: string | undefined;
1012
+ evidence?: string | undefined;
1013
+ checkedAt?: string | undefined;
1014
+ }[];
1015
+ cspReports: {
1016
+ name: string;
1017
+ status: "pass" | "fail" | "na";
1018
+ capabilityBoundary?: string | undefined;
1019
+ evidence?: string | undefined;
1020
+ checkedAt?: string | undefined;
1021
+ endpoint?: string | undefined;
1022
+ }[];
1023
+ inlineStyleAttributes?: {
1024
+ evidence: {
1025
+ tool: string;
1026
+ outputHash: string;
1027
+ };
1028
+ commitSha: string;
1029
+ occurrenceCount: number;
1030
+ } | undefined;
1031
+ }, {
1032
+ functionalProbes?: {
1033
+ name: string;
1034
+ status: "pass" | "fail" | "na";
1035
+ capabilityBoundary?: string | undefined;
1036
+ evidence?: string | undefined;
1037
+ checkedAt?: string | undefined;
1038
+ }[] | undefined;
1039
+ cspReports?: {
1040
+ name: string;
1041
+ status: "pass" | "fail" | "na";
1042
+ capabilityBoundary?: string | undefined;
1043
+ evidence?: string | undefined;
1044
+ checkedAt?: string | undefined;
1045
+ endpoint?: string | undefined;
1046
+ }[] | undefined;
1047
+ inlineStyleAttributes?: {
1048
+ evidence: {
1049
+ tool: string;
1050
+ outputHash: string;
1051
+ };
1052
+ commitSha: string;
1053
+ occurrenceCount: number;
1054
+ } | undefined;
1055
+ }>>;
512
1056
  }, "strip", z.ZodTypeAny, {
513
1057
  url: string;
514
1058
  status: "pass" | "fail";
515
1059
  generatedAt: string;
516
1060
  site: string;
517
1061
  environment: string;
1062
+ securityReceipts: {
1063
+ functionalProbes: {
1064
+ name: string;
1065
+ status: "pass" | "fail" | "na";
1066
+ capabilityBoundary?: string | undefined;
1067
+ evidence?: string | undefined;
1068
+ checkedAt?: string | undefined;
1069
+ }[];
1070
+ cspReports: {
1071
+ name: string;
1072
+ status: "pass" | "fail" | "na";
1073
+ capabilityBoundary?: string | undefined;
1074
+ evidence?: string | undefined;
1075
+ checkedAt?: string | undefined;
1076
+ endpoint?: string | undefined;
1077
+ }[];
1078
+ inlineStyleAttributes?: {
1079
+ evidence: {
1080
+ tool: string;
1081
+ outputHash: string;
1082
+ };
1083
+ commitSha: string;
1084
+ occurrenceCount: number;
1085
+ } | undefined;
1086
+ };
518
1087
  findings: {
519
1088
  code: string;
520
1089
  message: string;
@@ -523,7 +1092,7 @@ export declare const siteEvidenceBundleSchema: z.ZodObject<{
523
1092
  evidence?: string | undefined;
524
1093
  remediation?: string | undefined;
525
1094
  }[];
526
- schemaVersion: "growth-labs.conformance.v1";
1095
+ schemaVersion: "growth-labs.conformance.v2";
527
1096
  fixtureId: string;
528
1097
  summary: {
529
1098
  pass: number;
@@ -557,7 +1126,7 @@ export declare const siteEvidenceBundleSchema: z.ZodObject<{
557
1126
  evidence?: string | undefined;
558
1127
  remediation?: string | undefined;
559
1128
  }[];
560
- schemaVersion: "growth-labs.conformance.v1";
1129
+ schemaVersion: "growth-labs.conformance.v2";
561
1130
  fixtureId: string;
562
1131
  summary: {
563
1132
  pass: number;
@@ -577,9 +1146,34 @@ export declare const siteEvidenceBundleSchema: z.ZodObject<{
577
1146
  remediation?: string | undefined;
578
1147
  }[];
579
1148
  }[];
1149
+ securityReceipts?: {
1150
+ functionalProbes?: {
1151
+ name: string;
1152
+ status: "pass" | "fail" | "na";
1153
+ capabilityBoundary?: string | undefined;
1154
+ evidence?: string | undefined;
1155
+ checkedAt?: string | undefined;
1156
+ }[] | undefined;
1157
+ cspReports?: {
1158
+ name: string;
1159
+ status: "pass" | "fail" | "na";
1160
+ capabilityBoundary?: string | undefined;
1161
+ evidence?: string | undefined;
1162
+ checkedAt?: string | undefined;
1163
+ endpoint?: string | undefined;
1164
+ }[] | undefined;
1165
+ inlineStyleAttributes?: {
1166
+ evidence: {
1167
+ tool: string;
1168
+ outputHash: string;
1169
+ };
1170
+ commitSha: string;
1171
+ occurrenceCount: number;
1172
+ } | undefined;
1173
+ } | undefined;
580
1174
  }>;
581
1175
  export declare const fleetEvidenceBundleSchema: z.ZodObject<{
582
- schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
1176
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v2">;
583
1177
  generatedAt: z.ZodString;
584
1178
  status: z.ZodEnum<["pass", "fail"]>;
585
1179
  summary: z.ZodObject<{
@@ -603,7 +1197,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
603
1197
  sites: number;
604
1198
  }>;
605
1199
  sites: z.ZodArray<z.ZodObject<{
606
- schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
1200
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v2">;
607
1201
  generatedAt: z.ZodString;
608
1202
  fixtureId: z.ZodString;
609
1203
  site: z.ZodString;
@@ -696,12 +1290,156 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
696
1290
  evidence?: string | undefined;
697
1291
  remediation?: string | undefined;
698
1292
  }>, "many">;
1293
+ securityReceipts: z.ZodDefault<z.ZodObject<{
1294
+ functionalProbes: z.ZodDefault<z.ZodArray<z.ZodObject<{
1295
+ name: z.ZodString;
1296
+ status: z.ZodEnum<["pass", "fail", "na"]>;
1297
+ checkedAt: z.ZodOptional<z.ZodString>;
1298
+ evidence: z.ZodOptional<z.ZodString>;
1299
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
1300
+ }, "strip", z.ZodTypeAny, {
1301
+ name: string;
1302
+ status: "pass" | "fail" | "na";
1303
+ capabilityBoundary?: string | undefined;
1304
+ evidence?: string | undefined;
1305
+ checkedAt?: string | undefined;
1306
+ }, {
1307
+ name: string;
1308
+ status: "pass" | "fail" | "na";
1309
+ capabilityBoundary?: string | undefined;
1310
+ evidence?: string | undefined;
1311
+ checkedAt?: string | undefined;
1312
+ }>, "many">>;
1313
+ cspReports: z.ZodDefault<z.ZodArray<z.ZodObject<{
1314
+ name: z.ZodString;
1315
+ status: z.ZodEnum<["pass", "fail", "na"]>;
1316
+ checkedAt: z.ZodOptional<z.ZodString>;
1317
+ evidence: z.ZodOptional<z.ZodString>;
1318
+ endpoint: z.ZodOptional<z.ZodString>;
1319
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
1320
+ }, "strip", z.ZodTypeAny, {
1321
+ name: string;
1322
+ status: "pass" | "fail" | "na";
1323
+ capabilityBoundary?: string | undefined;
1324
+ evidence?: string | undefined;
1325
+ checkedAt?: string | undefined;
1326
+ endpoint?: string | undefined;
1327
+ }, {
1328
+ name: string;
1329
+ status: "pass" | "fail" | "na";
1330
+ capabilityBoundary?: string | undefined;
1331
+ evidence?: string | undefined;
1332
+ checkedAt?: string | undefined;
1333
+ endpoint?: string | undefined;
1334
+ }>, "many">>;
1335
+ inlineStyleAttributes: z.ZodOptional<z.ZodObject<{
1336
+ commitSha: z.ZodString;
1337
+ occurrenceCount: z.ZodNumber;
1338
+ evidence: z.ZodObject<{
1339
+ tool: z.ZodString;
1340
+ outputHash: z.ZodString;
1341
+ }, "strip", z.ZodTypeAny, {
1342
+ tool: string;
1343
+ outputHash: string;
1344
+ }, {
1345
+ tool: string;
1346
+ outputHash: string;
1347
+ }>;
1348
+ }, "strip", z.ZodTypeAny, {
1349
+ evidence: {
1350
+ tool: string;
1351
+ outputHash: string;
1352
+ };
1353
+ commitSha: string;
1354
+ occurrenceCount: number;
1355
+ }, {
1356
+ evidence: {
1357
+ tool: string;
1358
+ outputHash: string;
1359
+ };
1360
+ commitSha: string;
1361
+ occurrenceCount: number;
1362
+ }>>;
1363
+ }, "strip", z.ZodTypeAny, {
1364
+ functionalProbes: {
1365
+ name: string;
1366
+ status: "pass" | "fail" | "na";
1367
+ capabilityBoundary?: string | undefined;
1368
+ evidence?: string | undefined;
1369
+ checkedAt?: string | undefined;
1370
+ }[];
1371
+ cspReports: {
1372
+ name: string;
1373
+ status: "pass" | "fail" | "na";
1374
+ capabilityBoundary?: string | undefined;
1375
+ evidence?: string | undefined;
1376
+ checkedAt?: string | undefined;
1377
+ endpoint?: string | undefined;
1378
+ }[];
1379
+ inlineStyleAttributes?: {
1380
+ evidence: {
1381
+ tool: string;
1382
+ outputHash: string;
1383
+ };
1384
+ commitSha: string;
1385
+ occurrenceCount: number;
1386
+ } | undefined;
1387
+ }, {
1388
+ functionalProbes?: {
1389
+ name: string;
1390
+ status: "pass" | "fail" | "na";
1391
+ capabilityBoundary?: string | undefined;
1392
+ evidence?: string | undefined;
1393
+ checkedAt?: string | undefined;
1394
+ }[] | undefined;
1395
+ cspReports?: {
1396
+ name: string;
1397
+ status: "pass" | "fail" | "na";
1398
+ capabilityBoundary?: string | undefined;
1399
+ evidence?: string | undefined;
1400
+ checkedAt?: string | undefined;
1401
+ endpoint?: string | undefined;
1402
+ }[] | undefined;
1403
+ inlineStyleAttributes?: {
1404
+ evidence: {
1405
+ tool: string;
1406
+ outputHash: string;
1407
+ };
1408
+ commitSha: string;
1409
+ occurrenceCount: number;
1410
+ } | undefined;
1411
+ }>>;
699
1412
  }, "strip", z.ZodTypeAny, {
700
1413
  url: string;
701
1414
  status: "pass" | "fail";
702
1415
  generatedAt: string;
703
1416
  site: string;
704
1417
  environment: string;
1418
+ securityReceipts: {
1419
+ functionalProbes: {
1420
+ name: string;
1421
+ status: "pass" | "fail" | "na";
1422
+ capabilityBoundary?: string | undefined;
1423
+ evidence?: string | undefined;
1424
+ checkedAt?: string | undefined;
1425
+ }[];
1426
+ cspReports: {
1427
+ name: string;
1428
+ status: "pass" | "fail" | "na";
1429
+ capabilityBoundary?: string | undefined;
1430
+ evidence?: string | undefined;
1431
+ checkedAt?: string | undefined;
1432
+ endpoint?: string | undefined;
1433
+ }[];
1434
+ inlineStyleAttributes?: {
1435
+ evidence: {
1436
+ tool: string;
1437
+ outputHash: string;
1438
+ };
1439
+ commitSha: string;
1440
+ occurrenceCount: number;
1441
+ } | undefined;
1442
+ };
705
1443
  findings: {
706
1444
  code: string;
707
1445
  message: string;
@@ -710,7 +1448,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
710
1448
  evidence?: string | undefined;
711
1449
  remediation?: string | undefined;
712
1450
  }[];
713
- schemaVersion: "growth-labs.conformance.v1";
1451
+ schemaVersion: "growth-labs.conformance.v2";
714
1452
  fixtureId: string;
715
1453
  summary: {
716
1454
  pass: number;
@@ -744,7 +1482,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
744
1482
  evidence?: string | undefined;
745
1483
  remediation?: string | undefined;
746
1484
  }[];
747
- schemaVersion: "growth-labs.conformance.v1";
1485
+ schemaVersion: "growth-labs.conformance.v2";
748
1486
  fixtureId: string;
749
1487
  summary: {
750
1488
  pass: number;
@@ -764,11 +1502,36 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
764
1502
  remediation?: string | undefined;
765
1503
  }[];
766
1504
  }[];
1505
+ securityReceipts?: {
1506
+ functionalProbes?: {
1507
+ name: string;
1508
+ status: "pass" | "fail" | "na";
1509
+ capabilityBoundary?: string | undefined;
1510
+ evidence?: string | undefined;
1511
+ checkedAt?: string | undefined;
1512
+ }[] | undefined;
1513
+ cspReports?: {
1514
+ name: string;
1515
+ status: "pass" | "fail" | "na";
1516
+ capabilityBoundary?: string | undefined;
1517
+ evidence?: string | undefined;
1518
+ checkedAt?: string | undefined;
1519
+ endpoint?: string | undefined;
1520
+ }[] | undefined;
1521
+ inlineStyleAttributes?: {
1522
+ evidence: {
1523
+ tool: string;
1524
+ outputHash: string;
1525
+ };
1526
+ commitSha: string;
1527
+ occurrenceCount: number;
1528
+ } | undefined;
1529
+ } | undefined;
767
1530
  }>, "many">;
768
1531
  }, "strip", z.ZodTypeAny, {
769
1532
  status: "pass" | "fail";
770
1533
  generatedAt: string;
771
- schemaVersion: "growth-labs.conformance.v1";
1534
+ schemaVersion: "growth-labs.conformance.v2";
772
1535
  summary: {
773
1536
  pass: number;
774
1537
  fail: number;
@@ -782,6 +1545,31 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
782
1545
  generatedAt: string;
783
1546
  site: string;
784
1547
  environment: string;
1548
+ securityReceipts: {
1549
+ functionalProbes: {
1550
+ name: string;
1551
+ status: "pass" | "fail" | "na";
1552
+ capabilityBoundary?: string | undefined;
1553
+ evidence?: string | undefined;
1554
+ checkedAt?: string | undefined;
1555
+ }[];
1556
+ cspReports: {
1557
+ name: string;
1558
+ status: "pass" | "fail" | "na";
1559
+ capabilityBoundary?: string | undefined;
1560
+ evidence?: string | undefined;
1561
+ checkedAt?: string | undefined;
1562
+ endpoint?: string | undefined;
1563
+ }[];
1564
+ inlineStyleAttributes?: {
1565
+ evidence: {
1566
+ tool: string;
1567
+ outputHash: string;
1568
+ };
1569
+ commitSha: string;
1570
+ occurrenceCount: number;
1571
+ } | undefined;
1572
+ };
785
1573
  findings: {
786
1574
  code: string;
787
1575
  message: string;
@@ -790,7 +1578,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
790
1578
  evidence?: string | undefined;
791
1579
  remediation?: string | undefined;
792
1580
  }[];
793
- schemaVersion: "growth-labs.conformance.v1";
1581
+ schemaVersion: "growth-labs.conformance.v2";
794
1582
  fixtureId: string;
795
1583
  summary: {
796
1584
  pass: number;
@@ -814,7 +1602,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
814
1602
  }, {
815
1603
  status: "pass" | "fail";
816
1604
  generatedAt: string;
817
- schemaVersion: "growth-labs.conformance.v1";
1605
+ schemaVersion: "growth-labs.conformance.v2";
818
1606
  summary: {
819
1607
  pass: number;
820
1608
  fail: number;
@@ -836,7 +1624,7 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
836
1624
  evidence?: string | undefined;
837
1625
  remediation?: string | undefined;
838
1626
  }[];
839
- schemaVersion: "growth-labs.conformance.v1";
1627
+ schemaVersion: "growth-labs.conformance.v2";
840
1628
  fixtureId: string;
841
1629
  summary: {
842
1630
  pass: number;
@@ -856,6 +1644,31 @@ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
856
1644
  remediation?: string | undefined;
857
1645
  }[];
858
1646
  }[];
1647
+ securityReceipts?: {
1648
+ functionalProbes?: {
1649
+ name: string;
1650
+ status: "pass" | "fail" | "na";
1651
+ capabilityBoundary?: string | undefined;
1652
+ evidence?: string | undefined;
1653
+ checkedAt?: string | undefined;
1654
+ }[] | undefined;
1655
+ cspReports?: {
1656
+ name: string;
1657
+ status: "pass" | "fail" | "na";
1658
+ capabilityBoundary?: string | undefined;
1659
+ evidence?: string | undefined;
1660
+ checkedAt?: string | undefined;
1661
+ endpoint?: string | undefined;
1662
+ }[] | undefined;
1663
+ inlineStyleAttributes?: {
1664
+ evidence: {
1665
+ tool: string;
1666
+ outputHash: string;
1667
+ };
1668
+ commitSha: string;
1669
+ occurrenceCount: number;
1670
+ } | undefined;
1671
+ } | undefined;
859
1672
  }[];
860
1673
  }>;
861
1674
  export type Audience = z.infer<typeof audienceSchema>;
@@ -864,6 +1677,10 @@ export type HeaderMap = z.infer<typeof headerMapSchema>;
864
1677
  export type SurfaceResponse = z.infer<typeof surfaceResponseSchema>;
865
1678
  export type PublicationSurfaceEvidence = z.infer<typeof publicationSurfaceSchema>;
866
1679
  export type CacheVariant = z.infer<typeof cacheVariantSchema>;
1680
+ export type SecurityFunctionalProbeReceipt = z.infer<typeof securityFunctionalProbeReceiptSchema>;
1681
+ export type CspReportReceipt = z.infer<typeof cspReportReceiptSchema>;
1682
+ export type InlineStyleAttributeInventory = z.infer<typeof inlineStyleAttributeInventorySchema>;
1683
+ export type SecurityReceipts = z.infer<typeof securityReceiptsSchema>;
867
1684
  export type BuildEvidence = z.infer<typeof buildEvidenceSchema>;
868
1685
  export type ConformanceFixtureInput = z.input<typeof conformanceFixtureSchema>;
869
1686
  export type ConformanceFixture = z.infer<typeof conformanceFixtureSchema>;