@highflame/policy 2.1.35 → 2.1.36

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.
@@ -44,6 +44,18 @@
44
44
  "severity": "low",
45
45
  "tags": ["baseline", "permit-default", "organization"],
46
46
  "is_active": true
47
+ }
48
+ ],
49
+ "templates": [
50
+ {
51
+ "id": "baseline-default",
52
+ "name": "Baseline Permit",
53
+ "description": "Permits all actions by default -- threat-specific forbid policies override this when threats are detected",
54
+ "category": "organization",
55
+ "file": "defaults/baseline.cedar",
56
+ "severity": "low",
57
+ "tags": ["baseline", "permit-default", "organization"],
58
+ "auto_deploy": true
47
59
  },
48
60
  {
49
61
  "id": "semantic-default",
@@ -52,8 +64,7 @@
52
64
  "category": "semantic",
53
65
  "file": "defaults/semantic.cedar",
54
66
  "severity": "critical",
55
- "tags": ["prompt-injection", "jailbreak", "owasp-llm01", "owasp-llm02", "security", "baseline"],
56
- "is_active": true
67
+ "tags": ["prompt-injection", "jailbreak", "owasp-llm01", "owasp-llm02", "security"]
57
68
  },
58
69
  {
59
70
  "id": "tools-default",
@@ -62,8 +73,7 @@
62
73
  "category": "tools",
63
74
  "file": "defaults/tools.cedar",
64
75
  "severity": "critical",
65
- "tags": ["tool-risk", "command-injection", "owasp-llm06", "owasp-asi02", "baseline"],
66
- "is_active": true
76
+ "tags": ["tool-risk", "command-injection", "owasp-llm06", "owasp-asi02"]
67
77
  },
68
78
  {
69
79
  "id": "agent-security-default",
@@ -72,11 +82,8 @@
72
82
  "category": "agent_security",
73
83
  "file": "defaults/agent_security.cedar",
74
84
  "severity": "critical",
75
- "tags": ["tool-poisoning", "rug-pull", "indirect-injection", "mcp-security", "owasp-asi01", "owasp-asi04", "baseline"],
76
- "is_active": true
77
- }
78
- ],
79
- "templates": [
85
+ "tags": ["tool-poisoning", "rug-pull", "indirect-injection", "mcp-security", "owasp-asi01", "owasp-asi04"]
86
+ },
80
87
  {
81
88
  "id": "tools-mcp-allowlist",
82
89
  "name": "MCP Server Allowlist",
@@ -44,6 +44,18 @@
44
44
  "severity": "low",
45
45
  "tags": ["baseline", "permit-default", "organization"],
46
46
  "is_active": true
47
+ }
48
+ ],
49
+ "templates": [
50
+ {
51
+ "id": "baseline-default",
52
+ "name": "Baseline Permit",
53
+ "description": "Permits all actions by default — threat-specific forbid policies override this when threats are detected",
54
+ "category": "organization",
55
+ "file": "defaults/baseline.cedar",
56
+ "severity": "low",
57
+ "tags": ["baseline", "permit-default", "organization"],
58
+ "auto_deploy": true
47
59
  },
48
60
  {
49
61
  "id": "secrets-default",
@@ -52,8 +64,7 @@
52
64
  "category": "security",
53
65
  "file": "defaults/secrets.cedar",
54
66
  "severity": "critical",
55
- "tags": ["secrets", "api-keys", "credentials", "data-leak"],
56
- "is_active": true
67
+ "tags": ["secrets", "api-keys", "credentials", "data-leak"]
57
68
  },
58
69
  {
59
70
  "id": "injection-default",
@@ -62,8 +73,7 @@
62
73
  "category": "security",
63
74
  "file": "defaults/injection.cedar",
64
75
  "severity": "high",
65
- "tags": ["injection", "jailbreak", "security"],
66
- "is_active": true
76
+ "tags": ["injection", "jailbreak", "security"]
67
77
  },
68
78
  {
69
79
  "id": "pii-default",
@@ -72,8 +82,7 @@
72
82
  "category": "privacy",
73
83
  "file": "defaults/pii.cedar",
74
84
  "severity": "high",
75
- "tags": ["pii", "privacy", "data-protection"],
76
- "is_active": true
85
+ "tags": ["pii", "privacy", "data-protection"]
77
86
  },
78
87
  {
79
88
  "id": "toxicity-default",
@@ -82,8 +91,7 @@
82
91
  "category": "trust_safety",
83
92
  "file": "defaults/toxicity.cedar",
84
93
  "severity": "critical",
85
- "tags": ["toxicity", "trust-safety", "content-moderation"],
86
- "is_active": true
94
+ "tags": ["toxicity", "trust-safety", "content-moderation"]
87
95
  },
88
96
  {
89
97
  "id": "tool-risk-default",
@@ -92,8 +100,7 @@
92
100
  "category": "agentic_security",
93
101
  "file": "defaults/tool_risk.cedar",
94
102
  "severity": "critical",
95
- "tags": ["tools", "agentic", "security"],
96
- "is_active": true
103
+ "tags": ["tools", "agentic", "security"]
97
104
  },
98
105
  {
99
106
  "id": "agentic-safety-default",
@@ -102,8 +109,7 @@
102
109
  "category": "agentic_security",
103
110
  "file": "defaults/agentic_safety.cedar",
104
111
  "severity": "high",
105
- "tags": ["agentic", "safety", "loops", "exfiltration", "budget", "tool-poisoning", "rug-pull", "mcp-risk"],
106
- "is_active": true
112
+ "tags": ["agentic", "safety", "loops", "exfiltration", "budget", "tool-poisoning", "rug-pull", "mcp-risk"]
107
113
  },
108
114
  {
109
115
  "id": "security-patterns-default",
@@ -112,11 +118,8 @@
112
118
  "category": "security",
113
119
  "file": "defaults/security_patterns.cedar",
114
120
  "severity": "critical",
115
- "tags": ["command-injection", "path-traversal", "sql-injection", "security"],
116
- "is_active": true
117
- }
118
- ],
119
- "templates": [
121
+ "tags": ["command-injection", "path-traversal", "sql-injection", "security"]
122
+ },
120
123
  {
121
124
  "id": "agent-identity-trust",
122
125
  "name": "Agent Identity & Trust",
@@ -52,6 +52,16 @@
52
52
  }
