@highflame/policy 2.2.36 → 2.2.37

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 (65) hide show
  1. package/_schemas/agent_ops/context.json +792 -0
  2. package/_schemas/agent_ops/schema.cedarschema +127 -109
  3. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_a2a_cross_origin.cedar +6 -4
  4. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_a2a_escalation.cedar +5 -4
  5. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_a2a_inter_agent_injection.cedar +9 -8
  6. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_claude_block_injection.cedar +2 -2
  7. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_defaults.cedar +3 -3
  8. package/_schemas/agent_ops/templates/ported/agent-security/agent_identity_multi_agent_trust.cedar +6 -6
  9. package/_schemas/agent_ops/templates/ported/content-safety/trust_safety_chat_assistant.cedar +5 -4
  10. package/_schemas/agent_ops/templates/ported/content-safety/trust_safety_defaults.cedar +18 -12
  11. package/_schemas/agent_ops/templates/ported/content-safety/trust_safety_semantic.cedar +6 -6
  12. package/_schemas/agent_ops/templates/ported/content-safety/trust_safety_toxicity.cedar +4 -4
  13. package/_schemas/agent_ops/templates/ported/data-protection/data_protection_advanced_secrets.cedar +4 -2
  14. package/_schemas/agent_ops/templates/ported/data-protection/data_protection_data_pipeline.cedar +2 -1
  15. package/_schemas/agent_ops/templates/ported/data-protection/data_protection_defaults.cedar +4 -2
  16. package/_schemas/agent_ops/templates/ported/data-protection/privacy_advanced_pii.cedar +42 -21
  17. package/_schemas/agent_ops/templates/ported/data-protection/privacy_defaults.cedar +14 -7
  18. package/_schemas/agent_ops/templates/ported/data-protection/privacy_pii_model.cedar +10 -5
  19. package/_schemas/agent_ops/templates/ported/organization/organization_team_permissions.cedar +3 -2
  20. package/_schemas/agent_ops/templates/ported/threat-detection/security_advanced_block_critical_severity.cedar +3 -3
  21. package/_schemas/agent_ops/templates/ported/threat-detection/security_chat_assistant.cedar +5 -4
  22. package/_schemas/agent_ops/templates/ported/threat-detection/security_data_pipeline_block_injection.cedar +3 -2
  23. package/_schemas/agent_ops/templates/ported/threat-detection/security_injection.cedar +9 -8
  24. package/_schemas/agent_ops/templates/ported/threat-detection/security_patterns.cedar +5 -3
  25. package/_schemas/agent_ops/templates/ported/threat-detection/semantic_defaults.cedar +9 -7
  26. package/_schemas/ai_gateway/context.json +278 -0
  27. package/_schemas/ai_gateway/schema.cedarschema +37 -7
  28. package/_schemas/ai_gateway/templates/defaults/agent_security.cedar +5 -16
  29. package/_schemas/ai_gateway/templates/defaults/pii.cedar +14 -7
  30. package/_schemas/ai_gateway/templates/defaults/pii_advanced.cedar +42 -21
  31. package/_schemas/ai_gateway/templates/defaults/pii_model.cedar +10 -5
  32. package/_schemas/ai_gateway/templates/defaults/semantic.cedar +9 -74
  33. package/_schemas/ai_gateway/templates/defaults/tools.cedar +7 -38
  34. package/_schemas/ai_gateway/templates/secrets.cedar +3 -3
  35. package/_schemas/guardrails/context.json +671 -0
  36. package/_schemas/guardrails/schema.cedarschema +23 -2
  37. package/_schemas/guardrails/templates/defaults/agent_identity.cedar +3 -3
  38. package/_schemas/guardrails/templates/defaults/injection.cedar +9 -8
  39. package/_schemas/guardrails/templates/defaults/pii.cedar +14 -7
  40. package/_schemas/guardrails/templates/defaults/pii_model.cedar +10 -5
  41. package/_schemas/guardrails/templates/defaults/secrets.cedar +4 -2
  42. package/_schemas/guardrails/templates/defaults/security_patterns.cedar +5 -3
  43. package/_schemas/guardrails/templates/defaults/semantic.cedar +6 -6
  44. package/_schemas/guardrails/templates/defaults/toxicity.cedar +6 -6
  45. package/_schemas/guardrails/templates/profiles/a2a_security/cross_origin.cedar +6 -4
  46. package/_schemas/guardrails/templates/profiles/a2a_security/escalation_detection.cedar +5 -4
  47. package/_schemas/guardrails/templates/profiles/a2a_security/inter_agent_injection.cedar +9 -8
  48. package/_schemas/guardrails/templates/profiles/advanced_detection/pii.cedar +42 -21
  49. package/_schemas/guardrails/templates/profiles/advanced_detection/secrets.cedar +4 -2
  50. package/_schemas/guardrails/templates/profiles/chat_assistant/security.cedar +5 -4
  51. package/_schemas/guardrails/templates/profiles/chat_assistant/trust_safety.cedar +5 -4
  52. package/_schemas/guardrails/templates/profiles/data_pipeline/data_protection.cedar +2 -1
  53. package/_schemas/guardrails/templates/profiles/data_pipeline/security.cedar +3 -2
  54. package/_schemas/guardrails/templates/profiles/multi_agent/agent_trust.cedar +6 -6
  55. package/_schemas/guardrails/templates/templates.json +0 -9
  56. package/dist/agent_ops-defaults.gen.js +177 -120
  57. package/dist/agent_ops-entities.gen.js +5 -1
  58. package/dist/ai_gateway-defaults.gen.js +90 -164
  59. package/dist/ai_gateway-entities.gen.js +6 -2
  60. package/dist/guardrails-defaults.gen.js +144 -145
  61. package/dist/guardrails-entities.gen.js +5 -1
  62. package/dist/service-schemas.gen.d.ts +3 -3
  63. package/dist/service-schemas.gen.js +480 -118
  64. package/package.json +1 -1
  65. package/_schemas/guardrails/templates/profiles/advanced_detection/threat_severity.cedar +0 -30
