Complete AI governance and LLM Evals platform with support for EU AI Act, ISO 42001, NIST AI RMF and 20+ more AI frameworks and regulations. Join our Discord channel: https://discord.com/invite/d3k3E4uEpR https://verifywise.ai
  • TypeScript 90.1%
  • Python 7%
  • JavaScript 1.5%
  • HTML 0.7%
  • CSS 0.3%
  • Other 0.3%
Find a file
2026-04-07 19:40:35 +05:30
.claude merge: resolve conflicts with develop branch 2026-04-04 22:19:38 -04:00
.cursor/commands feat: add files content_search column and GIN index 2026-02-16 19:03:36 +05:30
.github fix the failing checks 2026-03-27 11:47:53 -04:00
agents agent.md 2026-02-23 20:20:59 +03:30
AIGateway Merge pull request #3677 from verifywise-ai/feat/mcp-gateway 2026-04-07 09:35:13 +03:30
BackendDocs I've reviewed and updated various Markdown files across the project to improve grammar, fix typos, and enhance readability. 2025-05-22 04:17:10 +00:00
Clients Merge pull request #3661 from verifywise-ai/feature/new-policy-modal-replace-inline-validation-with-generic-hook 2026-04-07 19:40:35 +05:30
CodeRules docs(CodeRules): add accessibility, common patterns, update README 2026-02-23 20:12:21 +03:30
docs chore(deps-dev): bump vite 2026-04-06 21:11:18 +00:00
EvalServer build(deps): bump aiohttp 2026-04-01 23:03:05 +00:00
EvaluationModule fix(llm-evals): expand judge LLM provider support and improve scorer error messages 2026-03-06 15:46:47 -05:00
GRSModule Merge pull request #3653 from verifywise-ai/feature/validation-playground 2026-04-04 22:10:13 -04:00
kubernetes update docker-compose and k8s 2026-03-27 10:07:01 -04:00
scripts Add API docs split script and update gitignore 2025-12-06 23:19:51 -05:00
Servers Merge pull request #3667 from verifywise-ai/fix/super-admin-improvements 2026-04-07 09:37:43 +03:30
shared/user-guide-content docs: add CI/CD integration user guide for LLM Evals 2026-04-05 19:13:53 -04:00
.dockerignore removed more redundant dependencies and changed pytorch version. Added a dockerignore for local builds. 2025-12-19 01:42:35 -05:00
.env.dev added superadmin functionality 2026-03-26 20:39:40 -04:00
.env.prod added superadmin functionality 2026-03-26 20:39:40 -04:00
.gitignore merge: resolve conflicts with develop branch 2026-04-04 22:19:38 -04:00
CHANGE_HISTORY_IMPLEMENTATION_GUIDE.md Document edge case handling in implementation guide 2025-11-23 07:02:52 +00:00
checksums.sha256 added checksum verification for file downloads 2025-07-21 15:07:18 -04:00
CLAUDE.md docs(fria): add user guide and technical documentation 2026-04-05 01:54:56 -04:00
Clean_Architecture.md I've reviewed and updated various Markdown files across the project to improve grammar, fix typos, and enhance readability. 2025-05-22 04:17:10 +00:00
docker-compose.override.yml update dockerization of ai gateway 2026-03-19 13:08:10 -04:00
docker-compose.prod.yml update dockerization of ai gateway 2026-03-19 13:08:10 -04:00
docker-compose.yml update docker-compose and k8s 2026-03-27 10:07:01 -04:00
entity-tips-content.md Add draft tips and hints content for all entity pages 2025-11-24 18:14:04 +00:00
install.sh Fix docker-compose references 2026-02-25 19:53:21 -05:00
ISSUE_DEADLINE_WARNING_SYSTEM.md Fix TypeScript build errors: add missing interface props, fix pagination types, install recharts 2025-12-04 14:27:36 -05:00
LICENSE.md Create LICENSE.md 2025-09-09 14:04:59 -04:00
LICENSING-FAQ.md Create LICENSING-FAQ.md 2025-09-09 14:09:04 -04:00
mlflow_integration.md feat: enhance MLFlow integration with modern UI and backend services 2025-10-26 22:02:12 -04:00
MODEL_SECURITY_SCANNING_PLAN.md feat: add AI Detection module for repository scanning 2025-12-29 01:35:55 -05:00
package-lock.json feat(fria): debounced saves, typed interfaces, submit modal, and score improvements 2026-03-07 13:38:34 -05:00
package.json feat(fria): debounced saves, typed interfaces, submit modal, and score improvements 2026-03-07 13:38:34 -05:00
README.md updated readme file for superadmin details 2026-03-30 19:47:13 -04:00
SECURITY.md Create SECURITY.md so that the relevant security advisories/vulnerabilities go to a private issue for further checks. 2025-04-11 22:02:48 -04:00
start.sh Revert "Merge pull request #2779 from bluewave-labs/experiment-bias-fairness" 2025-11-29 18:54:35 -05:00
version.json update version in version.json 2026-04-01 12:11:39 -04:00