53
53
  ],
54
54
  "templates": [
55
+ {
56
+ "id": "sentry-baseline-default",
57
+ "name": "Baseline Permit",
58
+ "description": "Permits all actions by default — threat-specific forbid policies override this when threats are detected",
59
+ "category": "organization",
60
+ "file": "defaults/baseline.cedar",
61
+ "severity": "low",
62
+ "tags": ["baseline", "permit-default", "organization"],
63
+ "auto_deploy": true
64
+ },
55
65
  {
56
66
  "id": "sentry-semantic-default",
57
67
  "name": "Semantic Threat Detection",
@@ -50,6 +50,9 @@ export interface AiGatewayTemplate {
50
50
  severity: string;
51
51
  /** Tags for filtering */
52
52
  tags: string[];
53
+ /** True when ensure-defaults should auto-seed this template at
54
+ * project creation. See schemas/*\/templates.json. Defaults to false. */
55
+ autoDeploy?: boolean;
53
56
  }
54
57
  export declare const AI_GATEWAY_CATEGORIES: AiGatewayCategoryInfo[];
55
58
  export declare const AI_GATEWAY_DEFAULTS: AiGatewayDefaultPolicy[];
@@ -602,6 +602,21 @@ export const AI_GATEWAY_DEFAULTS = [
602
602
  tags: ['baseline', 'permit-default', 'organization'],
603
603
  isActive: true,
604
604
  },
605
+ ];
606
+ // =============================================================================
607
+ // ALL TEMPLATES
608
+ // =============================================================================
609
+ export const AI_GATEWAY_TEMPLATES = [
610
+ {
611
+ id: 'baseline-default',
612
+ name: 'Baseline Permit',
613
+ description: 'Permits all actions by default -- threat-specific forbid policies override this when threats are detected',
614
+ category: 'organization',
615
+ cedarText: AI_GATEWAY_BASELINE_DEFAULT_CEDAR,
616
+ severity: 'low',
617
+ tags: ['baseline', 'permit-default', 'organization'],
618
+ autoDeploy: true,
619
+ },
605
620
  {
606
621
  id: 'semantic-default',
607
622
  name: 'Semantic Threat Detection',
@@ -609,8 +624,7 @@ export const AI_GATEWAY_DEFAULTS = [
609
624
  category: 'semantic',
610
625
  cedarText: AI_GATEWAY_SEMANTIC_DEFAULT_CEDAR,
611
626
  severity: 'critical',
612
- tags: ['prompt-injection', 'jailbreak', 'owasp-llm01', 'owasp-llm02', 'security', 'baseline'],
613
- isActive: true,
627
+ tags: ['prompt-injection', 'jailbreak', 'owasp-llm01', 'owasp-llm02', 'security'],
614
628
  },
615
629
  {
616
630
  id: 'tools-default',
@@ -619,8 +633,7 @@ export const AI_GATEWAY_DEFAULTS = [
619
633
  category: 'tools',
620
634
  cedarText: AI_GATEWAY_TOOLS_DEFAULT_CEDAR,
621
635
  severity: 'critical',
622
- tags: ['tool-risk', 'command-injection', 'owasp-llm06', 'owasp-asi02', 'baseline'],
623
- isActive: true,
636
+ tags: ['tool-risk', 'command-injection', 'owasp-llm06', 'owasp-asi02'],
624
637
  },
625
638
  {
626
639
  id: 'agent-security-default',
@@ -629,14 +642,8 @@ export const AI_GATEWAY_DEFAULTS = [
629
642
  category: 'agent_security',
630
643
  cedarText: AI_GATEWAY_AGENT_SECURITY_DEFAULT_CEDAR,
631
644
  severity: 'critical',
632
- tags: ['tool-poisoning', 'rug-pull', 'indirect-injection', 'mcp-security', 'owasp-asi01', 'owasp-asi04', 'baseline'],
633
- isActive: true,
645
+ tags: ['tool-poisoning', 'rug-pull', 'indirect-injection', 'mcp-security', 'owasp-asi01', 'owasp-asi04'],
634
646
  },
635
- ];
636
- // =============================================================================
637
- // ALL TEMPLATES
638
- // =============================================================================
639
- export const AI_GATEWAY_TEMPLATES = [
640
647
  {
641
648
  id: 'tools-mcp-allowlist',
642
649
  name: 'MCP Server Allowlist',
@@ -724,6 +731,18 @@ export const AI_GATEWAY_TEMPLATES_JSON = `{
724
731
  "severity": "low",
725
732
  "tags": ["baseline", "permit-default", "organization"],
726
733
  "is_active": true
734
+ }
735
+ ],
736
+ "templates": [
737
+ {
738
+ "id": "baseline-default",
739
+ "name": "Baseline Permit",
740
+ "description": "Permits all actions by default -- threat-specific forbid policies override this when threats are detected",
741
+ "category": "organization",
742
+ "file": "defaults/baseline.cedar",
743
+ "severity": "low",
744
+ "tags": ["baseline", "permit-default", "organization"],
745
+ "auto_deploy": true
727
746
  },
728
747
  {
729
748
  "id": "semantic-default",
@@ -732,8 +751,7 @@ export const AI_GATEWAY_TEMPLATES_JSON = `{
732
751
  "category": "semantic",
733
752
  "file": "defaults/semantic.cedar",
734
753
  "severity": "critical",
735
- "tags": ["prompt-injection", "jailbreak", "owasp-llm01", "owasp-llm02", "security", "baseline"],
736
- "is_active": true
754
+ "tags": ["prompt-injection", "jailbreak", "owasp-llm01", "owasp-llm02", "security"]
737
755
  },
738
756
  {
739
757
  "id": "tools-default",
@@ -742,8 +760,7 @@ export const AI_GATEWAY_TEMPLATES_JSON = `{
742
760
  "category": "tools",
743
761
  "file": "defaults/tools.cedar",
744
762
  "severity": "critical",
745
- "tags": ["tool-risk", "command-injection", "owasp-llm06", "owasp-asi02", "baseline"],
746
- "is_active": true
763
+ "tags": ["tool-risk", "command-injection", "owasp-llm06", "owasp-asi02"]
747
764
  },
748
765
  {
749
766
  "id": "agent-security-default",
@@ -752,11 +769,8 @@ export const AI_GATEWAY_TEMPLATES_JSON = `{
752
769
  "category": "agent_security",
753
770
  "file": "defaults/agent_security.cedar",
754
771
  "severity": "critical",
755
- "tags": ["tool-poisoning", "rug-pull", "indirect-injection", "mcp-security", "owasp-asi01", "owasp-asi04", "baseline"],
756
- "is_active": true
757
- }
758
- ],
759
- "templates": [
772
+ "tags": ["tool-poisoning", "rug-pull", "indirect-injection", "mcp-security", "owasp-asi01", "owasp-asi04"]
773
+ },
760
774
  {
761
775
  "id": "tools-mcp-allowlist",
762
776
  "name": "MCP Server Allowlist",
package/dist/builder.d.ts CHANGED
@@ -49,7 +49,8 @@ export declare function isValidIdentifier(s: string): boolean;
49
49
  export declare function sanitizeIdentifier(s: string, context: string): string;
50
50
  /**
51
51
  * Validate a raw condition string for potentially dangerous patterns.
52
- * Returns true if the condition is safe to use.
52
+ * String literals are stripped first so `like` patterns such as "/etc/*"
53
+ * don't false-positive on the block-comment detector.
53
54
  */
54
55
  export declare function isValidRawCondition(condition: string): boolean;
55
56
  /**
package/dist/builder.js CHANGED
@@ -71,12 +71,15 @@ export function sanitizeIdentifier(s, context) {
71
71
  }
72
72
  return sanitized;
73
73
  }
74
+ const STRING_LITERAL_REGEX = /"(?:[^"\\]|\\.)*"/g;
74
75
  /**
75
76
  * Validate a raw condition string for potentially dangerous patterns.
76
- * Returns true if the condition is safe to use.
77
+ * String literals are stripped first so `like` patterns such as "/etc/*"
78
+ * don't false-positive on the block-comment detector.
77
79
  */
78
80
  export function isValidRawCondition(condition) {
79
- return !DANGEROUS_PATTERN_REGEX.test(condition);
81
+ const stripped = condition.replace(STRING_LITERAL_REGEX, '""');
82
+ return !DANGEROUS_PATTERN_REGEX.test(stripped);
80
83
  }
81
84
  /**
82
85
  * Format an action string for Cedar policy text.
@@ -50,6 +50,9 @@ export interface GuardrailsTemplate {
50
50
  severity: string;
51
51
  /** Tags for filtering */
52
52
  tags: string[];
53
+ /** True when ensure-defaults should auto-seed this template at
54
+ * project creation. See schemas/*\/templates.json. Defaults to false. */
55
+ autoDeploy?: boolean;
53
56
  }
54
57
  export declare const GUARDRAILS_CATEGORIES: GuardrailsCategoryInfo[];
55
58
  export declare const GUARDRAILS_DEFAULTS: GuardrailsDefaultPolicy[];
@@ -2520,6 +2520,21 @@ export const GUARDRAILS_DEFAULTS = [
2520
2520
  tags: ['baseline', 'permit-default', 'organization'],
2521
2521
  isActive: true,
2522
2522
  },
2523
+ ];
2524
+ // =============================================================================
2525
+ // ALL TEMPLATES
2526
+ // =============================================================================
2527
+ export const GUARDRAILS_TEMPLATES = [
2528
+ {
2529
+ id: 'baseline-default',
2530
+ name: 'Baseline Permit',
2531
+ description: 'Permits all actions by default — threat-specific forbid policies override this when threats are detected',
2532
+ category: 'organization',
2533
+ cedarText: GUARDRAILS_BASELINE_DEFAULT_CEDAR,
2534
+ severity: 'low',
2535
+ tags: ['baseline', 'permit-default', 'organization'],
2536
+ autoDeploy: true,
2537
+ },
2523
2538
  {
2524
2539
  id: 'secrets-default',
2525
2540
  name: 'Secrets Detection',
@@ -2528,7 +2543,6 @@ export const GUARDRAILS_DEFAULTS = [
2528
2543
  cedarText: GUARDRAILS_SECRETS_DEFAULT_CEDAR,
2529
2544
  severity: 'critical',
2530
2545
  tags: ['secrets', 'api-keys', 'credentials', 'data-leak'],
2531
- isActive: true,
2532
2546
  },
2533
2547
  {
2534
2548
  id: 'injection-default',
@@ -2538,7 +2552,6 @@ export const GUARDRAILS_DEFAULTS = [
2538
2552
  cedarText: GUARDRAILS_INJECTION_DEFAULT_CEDAR,
2539
2553
  severity: 'high',
2540
2554
  tags: ['injection', 'jailbreak', 'security'],
2541
- isActive: true,
2542
2555
  },
2543
2556
  {
2544
2557
  id: 'pii-default',
@@ -2548,7 +2561,6 @@ export const GUARDRAILS_DEFAULTS = [
2548
2561
  cedarText: GUARDRAILS_PII_DEFAULT_CEDAR,
2549
2562
  severity: 'high',
2550
2563
  tags: ['pii', 'privacy', 'data-protection'],
2551
- isActive: true,
2552
2564
  },
2553
2565
  {
2554
2566
  id: 'toxicity-default',
@@ -2558,7 +2570,6 @@ export const GUARDRAILS_DEFAULTS = [
2558
2570
  cedarText: GUARDRAILS_TOXICITY_DEFAULT_CEDAR,
2559
2571
  severity: 'critical',
2560
2572
  tags: ['toxicity', 'trust-safety', 'content-moderation'],
2561
- isActive: true,
2562
2573
  },
2563
2574
  {
2564
2575
  id: 'tool-risk-default',
@@ -2568,7 +2579,6 @@ export const GUARDRAILS_DEFAULTS = [
2568
2579
  cedarText: GUARDRAILS_TOOL_RISK_DEFAULT_CEDAR,
2569
2580
  severity: 'critical',
2570
2581
  tags: ['tools', 'agentic', 'security'],
2571
- isActive: true,
2572
2582
  },
2573
2583
  {
2574
2584
  id: 'agentic-safety-default',
@@ -2578,7 +2588,6 @@ export const GUARDRAILS_DEFAULTS = [
2578
2588
  cedarText: GUARDRAILS_AGENTIC_SAFETY_DEFAULT_CEDAR,
2579
2589
  severity: 'high',
2580
2590
  tags: ['agentic', 'safety', 'loops', 'exfiltration', 'budget', 'tool-poisoning', 'rug-pull', 'mcp-risk'],
2581
- isActive: true,
2582
2591
  },
2583
2592
  {
2584
2593
  id: 'security-patterns-default',
@@ -2588,13 +2597,7 @@ export const GUARDRAILS_DEFAULTS = [
2588
2597
  cedarText: GUARDRAILS_SECURITY_PATTERNS_DEFAULT_CEDAR,
2589
2598
  severity: 'critical',
2590
2599
  tags: ['command-injection', 'path-traversal', 'sql-injection', 'security'],
2591
- isActive: true,
2592
2600
  },
2593
- ];
2594
- // =============================================================================
2595
- // ALL TEMPLATES
2596
- // =============================================================================
2597
- export const GUARDRAILS_TEMPLATES = [
2598
2601
  {
2599
2602
  id: 'agent-identity-trust',
2600
2603
  name: 'Agent Identity & Trust',
@@ -2853,6 +2856,18 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2853
2856
  "severity": "low",
2854
2857
  "tags": ["baseline", "permit-default", "organization"],
2855
2858
  "is_active": true
2859
+ }
2860
+ ],
2861
+ "templates": [
2862
+ {
2863
+ "id": "baseline-default",
2864
+ "name": "Baseline Permit",
2865
+ "description": "Permits all actions by default — threat-specific forbid policies override this when threats are detected",
2866
+ "category": "organization",
2867
+ "file": "defaults/baseline.cedar",
2868
+ "severity": "low",
2869
+ "tags": ["baseline", "permit-default", "organization"],
2870
+ "auto_deploy": true
2856
2871
  },
2857
2872
  {
2858
2873
  "id": "secrets-default",
@@ -2861,8 +2876,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2861
2876
  "category": "security",
2862
2877
  "file": "defaults/secrets.cedar",
2863
2878
  "severity": "critical",
2864
- "tags": ["secrets", "api-keys", "credentials", "data-leak"],
2865
- "is_active": true
2879
+ "tags": ["secrets", "api-keys", "credentials", "data-leak"]
2866
2880
  },
2867
2881
  {
2868
2882
  "id": "injection-default",
@@ -2871,8 +2885,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2871
2885
  "category": "security",
2872
2886
  "file": "defaults/injection.cedar",
2873
2887
  "severity": "high",
2874
- "tags": ["injection", "jailbreak", "security"],
2875
- "is_active": true
2888
+ "tags": ["injection", "jailbreak", "security"]
2876
2889
  },
2877
2890
  {
2878
2891
  "id": "pii-default",
@@ -2881,8 +2894,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2881
2894
  "category": "privacy",
2882
2895
  "file": "defaults/pii.cedar",
2883
2896
  "severity": "high",
2884
- "tags": ["pii", "privacy", "data-protection"],
2885
- "is_active": true
2897
+ "tags": ["pii", "privacy", "data-protection"]
2886
2898
  },
2887
2899
  {
2888
2900
  "id": "toxicity-default",
@@ -2891,8 +2903,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2891
2903
  "category": "trust_safety",
2892
2904
  "file": "defaults/toxicity.cedar",
2893
2905
  "severity": "critical",
2894
- "tags": ["toxicity", "trust-safety", "content-moderation"],
2895
- "is_active": true
2906
+ "tags": ["toxicity", "trust-safety", "content-moderation"]
2896
2907
  },
2897
2908
  {
2898
2909
  "id": "tool-risk-default",
@@ -2901,8 +2912,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2901
2912
  "category": "agentic_security",
2902
2913
  "file": "defaults/tool_risk.cedar",
2903
2914
  "severity": "critical",
2904
- "tags": ["tools", "agentic", "security"],
2905
- "is_active": true
2915
+ "tags": ["tools", "agentic", "security"]
2906
2916
  },
2907
2917
  {
2908
2918
  "id": "agentic-safety-default",
@@ -2911,8 +2921,7 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2911
2921
  "category": "agentic_security",
2912
2922
  "file": "defaults/agentic_safety.cedar",
2913
2923
  "severity": "high",
2914
- "tags": ["agentic", "safety", "loops", "exfiltration", "budget", "tool-poisoning", "rug-pull", "mcp-risk"],
2915
- "is_active": true
2924
+ "tags": ["agentic", "safety", "loops", "exfiltration", "budget", "tool-poisoning", "rug-pull", "mcp-risk"]
2916
2925
  },
2917
2926
  {
2918
2927
  "id": "security-patterns-default",
@@ -2921,11 +2930,8 @@ export const GUARDRAILS_TEMPLATES_JSON = `{
2921
2930
  "category": "security",
2922
2931
  "file": "defaults/security_patterns.cedar",
2923
2932
  "severity": "critical",
2924
- "tags": ["command-injection", "path-traversal", "sql-injection", "security"],
2925
- "is_active": true
2926
- }
2927
- ],
2928
- "templates": [
2933
+ "tags": ["command-injection", "path-traversal", "sql-injection", "security"]
2934
+ },
2929
2935
  {
2930
2936
  "id": "agent-identity-trust",
2931
2937
  "name": "Agent Identity & Trust",
@@ -50,6 +50,9 @@ export interface OverwatchTemplate {
50
50
  severity: string;
51
51
  /** Tags for filtering */
52
52
  tags: string[];
53
+ /** True when ensure-defaults should auto-seed this template at
54
+ * project creation. See schemas/*\/templates.json. Defaults to false. */
55
+ autoDeploy?: boolean;
53
56
  }
54
57
  export declare const OVERWATCH_CATEGORIES: OverwatchCategoryInfo[];
55
58
  export declare const OVERWATCH_DEFAULTS: OverwatchDefaultPolicy[];
@@ -1050,6 +1050,16 @@ export const OVERWATCH_DEFAULTS = [
1050
1050
  // ALL TEMPLATES
1051
1051
  // =============================================================================
1052
1052
  export const OVERWATCH_TEMPLATES = [
1053
+ {
1054
+ id: 'baseline-default',
1055
+ name: 'Baseline Permit',
1056
+ description: 'Permits all actions by default — threat-specific forbid policies override this when threats are detected',
1057
+ category: 'organization',
1058
+ cedarText: OVERWATCH_BASELINE_DEFAULT_CEDAR,
1059
+ severity: 'low',
1060
+ tags: ['baseline', 'permit-default', 'organization'],
1061
+ autoDeploy: true,
1062
+ },
1053
1063
  {
1054
1064
  id: 'secrets-default',
1055
1065
  name: 'Secrets Detection',
@@ -1189,6 +1199,16 @@ export const OVERWATCH_TEMPLATES_JSON = `{
1189
1199
  }
1190
1200
  ],
1191
1201
  "templates": [
1202
+ {
1203
+ "id": "baseline-default",
1204
+ "name": "Baseline Permit",
1205
+ "description": "Permits all actions by default — threat-specific forbid policies override this when threats are detected",
1206
+ "category": "organization",
1207
+ "file": "defaults/baseline.cedar",
1208
+ "severity": "low",
1209
+ "tags": ["baseline", "permit-default", "organization"],
1210
+ "auto_deploy": true
1211
+ },
1192
1212
  {
1193
1213
  "id": "secrets-default",
1194
1214
  "name": "Secrets Detection",
@@ -50,6 +50,9 @@ export interface SentryTemplate {
50
50
  severity: string;
51
51
  /** Tags for filtering */
52
52
  tags: string[];
53
+ /** True when ensure-defaults should auto-seed this template at
54
+ * project creation. See schemas/*\/templates.json. Defaults to false. */
55
+ autoDeploy?: boolean;
53
56
  }
54
57
  export declare const SENTRY_CATEGORIES: SentryCategoryInfo[];
55
58
  export declare const SENTRY_DEFAULTS: SentryDefaultPolicy[];
@@ -834,6 +834,16 @@ export const SENTRY_DEFAULTS = [
834
834
  // ALL TEMPLATES
835
835
  // =============================================================================
836
836
  export const SENTRY_TEMPLATES = [
837
+ {
838
+ id: 'sentry-baseline-default',
839
+ name: 'Baseline Permit',
840
+ description: 'Permits all actions by default — threat-specific forbid policies override this when threats are detected',
841
+ category: 'organization',
842
+ cedarText: SENTRY_SENTRY_BASELINE_DEFAULT_CEDAR,
843
+ severity: 'low',
844
+ tags: ['baseline', 'permit-default', 'organization'],
845
+ autoDeploy: true,
846
+ },
837
847
  {
838
848
  id: 'sentry-semantic-default',
839
849
  name: 'Semantic Threat Detection',
@@ -956,6 +966,16 @@ export const SENTRY_TEMPLATES_JSON = `{
956
966
  }
957
967
  ],
958
968
  "templates": [
969
+ {
970
+ "id": "sentry-baseline-default",
971
+ "name": "Baseline Permit",
972
+ "description": "Permits all actions by default — threat-specific forbid policies override this when threats are detected",
973
+ "category": "organization",
974
+ "file": "defaults/baseline.cedar",
975
+ "severity": "low",
976
+ "tags": ["baseline", "permit-default", "organization"],
977
+ "auto_deploy": true
978
+ },
959
979
  {
960
980
  "id": "sentry-semantic-default",
961
981
  "name": "Semantic Threat Detection",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@highflame/policy",
3
- "version": "2.1.35",
3
+ "version": "2.1.36",
4
4
  "engines": {
5
5
  "node": ">=18"
6
6
  },