Commit graph

63 commits

Author SHA1 Message Date
Ishaan Jaff
674d4b4cab
[Feat] Guardrails - LiteLLM Content Filter, Allow Viewing/Editing Content Filter Settings (#16383)
* fix safe dumps

* add patterns.json

* add PrebuiltPattern

* add test patterns

* fix edit and view

* fix backend handling

* fix CF ui edit

* fix init
2025-11-07 18:15:09 -08:00
Ishaan Jaff
ca229fe030
[Feat] LiteLLM Guardrail - UI Fix, ensure you can see UI Friendly name for PII Patterns (#16382)
* fix safe dumps

* add patterns.json

* add PrebuiltPattern

* add test patterns
2025-11-07 18:14:58 -08:00
Jason Roberts
5733f711fd
feat(guardrails): panw prisma airs guardrail deduplication and enhanced session tracking (#16273)
* feat(guardrails): Add deduplication and session tracking

- Implement deduplication logic to prevent duplicate scans (via call_id; add _check_and_mark_scanned) caused by LiteLLM callback system
- Add session tracking using litellm_trace_id as AI Session ID for Prisma AIRS SCM logging
- Extract helper methods _extract_prompt_from_request maintainability
- Use httpxSpecialProvider import (LoggingCallback -> GuardrailCallback)
- Add comprehensive tests for deduplication and session tracking (7 new tests)
- Update documentation with multi-turn conversation tracking examples

* docs: update PANW Prisma AIRS multi-turn conversation example to use industry-standard terminology

- Clearer example for conversation tracking
- Updated terminology from 'AI Session ID' to 'Prisma AIRS AI Session ID' for clarity

* fix: remove unused asyncio import

* fix: correct mypy type ignore comment
2025-11-06 19:34:37 -08:00
Ishaan Jaffer
c727a2ad63 test noma, presidio 2025-11-06 17:06:03 -08:00
Ishaan Jaff
18a5c4f75a
[Feat] Add LiteLLM Gateway built in guardrail (#16338)
* add ContentFilterAction

* store pre-built regex patterns

* add v0 of content filter guard

* add _filter_messages

* test content filter guard

* init ContentFilterGuardrail

* fix ContentFilterGuardrail enums

* rename folder

* fix litellm_content_filter

* refactor content filter guard

* test content filter

* add streaming for ContentFilterGuardrail

* test_streaming_hook_mask

* add litellm_content_filter

* docs show litellm content filter

* docs litellm content filter

* fix lnting

* Potential fix for code scanning alert no. 3675: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-11-06 16:02:28 -08:00
dean-zavad
f19356db60
Litellm noma guardrail support images (#16199)
* noma support v2 api and images with during call

* supporting streams and images with texts

* Supporting text now

* annonymization works

* removing function

* fixing noma.py

* all old tests pass

* adding new tests

* removing changes

* Fixing application id headers

* fix whitespace

* deleting unused imports
2025-11-05 11:23:39 -08:00
Ishaan Jaff
579843b4bc
UI - Fix regression where Guardrail Entity Could not be selected and entity was not displayed (#16165)
* fix PiiEntityCategoryMap

* fix OpenAIChatCompletionsHandler

* fix lint
2025-11-01 18:00:54 -07:00
yuneng-jiang
725671395a
[Feature] UI - Config Guardrails should not be editable and guardrail info fix (#16142)
* UI Config Guardrails should not be editable and guardrails info definition location fix

* Remove unused import

* Added literals for guardrail definition location
2025-10-31 16:29:24 -07:00
Jason Roberts
6672250769
feat(guardrails): Add per-request profile overrides to PANW Prisma AIRS (#16069)
- Per-request metadata: profile_name, profile_id, user_ip, app_name
- Full litellm_call_id for traceability
- Optional profile_name (supports API keys with linked profiles)
- Backward compatible
2025-10-29 19:05:59 -07:00
Ishaan Jaff
95dd216150
[UI] Feature - Add Apply Guardrail Testing Playground (#16030)
* add applyGuardrail endpoints

* v0 testing apply guard

* fix: use tabs

* move apply guardrails endpoint

* fix apply_guardrail

* fix applyGuardrail

* fix apply guardrail for bedrock

* test guard endpoints

* add tooltip for enter button

* refactor

* add guardrail test

* tests guardrails selector

* TestNomaApplyGuardrail
2025-10-28 16:41:17 -07:00
Ariel
647f2f5d86
[feat]: graceful degradation for pillar service when using litellm (#15857)
* graceful degradation for pillar service when using litellm

* remove unnecessary mode

* simplify docs

* final fixes

* lint fixes

* fix linting
2025-10-27 19:51:29 -07:00
pinkgu
4758e2998b
feat: support during_call for model armor guardrails (#15970)
Signed-off-by: bjornjee <bjornjee95@gmail.com>
2025-10-27 13:34:59 -07:00
Krish Dholakia
2bd41dc034
Guardrails - Responses API, Image Gen, Text completions, Audio transcriptions, Audio Speech, Rerank, Anthropic Messages API support via the unified apply_guardrails function (#15706)
* fix(presidio.py): handle content as a list of texts

covers openai + anthropic messages api

* fix(presidio.py): safe get messages

* test: add unit testing for presidio guardrails

* fix(unified_guardrail.py): initial commit

* fix(enkryptai.py): implement apply_guardrail to enkrypt guardrail

* fix(unified_guardrail.py): support unified guardrail on input

* feat(unified_guardrail.py): add post call success hook implementation

allows us to just have 1 place to handle llm translation to guardrail api spec

* refactor: refactor initial unified guardrail component

* refactor: more refactoring

* feat(responses/): add guardrails to responses api

allows existing guardrails to work for new llm endpoints

* docs(adding_guardrail_support.md): document new guardrail endpoint support

* test: add unit tests

* feat(image_generation/): add guardrail support for image generation endpoint

* feat(openai/text_completion): support guardrails on `/v1/completions` API

* docs: document guardrails support on new endpoints

* docs: clarify when guardrails run

* feat(openai/speech): add guardrail support for input

* docs(rerank/): add guardrail support on input query

* fix: fix ruff check
2025-10-25 13:38:57 -07:00
Shadi
8a5ff84e49
fixed lasso import config, redis cluster hash tags for test keys (#15917) 2025-10-24 14:31:59 -07:00
oroxenberg
c793bd5ba9
Lasso Security Guardrail: Add v3 API Support (#12452)
* 1. add v3 classify
2. add new classifix for masking
3. support same id for the conversation for pre and post
working with duplicates

* clean code, remove some debug and run tests

* update liter errors

* improvment for Code Organization, httpx Error Handling Specificity, Logging Improvements and Type

* transfer test test_lasso_guard_config to the new location

* Fix type hints and linting errors in lasso.py

- Add type: ignore for httpx module when None
- Fix return type issues in _handle_classification and _handle_masking
- Ensure masked_messages is not None before passing to _apply_masking_to_model_response
- Convert LassoResponse to dict for _log_masking_applied call
2025-10-24 11:03:58 -07:00
YutaSaito
d79bdd491f
feat: add GraySwan Guardrails support (#15756) 2025-10-21 11:13:50 -07:00
Jason Roberts
c471bf1f16
feat(guardrails): Add content masking and streaming support to PANW Prisma AIRS guardrail (#15666)
* feat(guardrails): Add content masking and streaming support to PANW Prisma AIRS

- Add mask_request_content and mask_response_content parameters
- Implement content masking for prompts and responses
- Add streaming support with real-time masking
- Add comprehensive test coverage (28 tests)
- Update documentation with masking examples and security notes

* fix(guardrails): Fix PANW Prisma AIRS env var fallback and text completion support
2025-10-18 13:57:51 -07:00
Nicholas Couture
8032e73872
[Fix] Ensure guardrail memory sync after database updates (#15633)
* chore: Consistency in install-test-deps using poetry run

* feat: update in-memory guardrails after database CRUD operations

* test: add parameterized tests for guardrail CRUD with memory sync
2025-10-16 21:46:49 -07:00
Ariel Fogel
59c3aa02c3 respond to review comments 2025-10-16 20:38:49 +03:00
Ishaan Jaffer
9bde1c1a4c TestEnkryptAIGuardrailHooks 2025-10-10 19:59:41 -07:00
Ishaan Jaff
6cf57d85c3
[Feat] Add EnkryptAI Guardrails on LiteLLM (#15390)
* feat: add EnkryptAIGuardrail

* fix types

* fix EnkryptAIGuardrails

* __all__ = ["EnkryptAIGuardrail"]
fix

* fix EnkryptAIGuardrail

* TestEnkryptAIExtraction

* fix mypy linting

* docs enkrypt ai

* add EnkryptAIGuardrailConfigModel

* fix EnkryptAIGuardrailConfigModel

* fix import struct

* fix EnkryptAIGuardrails
2025-10-09 16:27:04 -07:00
Arshdeep Singh
471f011ae5 fix: add return type annotation for full mypy compliance 2025-09-25 12:52:12 -04:00
Arshdeep Singh
8193f56876 fix: remove print statement to pass ruff linting checks 2025-09-25 12:39:49 -04:00
Arshdeep Singh
39683cc3d8 fix: remove unused custom_recognizers variable to pass linting 2025-09-25 12:31:08 -04:00
Arshdeep Singh
8364da014f style: format code with black 2025-09-25 12:23:44 -04:00
Arshdeep Singh
82ec42993f fix(presidio): enable custom PII entities with Union type 2025-09-25 12:16:22 -04:00
Ishaan Jaffer
a48273740d test fix 2025-09-23 17:46:09 -07:00
=
14b3cc2f95 Update test_bedrock_guardrails.py 2025-09-18 19:48:16 -07:00
=
ed4bd504ea Revert "removed unnecessary test"
This reverts commit ad663e5240.
2025-09-18 19:45:13 -07:00
=
ad663e5240 removed unnecessary test 2025-09-18 19:37:15 -07:00
=
a3f0a3c05f Update test_bedrock_guardrails.py 2025-09-18 15:51:42 -07:00
=
911918474a removed duplicate code 2025-09-18 15:49:16 -07:00
=
917c8bb43c Update test_bedrock_guardrails.py 2025-09-18 15:42:41 -07:00
=
a86b9a1808 check for AWS exceptions despite a 200 response 2025-09-18 15:42:36 -07:00
Krish Dholakia
44e0c730b9
Merge pull request #14653 from ARajan1084/in-memory-guardrail-fix
fix: In Memory Guardrail fails to update
2025-09-17 17:42:23 -07:00
=
268b984cb6 added test for updating in memory guardrails 2025-09-17 17:16:49 -07:00
Krrish Dholakia
530662d735 test: add unit testing 2025-09-17 14:54:44 -07:00
Krish Dholakia
11822e63f1
Merge pull request #14519 from uc4w6c/feat/add_tools_permission_guardrail
feat: add tool-permission guardrail
2025-09-13 23:22:31 -07:00
Yuta Saito
1de7f076ac feat: add tool-permission guardrail 2025-09-13 07:34:29 +09:00
Tom Alon
b83b497d38 PR fixes 2025-09-11 13:38:06 +03:00
Tom Alon
b473344f70 Implement anonymization logic 2025-09-11 11:47:19 +03:00
Tom Alon
f6bc4d0bf9 Noma non blocking on monitor mode 2025-09-10 13:35:17 +03:00
pinkgu
285b14bd69
Fix/gcp model armor (#14381)
* chore: fix model armor always success

Signed-off-by: bjorn <bjornjee95@gmail.com>

* chore: fix sanitisation field extraction

Signed-off-by: bjorn <bjornjee95@gmail.com>

---------

Signed-off-by: bjorn <bjornjee95@gmail.com>
2025-09-09 09:18:37 -07:00
Krish Dholakia
10816a44d4
Merge pull request #13160 from pangeacyber/aidr-update
Update Pangea Guardrail to support new AIDR endpoint
2025-08-27 22:15:32 -07:00
Krish Dholakia
45f465d84f
Merge pull request #13572 from Noma-Security/noma-security-guardrails-support
Add Noma Security guardrail support
2025-08-26 23:15:17 -07:00
Fang Gong
91040b6b56 fix the api key support for bedrock guardrail in proxy 2025-08-20 18:46:00 -07:00
Ryan Means
a05330fcd8 Fix unit tests 2025-08-18 12:00:03 -07:00
Dor Zion
6a1f5bdc2f
Add Noma Security guardrail support 2025-08-13 13:39:21 +03:00
Anand Khinvasara
96dca4eff8
fix: 12152 - Redacted sensitive information logged in bedrock guardrails (#13356) 2025-08-07 08:42:11 -07:00
Jason Roberts
04c299410e
Fix/panw prisma airs post call hook (#13185)
* fix(guardrails): Fix PANW Prisma AIRS post-call hook method name

- Changed async_post_call_hook to async_post_call_success_hook to match proxy calling convention
- Added event_hook parameter to initialization to ensure proper hook registration
- Fixes post-call response scanning for PANW Prisma AIRS guardrails

Resolves issue where post-call hooks were not being invoked due to method name mismatch.

* Update PANW Prisma AIRS tests to use correct method name
2025-07-31 21:50:32 -07:00