Ask DeepWiki

github

VerifyWise is a source available AI governance platform designed to help businesses use the power of AI safely and responsibly. Our platform ensures compliance and robust AI management without compromising on security.

We are democratizing AI best practices with a solution that can be hosted on-premises, giving you complete control over your AI governance.

Screenshots

The main dashboard LLM Evals
image image
EU AI Act project view AI Use case risks
image image
AI Risk management AI Model inventory
image image
AI Model risks AI Policy manager and policy templates
image image
AI vendors and vendor risks AI Incident management (with filter example)
image image
AI Trust Center Automations
image image
Reporting
image

Features

VerifyWise platform

  • Option to host the application on-premises or in a private cloud
  • Source available license (BSL 1.1). Dual licensing is also available for enterprises
  • Faster audits using AI-generated answers for compliance and assessment questions
  • Full access to the source code for transparency, security audits, and customization
  • Docker and Kubernetes deployment (also deployable on render.com and similar platforms)
  • User registration, authentication, and role-based access control (RBAC) support
  • Major features:
    • Support for EU AI Act, ISO 42001, NIST AI RMF and ISO 27001
    • Dashboard: executive view & operating view
    • Vendors & vendor risks
    • AI use cases and risks
    • Global tasks with timeline view
    • Complete LLM Evals and LLM Arena
    • Evidence center with folder structure
    • AI trust center for public view
    • AI literacy training registery
    • AI Advisor, AI-powered chat interface providing governance recommendations
    • AI Detection Module, which scans code repositories to identify AI-generated content.
    • Shadow AI detection and risk management
    • AI agent discovery
    • Activity history for each entity
    • Integration with MIT and IBM AI risk repository
    • Model inventory and model risks that keeps a list of models used and risks
    • Policy manager to create and manage internal company AI policies
    • Risk and control mappings for EU AI Act, ISO 42001, NIST AI RMF and ISO 27001
    • CE Marking registry
    • Dataset registry
    • Desktop notifications
    • Approval workflows & approval requests
    • Detailed reports with PDF and DOCX export
    • Event logs (audits) for enterprise organizations
    • AI incident management
    • Plugins support with more than 15+ plugins (and counting)
    • Automations (when an entity changes, do this, or send period reports, or send webhooks)
    • Google OAuth2 and Entra ID (enterprise edition) support for authentication

Installation

The VerifyWise application has two components: a frontend built with React.js and a backend built with Node.js. At present, you can use npm (for development) or Docker/Kubernetes (production) to run VerifyWise. A PostgreSQL database is required.

Installation using npm (for development)

Prerequisites:

  • npm and Docker
  • Python 3.12+ (for EvalServer)
  • A running PostgreSQL, preferably as a Docker image (eg. using docker pull postgres:latest)
  • Available ports: 5173 (frontend), 3000 (backend), 5432 (database), 6379 (Redis), 8000 (EvalServer)

Step 1: Clone, install dependencies, and set up databases

First, clone the repository to your local machine and go to verifywise directory. Then, navigate to the Clients directory and install the dependencies:

git clone https://github.com/bluewave-labs/verifywise.git
cd verifywise
cd Clients
npm install
cd ../Servers
npm install

Go to the root directory and copy the contents of .env.dev to the .env file. For security, you must set a strong and unpredictable JWT_SECRET in your .env file. This secret is used to sign and verify your JWT tokens, so it must be kept private and cryptographically secure. You can generate a 256-bit base64-encoded secret using openssl rand -base64 32.

cd ..
cp .env.dev Servers/.env

In .env file, change FRONTEND_URL and set your super admin credentials:

FRONTEND_URL=http://localhost:5173
SUPERADMIN_EMAIL=admin@verifywise.com
SUPERADMIN_PASSWORD=ChangeMe!Str0ng

Important: Change SUPERADMIN_PASSWORD to a strong password (minimum 8 characters). These credentials are used to create the initial super admin account on first setup.

Note: CORS is automatically configured to allow requests from the same host (localhost, 127.0.0.1) where the backend is running.

Run the PostgreSQL container with the following command:

docker run -d --name mypostgres -p 5432:5432 -e POSTGRES_PASSWORD={env variable password} postgres

Run redis with following command:

docker run -d --name myredis -p 6379:6379 redis

Access the PostgreSQL container and create the verifywise database:

docker exec -it mypostgres psql -U postgres
CREATE DATABASE verifywise;

Step 2: Set up EvalServer (for LLM evaluations)

EvalServer is a Python-based service that handles LLM evaluations. If you want to use the evaluation features, follow these steps:

cd EvalServer
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Set up the environment file. You can copy the minimal .env.example file in the EvalServer directory:

cp .env.example .env

Step 3: Start the application

Navigate to the EvalServer/src directory, activate the virtual environment (if not already activated), and start the server:

cd EvalServer/src
source ../venv/bin/activate
python app.py

Navigate to the Servers directory and start the server in watch mode:

cd Servers
npm run watch

Navigate to the Clients directory and start the client in development mode:

cd Clients
npm run dev

Note: Make sure to replace {env variable password} with the actual password from your environment variables.

Note: On a fresh setup, a super admin account is created automatically using the SUPERADMIN_EMAIL and SUPERADMIN_PASSWORD environment variables. Log in with these credentials, then create an organization and invite users to get started. The login page will display a banner guiding you through this process.

Installation using Docker (production)

First, ensure you have the following installed:

  • npm
  • Docker
  • Docker Compose

Create a directory in your desired folder:

mkdir verifywise
cd verifywise

Download the required files using wget:

curl -O https://raw.githubusercontent.com/bluewave-labs/verifywise/develop/install.sh
curl -O https://raw.githubusercontent.com/bluewave-labs/verifywise/develop/.env.prod

Make sure to change the JWT_SECRET variable to your liking, set your super admin credentials (SUPERADMIN_EMAIL and SUPERADMIN_PASSWORD), and change localhost to the IP of the server. An example is shown below:

BACKEND_URL=http://64.23.242.4:3000
FRONTEND_URL=http://64.23.242.4:8080
SUPERADMIN_EMAIL=admin@verifywise.com
SUPERADMIN_PASSWORD=YourStr0ngPassword!

Note: CORS is automatically configured to allow requests from the same host where the backend is running.

Change the permissions of the install.sh script to make it executable, and then execute it.

chmod +x ./install.sh
./install.sh

Now the server is running on the IP and the port you defined in .env.prod file (8080 by default).

If the install.sh script doesn't work for some reason, try the following commands:

docker-compose --env-file .env.prod up -d backend
docker ps  # to confirm
docker-compose --env-file .env.prod up -d frontend
docker ps  # to confirm

If you want to re-run install.sh for some reason (e.g want to change a configuration in .env.prod file), first stop all Docker containers before starting a new one:

docker-compose --env-file .env.prod down
./install.sh

Note: On a fresh setup, a super admin account is created automatically using the SUPERADMIN_EMAIL and SUPERADMIN_PASSWORD environment variables. Log in with these credentials, then create an organization and invite users to get started.

Installing SSL

Here are the steps to enable SSL on your system.

  1. Make sure to point domain to VM IP

  2. Install Nginx:

sudo apt update
sudo apt install nginx -y
  1. Create a config file (/etc/nginx/sites-available/verifywise) with the following content. Change the domain name accordingly.
server {
    server_name domainname.com;

    client_max_body_size 200M;

    # Custom error page for maintenance/upgrades
    error_page 502 503 504 /upgrade.html;

    location = /upgrade.html {
        root /var/www/verifywise;
        internal;
    }

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /api/ {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
 }
  1. Create the directory for custom error pages and copy the upgrade page:
sudo mkdir -p /var/www/verifywise
sudo curl -o /var/www/verifywise/upgrade.html https://raw.githubusercontent.com/bluewave-labs/verifywise/develop/Clients/upgrade.html
  1. Enable the config:
sudo ln -s /etc/nginx/sites-available/verifywise /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
  1. Install Certbot for SSL:
sudo apt install certbot python3-certbot-nginx -y
  1. Obtain SSL certificate. Change the domain name accordingly.
sudo certbot --nginx -d domainname.com
  1. Update the .env.prod to point to correct domain. Change the domain name accordingly.
BACKEND_URL=https://domainname.com/api
FRONTEND_URL=https://domainname.com

Note: CORS is automatically configured to allow requests from the same host where the backend is running.

  1. Restart the application
./install.sh

Note: The Nginx configuration includes custom error pages that display a professional "upgrading" message instead of the default "502 Bad Gateway" error when the servers are not running or during maintenance.

Email configuration

VerifyWise supports multiple email service providers through a provider abstraction layer, enabling administrators to choose the most suitable email service for their organization. The system includes security enhancements such as TLS enforcement, input validation and credential rotation for supported providers.

Below is a list of supported email providers. You can use this documentation to setup the email service of your choice.

  • Exchange Online (Office 365) - Microsoft's cloud email service
  • On-Premises Exchange - Self-hosted Exchange servers
  • Amazon SES - AWS Simple Email Service
  • Resend - Developer-focused email API
  • Generic SMTP - SMTP support for any provider

Ports

Youll need to open ports 80 and 443 so VerifyWise can be accessed from the internet.

Security

If you find a vulnerability, please report it here.