Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
290824e
refactor(pii): eliminate duplication in ValidatedPatternRecognizer
tbartel74 Nov 18, 2025
542c3fc
fix(pii): fix PII entity disable regression - workflow now reads config
tbartel74 Nov 18, 2025
8ebb769
fix(workflow): assign filtered entities to Presidio API variables (Ph…
tbartel74 Nov 19, 2025
0a99998
chore: move sprint documentation to Vigil-misc
tbartel74 Nov 19, 2025
ab5004f
feat(pii): implement Presidio-only entity handling with validation fi…
tbartel74 Nov 19, 2025
61cb198
fix(pii): address PR review feedback - eliminate duplication and impr…
tbartel74 Nov 19, 2025
2dd08cb
fix(pii): address PR review feedback - GUI cleanup and test safety
tbartel74 Nov 19, 2025
dfd6fa5
fix(security): add XSS protection for PII redaction tokens
tbartel74 Nov 19, 2025
b0d3b11
fix(pii): add ReDoS protection with regex module timeout
tbartel74 Nov 19, 2025
9c2bc69
test(pii): fix XSS protection regex in unit tests
tbartel74 Nov 19, 2025
a0c875e
fix(pii): add Polish ó/Ó to XSS protection whitelist
tbartel74 Nov 19, 2025
dd26373
refactor(pii): extract validation functions and add comprehensive uni…
tbartel74 Nov 19, 2025
3b52c54
test(pii): add comprehensive integration tests with dependency mocking
tbartel74 Nov 19, 2025
a2051e3
fix(review): address critical PR review findings
tbartel74 Nov 19, 2025
226c63b
feat(web-ui): add False Positive Reporting interface with CSV export
tbartel74 Nov 19, 2025
78e4409
feat(web-ui): add True Positive (TP) reporting alongside False Positi…
tbartel74 Nov 20, 2025
4cc53e8
fix(web-ui): address PR review feedback for FP/TP reporting
tbartel74 Nov 20, 2025
a923b3a
fix(security): address critical PR review findings
tbartel74 Nov 20, 2025
60b5cc1
chore: merge main into feat/pii-phase3-validator-improvements
tbartel74 Nov 20, 2025
05d4aa0
feat(workflow)!: add Vigil Guard v2.0.0 with 3-branch architecture
tbartel74 Nov 24, 2025
50a8a00
feat(services)!: add heuristics-service (Branch B) and semantic-service
tbartel74 Nov 24, 2025
23d800f
feat(config)!: add Arbiter configuration to unified_config.json
tbartel74 Nov 24, 2025
bfebaa8
feat(backend): add v2 API and Investigation Panel with 3-branch visua…
tbartel74 Nov 24, 2025
1b2441b
feat(docker): integrate v2 services into docker-compose architecture
tbartel74 Nov 24, 2025
aa6bbe7
chore: add old_1.8_files to .gitignore
tbartel74 Nov 25, 2025
8c80141
chore!: remove deprecated v1.8 files and consolidate configs
tbartel74 Nov 25, 2025
a49597d
chore: update version references to v2.0.0
tbartel74 Nov 25, 2025
835c308
fix(web-ui): update File Manager and sections for v2.0.0
tbartel74 Nov 25, 2025
826d1ef
fix(web-ui): remove deprecated v1.8.1 config files and threshold vari…
tbartel74 Nov 25, 2025
745626f
feat(web-ui): add Arbiter configuration variables and fix Dockerfile
tbartel74 Nov 25, 2025
d73245b
fix(web-ui): remove v1.8.1 configuration sections from v2.0.0 GUI
tbartel74 Nov 25, 2025
976fbf4
fix(install)!: add Docker Compose v2 support and auto-migration for v…
tbartel74 Nov 26, 2025
8985d9e
feat(monitoring)!: add v2.0.0 SQL schema and remove v1.7/v1.8.1 artif…
tbartel74 Nov 26, 2025
7e0abdc
feat(config): add v2.0.0 environment variables for heuristics and sem…
tbartel74 Nov 26, 2025
06b41b4
fix(docker): update ClickHouse SQL volume mounts for v2.0.0 schema
tbartel74 Nov 26, 2025
3676852
feat(heuristics): populate divider, roleplay, and whisper pattern dat…
tbartel74 Nov 26, 2025
d7ab903
fix(backend): add pii_classification_json to events_v2 API responses
tbartel74 Nov 26, 2025
1a8f89c
feat(web-ui): add v2.0.0 configuration support and enhance Investigat…
tbartel74 Nov 26, 2025
f9dbd6a
fix(workflow): clean up deprecated PII patterns and update v2.0.0 wor…
tbartel74 Nov 26, 2025
454e1e9
feat(tests): migrate PII detection tests to v2.0.0 schema
tbartel74 Nov 26, 2025
2fe240b
feat(tests): add Hackaprompt dataset test suite
tbartel74 Nov 26, 2025
cf7923d
refactor(tests): update all E2E tests for v2.0.0 schema compatibility
tbartel74 Nov 26, 2025
50e31b3
feat(tests): add v2.0.0 specific test suites
tbartel74 Nov 26, 2025
f495a45
refactor(tests): migrate E2E tests to v2.0.0 events_v2 schema
tbartel74 Nov 26, 2025
b0bbba5
refactor(tests): remove duplicate PII test files
tbartel74 Nov 26, 2025
ba50584
fix(tests): update package.json scripts after removing duplicate PII …
tbartel74 Nov 26, 2025
f08213d
fix(tests): allow SANITIZED status for benign content with PII false …
tbartel74 Nov 26, 2025
4b5ad71
docs: restructure documentation for v2.0.0 3-branch architecture
tbartel74 Nov 26, 2025
3a7815e
feat(web-ui)!: add v2.0.0 3-branch configuration and monitoring
tbartel74 Nov 26, 2025
c41103b
feat(docs): add v2.0.0 GUI screenshots and update workflow diagram
tbartel74 Nov 26, 2025
7ba5471
feat(heuristics)!: enhance Branch B detection with security patterns
tbartel74 Nov 26, 2025
fb44300
feat(workflow)!: migrate to v2.0.0 3-branch architecture
tbartel74 Nov 26, 2025
750a55d
feat(infrastructure)!: update deployment for v2.0.0 3-branch system
tbartel74 Nov 26, 2025
9238d4c
feat(docs)!: add v2.0.0 pipeline diagram with correct PII flow
tbartel74 Nov 26, 2025
0a0ec39
fix(pr-audit): comprehensive v2.0.0 PR fixes
tbartel74 Nov 27, 2025
2acf552
merge: resolve conflicts with main for v2.0.0 release
tbartel74 Nov 27, 2025
358fc5c
chore: remove backup and temporary files from repository
tbartel74 Nov 27, 2025
1559f92
fix(security): comprehensive PR review fixes for v2.0.0
tbartel74 Nov 27, 2025
c8d0da4
fix(clickhouse): update vector index syntax for ClickHouse 24.1+
tbartel74 Nov 27, 2025
ff114f4
fix(grafana): rename Branch C label from LLM Guard to NLP Analysis
tbartel74 Nov 27, 2025
bcbde0e
fix(arbiter): implement any_branch_high logic for CONSERVATIVE_OVERRI…
tbartel74 Nov 27, 2025
51df69a
chore(ui): update branding to Enterprise AI Security Platform
tbartel74 Nov 27, 2025
fae025e
fix(tests): improve test infrastructure and PII config
tbartel74 Nov 27, 2025
5f7ce55
fix(pii): reorder entity list and remove PERSON from PII detection
tbartel74 Nov 27, 2025
1bed75b
feat(webhook): add Header Auth security for n8n webhook
tbartel74 Nov 28, 2025
6adbbec
fix(help): improve documentation system formatting and navigation
tbartel74 Nov 28, 2025
879eb73
fix(plugin): add Service Worker keep-alive to prevent context invalid…
tbartel74 Nov 28, 2025
6cf85df
docs: consolidate documentation structure for v2.0.0
tbartel74 Nov 28, 2025
194b787
fix(semantic): add startup resilience and ClickHouse dependency handling
tbartel74 Nov 28, 2025
a08ceb6
fix(security): resolve Python CVEs and update n8n to 1.121.3
tbartel74 Nov 28, 2025
123bf19
fix(tests): read webhook token from config/.webhook-token file
tbartel74 Nov 28, 2025
8afa294
fix(security): patch CVE-2024-21538 and CVE-2025-64756 in Node.js ser…
tbartel74 Nov 28, 2025
ee9eeaa
fix(security): patch CVE-2025-65018 (libpng) in frontend Alpine image
tbartel74 Nov 28, 2025
e843cca
fix(security): resolve additional CVEs in Docker images
tbartel74 Nov 28, 2025
16addf4
Remove moderation and PERSON/PII test suites
tbartel74 Nov 28, 2025
c61a527
feat(help): add dynamic Help system with jsDelivr CDN
tbartel74 Nov 28, 2025
fb7bb2c
fix(security): address PR review findings
tbartel74 Nov 28, 2025
49f2f6c
feat(heuristics): add CBRNE, authority appeal, and partial extraction…
tbartel74 Nov 29, 2025
0350a77
feat(semantic): add 300 embeddings for weak detection categories
tbartel74 Nov 29, 2025
143e249
chore(install): add verification for CBRNE and social engineering pat…
tbartel74 Nov 29, 2025
727a285
refactor(tests): redesign test suite with OWASP LLM Top 10 taxonomy
tbartel74 Nov 29, 2025
a6862ae
feat(tests): add custom Vitest reporter with progress bar
tbartel74 Nov 29, 2025
8809f1a
test(vitest): redesign test suite for accurate OWASP detection reporting
tbartel74 Nov 29, 2025
9a5b050
fix(ci): add heuristics-service package-lock.json for Docker builds
tbartel74 Nov 30, 2025
ae5c1e3
fix(ci): update documentation paths for v2.0.0 structure
tbartel74 Nov 30, 2025
25f7324
fix(ci): resolve multiple CI/CD failures
tbartel74 Nov 30, 2025
2b7c31d
fix: resolve TypeScript errors and unit test failures
tbartel74 Nov 30, 2025
566ec68
fix(test): increase entropy test timeout for CI variability
tbartel74 Nov 30, 2025
6f6828b
ci: fix semantic-service smoke test for degraded mode
tbartel74 Nov 30, 2025
b782498
ci: fix semantic-service health check using Node.js
tbartel74 Nov 30, 2025
23efe56
fix(security): address PR #55 review findings
tbartel74 Nov 30, 2025
3fbbb19
feat(plugin): add Bootstrap Token system for secure credential distri…
tbartel74 Nov 30, 2025
bde0806
fix: complete PR #55 review - v2.0.0 3-branch architecture refinements
tbartel74 Nov 30, 2025
e8280cf
fix(security): bootstrap token one-time use & webhook token protection
tbartel74 Nov 30, 2025
f58e958
fix(ci): correct Docker build context for web-ui-backend
tbartel74 Nov 30, 2025
5771798
fix(security): harden Bootstrap Token validation
tbartel74 Nov 30, 2025
632c2d8
chore: remove temporary optimization report
tbartel74 Nov 30, 2025
55ce273
fix: improve developer experience for test and embedding setup
tbartel74 Nov 30, 2025
3a80d12
fix(install): correct Python heredoc escaping for embedding import
tbartel74 Nov 30, 2025
fd624ed
fix(install): add strict verification of 3000+ embeddings
tbartel74 Nov 30, 2025
846b4cd
fix(install): replace Python row-by-row import with ClickHouse JSONEa…
tbartel74 Nov 30, 2025
22910c5
fix(tests): add override:true to dotenv config for reliable env loading
tbartel74 Nov 30, 2025
b0479f2
fix(plugin): add exhausted status handling for Bootstrap Token UI
tbartel74 Nov 30, 2025
f4b3ee8
feat(heuristics): add injection pattern detector for improved detection
tbartel74 Nov 30, 2025
32eaf7e
chore(test): suppress Node.js warnings in forked processes
tbartel74 Nov 30, 2025
8419549
fix(test): correct detection rate calculation in reporter
tbartel74 Nov 30, 2025
81bbf7d
docs(plugin): update browser extension documentation for v0.7.0
tbartel74 Dec 1, 2025
64ac7c1
fix(detection): improve test classification and add comment injection…
tbartel74 Dec 1, 2025
0c26b07
Fix pipeline image path
tbartel74 Dec 1, 2025
6f550a8
Merge branch 'main' into feat/pii-phase3-validator-improvements
tbartel74 Dec 1, 2025
e3131ea
Restore legacy config docs placeholders
tbartel74 Dec 1, 2025
a774a93
Remove legacy CONFIG_VARIABLES placeholders
tbartel74 Dec 1, 2025
1446b4f
Merge branch 'feat/pii-phase3-validator-improvements' of https://gith…
tbartel74 Dec 1, 2025
3930842
Docs: fetch from GitHub via versioned ref
tbartel74 Dec 1, 2025
0e66483
Help: fix structure loop, default README landing
tbartel74 Dec 1, 2025
8401265
docs: comprehensive documentation audit remediation
tbartel74 Dec 1, 2025
5bd830c
fix(docs): resolve broken cross-references in QUICKSTART.md
tbartel74 Dec 1, 2025
c2888ee
fix(frontend): remove unused argument from fetchDocsStructure calls
tbartel74 Dec 1, 2025
0bf5d4a
fix(plugin): resolve ERR_FILE_NOT_FOUND in downloaded plugin ZIP
tbartel74 Dec 3, 2025
c8eadaa
fix(backend): address PR review findings in pluginConfigRoutes
tbartel74 Dec 3, 2025
277f3fa
fix(plugin): replace ES module import with inline config
tbartel74 Dec 3, 2025
75a16d9
fix(backend): unify error responses in download-plugin endpoint
tbartel74 Dec 3, 2025
80798ba
Merge origin/main into fix/plugin-zip-directory-structure
tbartel74 Dec 3, 2025
5b932df
feat(semantic-service): E5 migration Phase 3-4 - Two-Phase Search v2.0
tbartel74 Dec 12, 2025
17ec965
docs(semantic-service): update documentation for E5 model v2.0.0
tbartel74 Dec 12, 2025
ce8d035
docs: update documentation for Arbiter v2.1.0
tbartel74 Dec 12, 2025
401b15f
feat(frontend): update GUI version to 2.1.0
tbartel74 Dec 12, 2025
2b096b9
feat(install): add safe embeddings import for Two-Phase Search
tbartel74 Dec 12, 2025
eff0d05
feat(semantic): add Two-Phase Search with safe embeddings
tbartel74 Dec 12, 2025
0d0bcee
feat(heuristics): add educational context detection
tbartel74 Dec 12, 2025
01841c0
feat(workflow): add Vigil Guard v2.1.0 n8n workflow
tbartel74 Dec 12, 2025
34730c0
refactor(backend): extract routes into modular architecture
tbartel74 Dec 13, 2025
a3abae0
refactor(frontend): split large components into modular architecture
tbartel74 Dec 13, 2025
5eb8ce2
test(frontend): add testing infrastructure with Vitest
tbartel74 Dec 13, 2025
fc65980
chore(docker): add healthchecks and security updates
tbartel74 Dec 13, 2025
890e133
docs(api): add PII Detection API documentation
tbartel74 Dec 13, 2025
0cd86bc
fix(test): add missing afterEach import in ErrorBoundary.test.tsx
tbartel74 Dec 13, 2025
46e8bf5
chore: remove decorative banners and simplify code comments
tbartel74 Dec 13, 2025
d1c66b2
feat(semantic): complete E5 embedding migration and Two-Phase Search
tbartel74 Dec 13, 2025
f02d3f9
fix: address PR review findings
tbartel74 Dec 13, 2025
fe712c4
fix(clickhouse): add embedding tables to init SQL, fix model revision…
tbartel74 Dec 13, 2025
0568a5b
fix(backend): correct branch health route path /api/branch → /api/bra…
tbartel74 Dec 13, 2025
8eac830
fix(semantic): prevent model download crash in CI/test environments
tbartel74 Dec 13, 2025
e8ae133
fix: update test SHA, fix webhook ID, remove redundant UI element
tbartel74 Dec 13, 2025
4187a76
chore: gitignore generated branch-analysis-results.json
tbartel74 Dec 13, 2025
6ca7001
fix(ci): add SKIP_MODEL_LOAD for semantic-service smoke test
tbartel74 Dec 13, 2025
b053ddc
fix(ci): add SKIP_CLICKHOUSE_WAIT for semantic-service smoke test
tbartel74 Dec 13, 2025
b9f8b57
fix(semantic): SKIP_MODEL_LOAD throws error to signal degraded mode
tbartel74 Dec 13, 2025
72d5377
docs: update version references from 2.0.0 to 2.1.0
tbartel74 Dec 14, 2025
2dc997a
docs: complete PR #63 version bump and fix documentation errors
tbartel74 Dec 14, 2025
6f1bdf1
docs: fix test count and Grafana port inconsistencies
tbartel74 Dec 14, 2025
78aaf57
Merge origin/main into release/v2.1.0
tbartel74 Dec 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ jobs:

- name: Check Markdown files exist
run: |
# v2.0.0 documentation structure
# v2.1.0 documentation structure
required_docs=(
"README.md"
"docs/README.md"
Expand Down Expand Up @@ -410,7 +410,7 @@ jobs:
[ -x install.sh ] || (echo "install.sh not executable" && exit 1)
[ -x scripts/download-llama-model.sh ] || (echo "download-llama-model.sh not executable" && exit 1)

# Heuristics Service - Unit Tests (v2.0.0)
# Heuristics Service - Unit Tests (v2.1.0)
heuristics-service-tests:
name: Heuristics Service - Unit Tests
runs-on: ubuntu-latest
Expand Down Expand Up @@ -440,7 +440,7 @@ jobs:
working-directory: services/heuristics-service
run: npm test -- tests/unit/

# Semantic Service - Unit Tests (v2.0.0)
# Semantic Service - Unit Tests (v2.1.0)
semantic-service-tests:
name: Semantic Service - Unit Tests
runs-on: ubuntu-latest
Expand Down Expand Up @@ -641,7 +641,7 @@ jobs:
echo " ✓ Documentation checked"
echo " ✓ Security audit completed"
echo " ✓ Installation scripts validated"
echo " ✓ Heuristics Service unit tests (v2.0.0)"
echo " ✓ Semantic Service unit tests (v2.0.0)"
echo " ✓ Heuristics Service unit tests (v2.1.0)"
echo " ✓ Semantic Service unit tests (v2.1.0)"
echo " ✓ Golden Dataset Quality Gate (E5 Migration v2.0)"
echo ""
10 changes: 5 additions & 5 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ After installation completes, you **must** perform these manual steps:
2. Click **"Add Workflow"** → **"Import from File"**
3. Import the workflow file from:
```
services/workflow/workflows/Vigil Guard v2.0.0.json
services/workflow/workflows/Vigil Guard v2.1.0.json
```
4. The workflow will load with all 40 nodes

Expand Down Expand Up @@ -220,7 +220,7 @@ lsof -i :3001 # Grafana (proxied via Caddy)

1. **✅ Complete n8n Setup** (REQUIRED - see Step 4 above)
- Create n8n account
- Import workflow from `services/workflow/workflows/Vigil Guard v2.0.0.json`
- Import workflow from `services/workflow/workflows/Vigil Guard v2.1.0.json`
- Configure ClickHouse credentials (admin/[password from .env])

2. **Configure Security Rules**
Expand Down Expand Up @@ -273,6 +273,6 @@ This will:
For detailed documentation, see [README.md](README.md) and [docs/](docs/)

---
**Document Version:** 2.0.0
**Last Updated:** 2025-12-01
**Installation Script:** install.sh v2.0.0
**Document Version:** 2.1.0
**Last Updated:** 2025-12-14
**Installation Script:** install.sh v2.1.0
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Vigil Guard protects LLM applications from prompt injection attacks, jailbreak a
| **Investigation Panel** | Advanced prompt search with decision analysis |
| **Dynamic Configuration** | Web-based GUI for security policies |
| **Browser Extension** | Chrome/Edge protection for ChatGPT/Claude.ai |
| **160+ Tests** | E2E suite with OWASP AITG coverage |
| **170+ Tests** | E2E suite with OWASP AITG coverage |

## Architecture

Expand All @@ -38,7 +38,7 @@ Input → Validation → [Branch A: Heuristics ] → Arbiter → Decision
```

**Arbiter Decision Fusion:**
- Weights: A=0.30, B=0.35, C=0.35
- Weights: A=0.30, B=0.40, C=0.30
- Block threshold: 50 points
- Boost policies for high-confidence detections

Expand Down Expand Up @@ -92,16 +92,16 @@ vigil-guard/
├── services/
│ ├── workflow/ # n8n detection engine
│ │ ├── config/ # Detection rules (use Web UI!)
│ │ ├── tests/ # 160+ E2E tests
│ │ └── workflows/ # Vigil Guard v2.0.0.json
│ │ ├── tests/ # 170+ E2E tests
│ │ └── workflows/ # Vigil Guard v2.1.0.json
│ ├── web-ui/ # React + Express
│ ├── presidio-pii-api/ # Dual-language PII
│ ├── language-detector/ # PL/EN detection
│ └── monitoring/ # ClickHouse + Grafana
├── prompt-guard-api/ # Llama Guard service
├── plugin/ # Chrome extension
├── docs/ # Documentation
└── docker-compose.yml # 9 services
└── docker-compose.yml # 11 services
```

## Screenshots
Expand Down
4 changes: 2 additions & 2 deletions config/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ CADDY_HTTPS_PORT=443
DOMAIN=localhost

# ============================================
# HEURISTICS SERVICE (Branch A - v2.0.0)
# HEURISTICS SERVICE (Branch A - v2.1.0)
# ============================================
# Pattern-based detection: obfuscation, structure, whisper, entropy
HEURISTICS_PORT=5005
Expand All @@ -158,7 +158,7 @@ TARGET_LATENCY_MS=50
CIRCUIT_BREAKER_ENABLED=true

# ============================================
# SEMANTIC SERVICE (Branch B - v2.0.0)
# SEMANTIC SERVICE (Branch B - v2.1.0)
# ============================================
# Vector similarity search using MiniLM embeddings
SEMANTIC_SERVICE_PORT=5006
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ services:
heuristics-service:
build: ./services/heuristics-service
container_name: vigil-heuristics
image: vigil-heuristics:2.0.0
image: vigil-heuristics:2.1.0
environment:
- NODE_ENV=${NODE_ENV:-production}
- LOG_LEVEL=${HEURISTICS_LOG_LEVEL:-info}
Expand Down
14 changes: 7 additions & 7 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ This document provides a comprehensive technical overview of Vigil Guard's v2.1.

## Overview

Vigil Guard v2.0.0 introduces a **3-branch parallel detection architecture** that replaces the previous sequential 40-node pipeline. The new system achieves:
Vigil Guard v2.1.0 introduces a **3-branch parallel detection architecture** that replaces the previous sequential 40-node pipeline. The new system achieves:

- **Parallel Processing**: All 3 branches execute simultaneously using Promise.all()
- **Binary Decisions**: ALLOW or BLOCK (sanitization reserved for PII only)
Expand All @@ -47,7 +47,7 @@ Vigil Guard v2.0.0 introduces a **3-branch parallel detection architecture** tha

```
v1.x: Input → 40 Sequential Nodes → Score → Decision → Output
v2.0: Input → 3 Parallel Branches → Arbiter → Decision → PII (if ALLOW) → Output
v2.1: Input → 3 Parallel Branches → Arbiter → Decision → PII (if ALLOW) → Output
```

---
Expand All @@ -60,7 +60,7 @@ v2.0: Input → 3 Parallel Branches → Arbiter → Decision → PII (if ALLOW)
- **Decisions:** ALLOW (0-29), SANITIZE_LIGHT (30-64), SANITIZE_HEAVY (65-84), BLOCK (85-100)
- **Latency:** 15-30s typical (sequential processing)

### v2.0.0 (3-Branch Parallel + Arbiter)
### v2.1.0 (3-Branch Parallel + Arbiter)
- **Nodes:** 24 total (11 Code nodes)
- **Flow:** Input Validation → 3-Branch Executor → Arbiter → Decision Router → PII Redaction (ALLOW only)
- **Decisions:** ALLOW or BLOCK (binary)
Expand All @@ -75,7 +75,7 @@ v2.0: Input → 3 Parallel Branches → Arbiter → Decision → PII (if ALLOW)

```
┌─────────────────────────────────────────────────────────────────────────┐
│ Vigil Guard v2.0.0 Pipeline │
│ Vigil Guard v2.1.0 Pipeline │
└─────────────────────────────────────────────────────────────────────────┘

[Webhook v2] / [Chat Trigger]
Expand Down Expand Up @@ -706,7 +706,7 @@ const finalDecision = finalScore >= 50 ? 'BLOCK' : 'ALLOW';

## PII Redaction (Post-Detection)

**Critical Change in v2.0.0:**
**Critical Change in v2.1.0:**

PII redaction is applied **ONLY for ALLOW decisions**, **AFTER** the Arbiter decision.

Expand Down Expand Up @@ -1122,6 +1122,6 @@ stateDiagram-v2

---

**Document Version:** 2.0.0
**Last Reviewed:** 2025-11-27
**Document Version:** 2.1.0
**Last Reviewed:** 2025-12-14
**Maintainer:** Vigil Guard Team
14 changes: 7 additions & 7 deletions docs/GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ Score multiplier applied when a branch reports high confidence. Ensures dangerou
Pattern-based detection using Aho-Corasick prefilter and regex patterns. Port 5005. Weight: 0.30.

### Branch B (Semantic)
Embedding-based detection using sentence transformers. Measures cosine similarity to known threat categories. Port 5006. Weight: 0.35.
Embedding-based detection using sentence transformers. Measures cosine similarity to known threat categories. Port 5006. Weight: 0.40.

### Branch C (LLM Safety Engine)
Machine learning classification using Meta Llama Guard 2 model. Detects novel attacks that bypass pattern matching. Port 8000. Weight: 0.35.
Machine learning classification using Meta Llama Guard 2 model. Detects novel attacks that bypass pattern matching. Port 8000. Weight: 0.30.

## C

Expand Down Expand Up @@ -119,7 +119,7 @@ ClickHouse table engine. Optimized for high-volume inserts and aggregation queri
## N

### n8n
Workflow automation platform hosting the detection pipeline. Contains 40+ nodes for processing.
Workflow automation platform hosting the detection pipeline. Contains 24 nodes for processing.

### NIP (Numer Identyfikacji Podatkowej)
Polish tax identification number. 10-digit format with checksum validation.
Expand All @@ -138,7 +138,7 @@ Polish national identification number. 11-digit format encoding birth date and g
Data that can identify an individual: names, emails, phone numbers, government IDs.

### Pipeline
The 40-node detection workflow processing input from webhook to final decision.
The 24-node detection workflow processing input from webhook to final decision.

### Presidio
Microsoft's PII detection framework. Supports 50+ entity types with ML and rule-based recognizers.
Expand Down Expand Up @@ -193,18 +193,18 @@ Main configuration file. Contains thresholds, weights, category settings, PII op
The complete prompt injection detection and defense platform.

### vigil-net
Docker network connecting all 9 services. Internal DNS resolution for container communication.
Docker network connecting all 11 services. Internal DNS resolution for container communication.

## W

### Webhook
HTTP endpoint receiving prompts for analysis: `/webhook/vigil-guard-2`

### Weight
Branch contribution to final score. A=0.30, B=0.35, C=0.35.
Branch contribution to final score. A=0.30, B=0.40, C=0.30.

### Workflow
n8n automation containing the detection pipeline. File: `Vigil Guard v2.0.0.json`
n8n automation containing the detection pipeline. File: `Vigil Guard v2.1.0.json`

---

Expand Down
6 changes: 3 additions & 3 deletions docs/TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ This guide helps resolve common issues with Vigil Guard deployment and operation

2. **Check n8n workflow is active**
- Visit http://localhost:5678
- Ensure "Vigil Guard v2.0.0" workflow is **Active** (toggle in top-right)
- Ensure "Vigil Guard v2.1.0" workflow is **Active** (toggle in top-right)

3. **Test workflow with sample request**
```bash
Expand Down Expand Up @@ -517,5 +517,5 @@ If you cannot resolve the issue:

---

**Last Updated:** 2025-12-01
**Version:** 2.0.0
**Last Updated:** 2025-12-14
**Version:** 2.1.0
4 changes: 2 additions & 2 deletions docs/guides/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: Navigation hub for all user documentation -->
<!-- GUI-SECTION: guides -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down Expand Up @@ -56,7 +56,7 @@
│ • Settings │
│ │ │
├──────────┴──────────────────────────────────────────┤
│ Footer: Version 2.0.0 │ Built with Llama │
│ Footer: Version 2.1.0 │ Built with Llama │
└─────────────────────────────────────────────────────┘
```

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/administration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: User management and role-based access control -->
<!-- GUI-SECTION: administration -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: Detection rules, thresholds, and security policy management -->
<!-- GUI-SECTION: configuration -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: Real-time security analytics and Grafana integration -->
<!-- GUI-SECTION: monitoring -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/investigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: Advanced prompt search and forensic analysis -->
<!-- GUI-SECTION: investigation -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: User preferences, timezone, and password management -->
<!-- GUI-SECTION: settings -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down
2 changes: 1 addition & 1 deletion docs/operations/maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Last updated: 2025-11-26
- Confirm LLM Safety Engine and PII model compatibility (endpoints unchanged).

## Monitoring
- Grafana (port 3000) – dashboards based on `events_v2` (branch_a/b/c_score, threat_score, final_status).
- Grafana (port 3001) – dashboards based on `events_v2` (branch_a/b/c_score, threat_score, final_status).
- Service logs: `docker-compose logs -f <service>`.

## Health checks
Expand Down
2 changes: 1 addition & 1 deletion docs/overview/QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ curl -X POST http://localhost:5678/webhook/vigil-guard-2 \
- Workflow (n8n): 5678 (`/n8n/`), webhook `/webhook/vigil-guard-2`.
- PII API: 5001, Language Detector: 5002.
- Heuristics: 5005, Semantic: 5006, LLM Safety Engine: 8000.
- ClickHouse: 8123 (HTTP), Grafana: 3000.
- ClickHouse: 8123 (HTTP), Grafana: 3001.

## What next
- Check architecture: `docs/architecture/pipeline.md`
Expand Down
4 changes: 2 additions & 2 deletions docs/services/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- GUI-HELP: Quick reference for all Vigil Guard microservices -->
<!-- GUI-SECTION: services -->

**Version:** 2.0.0 | **Last Updated:** 2025-11-28
**Version:** 2.1.0 | **Last Updated:** 2025-12-14

---

Expand Down Expand Up @@ -188,7 +188,7 @@ Which service handles it?

## Workflow (n8n)

**File:** `services/workflow/workflows/Vigil Guard v2.0.0.json`
**File:** `services/workflow/workflows/Vigil Guard v2.1.0.json`

**Webhook:** `POST /webhook/vigil-guard-2`

Expand Down
2 changes: 1 addition & 1 deletion plugin/Chrome/src/background/service-worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ async function fetchConfigFromGUI() {
n8nEndpoint: data.webhookUrl || DEFAULT_CONFIG.n8nEndpoint,
customWebhook: '',
guiUrl: data.guiUrl || DEFAULT_GUI_URL,
version: data.version || '2.0.0',
version: data.version || '2.1.0',
endpoint: DEFAULT_CONFIG.endpoint,
apiKey: '',
mode: 'monitor',
Expand Down
10 changes: 9 additions & 1 deletion scripts/import-embeddings.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
#!/bin/bash
#
<<<<<<< HEAD
# Import Semantic Embeddings to ClickHouse (v2.1.0)
=======
# Import Semantic Embeddings to ClickHouse (v2.0.0)
>>>>>>> origin/main
# Standalone script for manual recovery (production-ready, idempotent)
#
# Usage:
Expand All @@ -11,7 +15,11 @@
# This script uses ClickHouse-native JSONEachRow format for atomic bulk import.
# Safe to run multiple times (idempotent via TRUNCATE).
#
<<<<<<< HEAD
# v2.1.0: Uses pattern_embeddings_v2 (E5 model) and semantic_safe_embeddings
=======
# v2.0.0: Uses pattern_embeddings_v2 (E5 model) and semantic_safe_embeddings
>>>>>>> origin/main

set -euo pipefail
IFS=$'\n\t'
Expand All @@ -36,7 +44,7 @@ fi

source .env

# Configuration v2.0.0
# Configuration v2.1.0
ATTACK_EMBEDDINGS_FILE="services/semantic-service/data/datasets/enterprise_attack_embeddings.jsonl"
SAFE_EMBEDDINGS_FILE="services/semantic-service/data/datasets/safe_embeddings.jsonl"
SECURITY_EDUCATION_FILE="services/semantic-service/data/datasets/security_education_embeddings.jsonl"
Expand Down
2 changes: 1 addition & 1 deletion services/heuristics-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Heuristics Service (Branch A) - v2.0.0
# Heuristics Service (Branch A) - v2.1.0
FROM node:20-alpine AS builder

# Security: Update npm to fix CVE-2024-21538 (cross-spawn) and CVE-2025-64756 (glob)
Expand Down
Loading
Loading