@@ -22,7 +22,8 @@
22
22
  @reject_message("Content blocked: national identifier (SSN, passport, or driver's license) patterns detected.")
23
23
  forbid (
24
24
  principal,
25
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
25
+ action in [AgentOps::Action::"process_prompt",
26
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
26
27
  resource
27
28
  )
28
29
  when {
@@ -44,7 +45,8 @@ when {
44
45
  @reject_message("Content blocked: credit card number patterns detected.")
45
46
  forbid (
46
47
  principal,
47
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
48
+ action in [AgentOps::Action::"process_prompt",
49
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
48
50
  resource
49
51
  )
50
52
  when {
@@ -63,7 +65,8 @@ when {
63
65
  @reject_message("Content blocked: bank account (IBAN) number patterns detected.")
64
66
  forbid (
65
67
  principal,
66
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
68
+ action in [AgentOps::Action::"process_prompt",
69
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
67
70
  resource
68
71
  )
69
72
  when {
@@ -85,7 +88,8 @@ when {
85
88
  @reject_message("Content blocked: medical record identifier patterns detected.")
86
89
  forbid (
87
90
  principal,
88
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
91
+ action in [AgentOps::Action::"process_prompt",
92
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
89
93
  resource
90
94
  )
91
95
  when {
@@ -109,7 +113,8 @@ when {
109
113
  @reject_message("Content blocked: tax identifier (ITIN or EIN) patterns detected.")
110
114
  forbid (
111
115
  principal,
112
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
116
+ action in [AgentOps::Action::"process_prompt",
117
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
113
118
  resource
114
119
  )
115
120
  when {
@@ -129,7 +134,8 @@ when {
129
134
  @reject_message("Content blocked: credential or API key patterns detected.")
130
135
  forbid (
131
136
  principal,
132
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
137
+ action in [AgentOps::Action::"process_prompt",
138
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
133
139
  resource
134
140
  )
135
141
  when {
@@ -160,7 +166,8 @@ when {
160
166
  @reject_message("Content blocked: cryptocurrency wallet address patterns detected.")
161
167
  forbid (
162
168
  principal,
163
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
169
+ action in [AgentOps::Action::"process_prompt",
170
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
164
171
  resource
165
172
  )
166
173
  when {
@@ -179,7 +186,8 @@ when {
179
186
  @reject_message("Content blocked: personal name patterns detected.")
180
187
  forbid (
181
188
  principal,
182
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
189
+ action in [AgentOps::Action::"process_prompt",
190
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
183
191
  resource
184
192
  )
185
193
  when {
@@ -198,7 +206,8 @@ when {
198
206
  @reject_message("Content blocked: email address patterns detected.")
199
207
  forbid (
200
208
  principal,
201
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
209
+ action in [AgentOps::Action::"process_prompt",
210
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
202
211
  resource
203
212
  )
204
213
  when {
@@ -217,7 +226,8 @@ when {
217
226
  @reject_message("Content blocked: phone number patterns detected.")
218
227
  forbid (
219
228
  principal,
220
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
229
+ action in [AgentOps::Action::"process_prompt",
230
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
221
231
  resource
222
232
  )
223
233
  when {
@@ -236,7 +246,8 @@ when {
236
246
  @reject_message("Content blocked: date or time patterns detected.")
237
247
  forbid (
238
248
  principal,
239
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
249
+ action in [AgentOps::Action::"process_prompt",
250
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
240
251
  resource
241
252
  )
242
253
  when {
@@ -258,7 +269,8 @@ when {
258
269
  @reject_message("Content blocked: URL patterns detected.")
259
270
  forbid (
260
271
  principal,
261
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
272
+ action in [AgentOps::Action::"process_prompt",
273
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
262
274
  resource
263
275
  )
264
276
  when {
@@ -277,7 +289,8 @@ when {
277
289
  @reject_message("Content blocked: street address or location patterns detected.")
278
290
  forbid (
279
291
  principal,
280
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
292
+ action in [AgentOps::Action::"process_prompt",
293
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
281
294
  resource
282
295
  )
283
296
  when {
@@ -298,7 +311,8 @@ when {
298
311
  @reject_message("Content blocked: organization name patterns detected.")
299
312
  forbid (
300
313
  principal,
301
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
314
+ action in [AgentOps::Action::"process_prompt",
315
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
302
316
  resource
303
317
  )
304
318
  when {
@@ -317,7 +331,8 @@ when {
317
331
  @reject_message("Content blocked: occupation patterns detected.")
318
332
  forbid (
319
333
  principal,
320
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
334
+ action in [AgentOps::Action::"process_prompt",
335
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
321
336
  resource
322
337
  )
323
338
  when {
@@ -336,7 +351,8 @@ when {
336
351
  @reject_message("Content blocked: username patterns detected.")
337
352
  forbid (
338
353
  principal,
339
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
354
+ action in [AgentOps::Action::"process_prompt",
355
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
340
356
  resource
341
357
  )
342
358
  when {
@@ -355,7 +371,8 @@ when {
355
371
  @reject_message("Content blocked: employee or customer identifier patterns detected.")
356
372
  forbid (
357
373
  principal,
358
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
374
+ action in [AgentOps::Action::"process_prompt",
375
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
359
376
  resource
360
377
  )
361
378
  when {
@@ -376,7 +393,8 @@ when {
376
393
  @reject_message("Content blocked: device or network identifier patterns detected.")
377
394
  forbid (
378
395
  principal,
379
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
396
+ action in [AgentOps::Action::"process_prompt",
397
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
380
398
  resource
381
399
  )
382
400
  when {
@@ -403,7 +421,8 @@ when {
403
421
  @reject_message("Content blocked: vehicle identifier (VIN or plate) patterns detected.")
404
422
  forbid (
405
423
  principal,
406
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
424
+ action in [AgentOps::Action::"process_prompt",
425
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
407
426
  resource
408
427
  )
409
428
  when {
@@ -423,7 +442,8 @@ when {
423
442
  @reject_message("Content blocked: salary or financial amount patterns detected.")
424
443
  forbid (
425
444
  principal,
426
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
445
+ action in [AgentOps::Action::"process_prompt",
446
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
427
447
  resource
428
448
  )
429
449
  when {
@@ -444,7 +464,8 @@ when {
444
464
  @reject_message("Content blocked: sensitive attribute (ethnicity, religion, etc.) patterns detected.")
445
465
  forbid (
446
466
  principal,
447
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
467
+ action in [AgentOps::Action::"process_prompt",
468
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
448
469
  resource
449
470
  )
450
471
  when {
@@ -22,7 +22,8 @@
22
22
  @reject_message("Content blocked: national identifier (SSN, passport, or driver's license) patterns detected.")
23
23
  forbid (
24
24
  principal,
25
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
25
+ action in [AgentOps::Action::"process_prompt",
26
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
26
27
  resource
27
28
  )
28
29
  when {
@@ -43,7 +44,8 @@ when {
43
44
  @reject_message("Content blocked: credit card number patterns detected.")
44
45
  forbid (
45
46
  principal,
46
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
47
+ action in [AgentOps::Action::"process_prompt",
48
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
47
49
  resource
48
50
  )
49
51
  when {
@@ -58,7 +60,8 @@ when {
58
60
  @reject_message("Content blocked: bank account (IBAN) number patterns detected.")
59
61
  forbid (
60
62
  principal,
61
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
63
+ action in [AgentOps::Action::"process_prompt",
64
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
62
65
  resource
63
66
  )
64
67
  when {
@@ -79,7 +82,8 @@ when {
79
82
  @reject_message("Content blocked: medical record identifier patterns detected.")
80
83
  forbid (
81
84
  principal,
82
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
85
+ action in [AgentOps::Action::"process_prompt",
86
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
83
87
  resource
84
88
  )
85
89
  when {
@@ -102,7 +106,8 @@ when {
102
106
  @reject_message("Content blocked: tax identifier (ITIN or EIN) patterns detected.")
103
107
  forbid (
104
108
  principal,
105
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
109
+ action in [AgentOps::Action::"process_prompt",
110
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
106
111
  resource
107
112
  )
108
113
  when {
@@ -122,7 +127,8 @@ when {
122
127
  @reject_message("Content blocked: credential or API key patterns detected.")
123
128
  forbid (
124
129
  principal,
125
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
130
+ action in [AgentOps::Action::"process_prompt",
131
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
126
132
  resource
127
133
  )
128
134
  when {
@@ -152,7 +158,8 @@ when {
152
158
  @reject_message("Content blocked: cryptocurrency wallet address patterns detected.")
153
159
  forbid (
154
160
  principal,
155
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
161
+ action in [AgentOps::Action::"process_prompt",
162
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
156
163
  resource
157
164
  )
158
165
  when {
@@ -22,7 +22,8 @@
22
22
  @reject_message("Content blocked: national identifier (SSN, passport, or driver's license) patterns detected.")
23
23
  forbid (
24
24
  principal,
25
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
25
+ action in [AgentOps::Action::"process_prompt",
26
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
26
27
  resource
27
28
  )
28
29
  when {
@@ -37,7 +38,8 @@ when {
37
38
  @reject_message("Content blocked: credit card number patterns detected.")
38
39
  forbid (
39
40
  principal,
40
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
41
+ action in [AgentOps::Action::"process_prompt",
42
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
41
43
  resource
42
44
  )
43
45
  when {
@@ -52,7 +54,8 @@ when {
52
54
  @reject_message("Content blocked: bank account (IBAN) number patterns detected.")
53
55
  forbid (
54
56
  principal,
55
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
57
+ action in [AgentOps::Action::"process_prompt",
58
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
56
59
  resource
57
60
  )
58
61
  when {
@@ -67,7 +70,8 @@ when {
67
70
  @reject_message("Content blocked: medical record identifier patterns detected.")
68
71
  forbid (
69
72
  principal,
70
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
73
+ action in [AgentOps::Action::"process_prompt",
74
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
71
75
  resource
72
76
  )
73
77
  when {
@@ -82,7 +86,8 @@ when {
82
86
  @reject_message("Content blocked: credential or API key patterns detected.")
83
87
  forbid (
84
88
  principal,
85
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
89
+ action in [AgentOps::Action::"process_prompt",
90
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool", AgentOps::Action::"read_file", AgentOps::Action::"write_file"],
86
91
  resource
87
92
  )
88
93
  when {
@@ -28,11 +28,12 @@ permit (
28
28
 
29
29
  @id("organization.allow-support-project-read")
30
30
  @name("Permit support project read-only access")
31
- @description("Permits process_prompt and read_file actions on resources scoped to Project::\"support-project\".")
31
+ @description("Permits process_prompt, process_response, and read_file actions on resources scoped to Project::\"support-project\".")
32
32
  @severity("medium")
33
33
  @tags("category:organization,scope:per-tool,posture:deny-default")
34
34
  permit (
35
35
  principal,
36
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"read_file"],
36
+ action in [AgentOps::Action::"process_prompt",
37
+ AgentOps::Action::"process_response", AgentOps::Action::"read_file"],
37
38
  resource in AgentOps::Project::"support-project"
38
39
  );
@@ -16,13 +16,13 @@
16
16
 
17
17
  @id("security.advanced-block-critical-severity")
18
18
  @name("Block critical-severity threats")
19
- @description("Blocks process_prompt when highest_severity equals \"critical\".")
19
+ @description("Blocks process_prompt and process_response when highest_severity equals \"critical\".")
20
20
  @severity("critical")
21
- @tags("category:security,detection:aggregate,surface:process-prompt,posture:catch-all,compliance:nist-si-3")
21
+ @tags("category:security,detection:aggregate,surface:process-prompt,surface:process-response,posture:catch-all,compliance:nist-si-3")
22
22
  @reject_message("Prompt blocked: a critical-severity threat was reported by at least one detector.")
23
23
  forbid (
24
24
  principal,
25
- action == AgentOps::Action::"process_prompt",
25
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
26
26
  resource
27
27
  )
28
28
  when {
@@ -18,13 +18,14 @@
18
18
 
19
19
  @id("security.chat-block-injection")
20
20
  @name("Block injection (chat profile)")
21
- @description("Blocks process_prompt and call_tool when injection_score >= 71 (lower threshold for public chat).")
21
+ @description("Blocks process_prompt, process_response, and call_tool when injection_score >= 71 (lower threshold for public chat).")
22
22
  @severity("high")
23
23
  @tags("category:security,threat:injection,detection:ml,owasp:llm01")
24
24
  @reject_message("Prompt blocked: prompt injection detected with high confidence (chat profile).")
25
25
  forbid (
26
26
  principal,
27
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
27
+ action in [AgentOps::Action::"process_prompt",
28
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
28
29
  resource
29
30
  )
30
31
  when {
@@ -33,13 +34,13 @@ when {
33
34
 
34
35
  @id("security.chat-block-jailbreak")
35
36
  @name("Block jailbreak (chat profile)")
36
- @description("Blocks process_prompt when jailbreak_score >= 66 (lower threshold for public chat).")
37
+ @description("Blocks process_prompt and process_response when jailbreak_score >= 66 (lower threshold for public chat).")
37
38
  @severity("high")
38
39
  @tags("category:security,threat:jailbreak,detection:ml,owasp:llm02")
39
40
  @reject_message("Prompt blocked: jailbreak attempt detected with high confidence (chat profile).")
40
41
  forbid (
41
42
  principal,
42
- action == AgentOps::Action::"process_prompt",
43
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
43
44
  resource
44
45
  )
45
46
  when {
@@ -17,13 +17,14 @@
17
17
 
18
18
  @id("security.data-pipeline-block-injection")
19
19
  @name("Block pipeline injection (data-pipeline profile)")
20
- @description("Blocks process_prompt and call_tool when injection_score >= 66 (lower threshold for data pipelines).")
20
+ @description("Blocks process_prompt, process_response, and call_tool when injection_score >= 66 (lower threshold for data pipelines).")
21
21
  @severity("high")
22
22
  @tags("category:security,threat:injection,detection:ml,owasp:llm01")
23
23
  @reject_message("Request blocked: prompt injection detected at the data-pipeline threshold — RAG inputs are high-risk for indirect injection.")
24
24
  forbid (
25
25
  principal,
26
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
26
+ action in [AgentOps::Action::"process_prompt",
27
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
27
28
  resource
28
29
  )
29
30
  when {
@@ -21,13 +21,14 @@
21
21
 
22
22
  @id("security.block-injection-ml")
23
23
  @name("Block injection (ML)")
24
- @description("Blocks process_prompt and call_tool when injection_score >= 86.")
24
+ @description("Blocks process_prompt, process_response, and call_tool when injection_score >= 86.")
25
25
  @severity("high")
26
26
  @tags("category:security,threat:injection,detection:ml,owasp:llm01,mitre:atlas-t0051")
27
27
  @reject_message("Prompt blocked: the ML classifier detected prompt injection with high confidence.")
28
28
  forbid (
29
29
  principal,
30
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
30
+ action in [AgentOps::Action::"process_prompt",
31
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
31
32
  resource
32
33
  )
33
34
  when {
@@ -36,13 +37,13 @@ when {
36
37
 
37
38
  @id("security.block-jailbreak-ml")
38
39
  @name("Block jailbreak (ML)")
39
- @description("Blocks process_prompt when jailbreak_score >= 81.")
40
+ @description("Blocks process_prompt and process_response when jailbreak_score >= 81.")
40
41
  @severity("high")
41
42
  @tags("category:security,threat:jailbreak,detection:ml,owasp:llm02,mitre:atlas-t0054")
42
43
  @reject_message("Prompt blocked: the ML classifier detected a jailbreak attempt with high confidence.")
43
44
  forbid (
44
45
  principal,
45
- action == AgentOps::Action::"process_prompt",
46
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
46
47
  resource
47
48
  )
48
49
  when {
@@ -51,13 +52,13 @@ when {
51
52
 
52
53
  @id("security.block-injection-combined")
53
54
  @name("Block injection + jailbreak (combined)")
54
- @description("Blocks process_prompt when injection_score >= 61 and jailbreak_score >= 61.")
55
+ @description("Blocks process_prompt and process_response when injection_score >= 61 and jailbreak_score >= 61.")
55
56
  @severity("high")
56
57
  @tags("category:security,threat:injection,threat:jailbreak,detection:ml")
57
58
  @reject_message("Prompt blocked: moderate injection and jailbreak signals were detected together.")
58
59
  forbid (
59
60
  principal,
60
- action == AgentOps::Action::"process_prompt",
61
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
61
62
  resource
62
63
  )
63
64
  when {
@@ -67,13 +68,13 @@ when {
67
68
 
68
69
  @id("security.block-invisible-chars")
69
70
  @name("Block invisible-character injection")
70
- @description("Blocks process_prompt when invisible_chars_detected is true and invisible_chars_score >= 51.")
71
+ @description("Blocks process_prompt and process_response when invisible_chars_detected is true and invisible_chars_score >= 51.")
71
72
  @severity("high")
72
73
  @tags("category:security,threat:invisible-chars,threat:injection,detection:pattern")
73
74
  @reject_message("Prompt blocked: invisible Unicode characters often used for injection were detected.")
74
75
  forbid (
75
76
  principal,
76
- action == AgentOps::Action::"process_prompt",
77
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
77
78
  resource
78
79
  )
79
80
  when {
@@ -23,7 +23,7 @@
23
23
 
24
24
  @id("security.block-path-traversal")
25
25
  @name("Block path traversal")
26
- @description("Blocks process_prompt, call_tool, read_file, and write_file when path_traversal_detected is true and severity is high or critical.")
26
+ @description("Blocks process_prompt, process_response, call_tool, read_file, and write_file when path_traversal_detected is true and severity is high or critical.")
27
27
  @severity("high")
28
28
  @tags("category:security,threat:path-traversal,detection:pattern,mitre:t1005")
29
29
  @reject_message("Request blocked: path traversal pattern detected — sensitive system files or deep directory traversal.")
@@ -31,6 +31,7 @@ forbid (
31
31
  principal,
32
32
  action in [
33
33
  AgentOps::Action::"process_prompt",
34
+ AgentOps::Action::"process_response",
34
35
  AgentOps::Action::"call_tool",
35
36
  AgentOps::Action::"read_file",
36
37
  AgentOps::Action::"write_file"
@@ -45,13 +46,14 @@ when {
45
46
 
46
47
  @id("security.block-sql-injection")
47
48
  @name("Block SQL injection")
48
- @description("Blocks process_prompt and call_tool when sql_injection_detected is true and sql_injection_score >= 75.")
49
+ @description("Blocks process_prompt, process_response, and call_tool when sql_injection_detected is true and sql_injection_score >= 75.")
49
50
  @severity("high")
50
51
  @tags("category:security,threat:sql-injection,detection:pattern")
51
52
  @reject_message("Request blocked: SQL injection pattern detected — tautology, UNION attack, or destructive query.")
52
53
  forbid (
53
54
  principal,
54
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
55
+ action in [AgentOps::Action::"process_prompt",
56
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
55
57
  resource
56
58
  )
57
59
  when {
@@ -51,13 +51,13 @@ when {
51
51
 
52
52
  @id("semantic.block-sql-injection-prompt")
53
53
  @name("Block SQL injection in prompts")
54
- @description("Blocks process_prompt when detected_threats contains \"sql_injection\".")
54
+ @description("Blocks process_prompt and process_response when detected_threats contains \"sql_injection\".")
55
55
  @severity("high")
56
- @tags("category:semantic,threat:sql-injection,detection:pattern,surface:process-prompt")
56
+ @tags("category:semantic,threat:sql-injection,detection:pattern,surface:process-prompt,surface:process-response")
57
57
  @reject_message("Prompt blocked: SQL injection pattern detected.")
58
58
  forbid (
59
59
  principal,
60
- action == AgentOps::Action::"process_prompt",
60
+ action in [AgentOps::Action::"process_prompt", AgentOps::Action::"process_response"],
61
61
  resource
62
62
  )
63
63
  when {
@@ -100,13 +100,14 @@ when {
100
100
 
101
101
  @id("semantic.block-injection-ml")
102
102
  @name("Block injection (ML)")
103
- @description("Blocks process_prompt and call_tool when injection_score >= 75.")
103
+ @description("Blocks process_prompt, process_response, and call_tool when injection_score >= 75.")
104
104
  @severity("critical")
105
105
  @tags("category:semantic,threat:injection,detection:ml,owasp:llm01,mitre:atlas-t0051")
106
106
  @reject_message("Request blocked: prompt injection detected by ML classifier with high confidence.")
107
107
  forbid (
108
108
  principal,
109
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
109
+ action in [AgentOps::Action::"process_prompt",
110
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
110
111
  resource
111
112
  )
112
113
  when {
@@ -115,13 +116,14 @@ when {
115
116
 
116
117
  @id("semantic.block-jailbreak-ml")
117
118
  @name("Block jailbreak (ML)")
118
- @description("Blocks process_prompt and call_tool when jailbreak_score >= 75.")
119
+ @description("Blocks process_prompt, process_response, and call_tool when jailbreak_score >= 75.")
119
120
  @severity("critical")
120
121
  @tags("category:semantic,threat:jailbreak,detection:ml,owasp:llm02,mitre:atlas-t0054")
121
122
  @reject_message("Request blocked: jailbreak attempt detected by ML classifier with high confidence.")
122
123
  forbid (
123
124
  principal,
124
- action in [AgentOps::Action::"process_prompt", AgentOps::Action::"call_tool"],
125
+ action in [AgentOps::Action::"process_prompt",
126
+ AgentOps::Action::"process_response", AgentOps::Action::"call_tool"],
125
127
  resource
126
128
  )
127
129
  when {