Sharang Parnerkar 1a818ee5b9
All checks were successful
CI / E2E Tests (pull_request) Has been skipped
CI / Format (push) Successful in 28s
CI / Clippy (pull_request) Successful in 2m53s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
CI / E2E Tests (push) Has been skipped
CI / Clippy (push) Successful in 3m1s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Successful in 2s
fix(i18n): rename Ollama keys to LiteLLM in all language files
The dashboard code references dashboard.litellm_settings,
dashboard.litellm_url, dashboard.litellm_url_placeholder, and
dashboard.litellm_status but the i18n JSON files still had the
old Ollama key names. Also updates hint/placeholder text to
reference LITELLM_URL / LITELLM_MODEL env vars.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 18:43:00 +01:00
2026-02-18 09:46:29 +00:00
2026-02-25 10:01:56 +00:00
2026-02-18 09:46:29 +00:00
2026-02-25 10:01:56 +00:00
2026-02-18 09:46:29 +00:00
2026-02-25 10:01:56 +00:00

CERTifAI Logo

CERTifAI

Self-hosted, GDPR-compliant GenAI infrastructure dashboard

CI Rust Dioxus MongoDB Keycloak Tailwind CSS DaisyUI

GDPR License Platform PRs Welcome


About

CERTifAI is a SaaS dashboard for administering self-hosted private GenAI infrastructure. It gives companies and individuals a single pane of glass to manage LLMs, Agents, MCP Servers, and other GenAI-related services -- without sending data to non-EU cloud providers.

Why? Protect your intellectual property from being used as training data. Stay fully GDPR-compliant with infrastructure you own.

Features

Area Capabilities
User Management Add, remove, set roles, permissions, and restrictions
SSO / OAuth / LDAP Connect to company identity providers and sync users
Feature Flags Toggle GenAI features on or off per-org
Billing View seat usage and token consumption per billing cycle
Support Request support or new features via feedback form
GenAI Tools Manage LLMs, Agents, MCP Servers; launch Langchain, Langfuse, Tavily; view endpoints and generate API keys

Dashboard

The main dashboard provides a news feed powered by SearXNG and Ollama:

  • Topic-based search -- Browse AI, Technology, Science, Finance, and custom topics. Add or remove topics on the fly; selections persist in localStorage.
  • Article detail + AI summary -- Click any card to open a split-view panel. The full article is fetched, summarized by Ollama, and a follow-up chat lets you ask questions.
  • Sidebar (visible when no article is selected):
    • Ollama Status -- green/red indicator with the list of loaded models
    • Trending -- keywords extracted from recent news headlines via SearXNG
    • Recent Searches -- last 10 topics you searched, persisted in localStorage

Tech Stack

Layer Technology
Frontend Dioxus 0.7 (fullstack + router), Tailwind CSS 4, DaisyUI 5
Backend Axum, tower-sessions, Dioxus server functions
Database MongoDB
Auth Keycloak 26+ (OAuth2 + PKCE, Organizations)
Search SearXNG (meta-search)
LLM Ollama (local inference)

Getting Started

Prerequisites

  • Rust 1.89+
  • Dioxus CLI (dx)
  • MongoDB
  • Keycloak
  • SearXNG (optional)
  • Ollama (optional)

Setup

# Clone the repository
git clone https://gitea.meghsakha.com/sharang/certifai.git
cd certifai

# Configure environment
cp .env.example .env
# Edit .env with your Keycloak, MongoDB, and service URLs

# Run the dev server
dx serve

External Services

Service Purpose Default URL
Keycloak Identity provider / SSO http://localhost:8080
MongoDB User data and preferences mongodb://localhost:27017
SearXNG Meta-search engine for news http://localhost:8888
Ollama Local LLM for summarization http://localhost:11434

Project Structure

src/
  components/   Frontend-only reusable UI components
  infrastructure/   Server-side: auth, config, DB, server functions
  models/       Shared data models (web + server)
  pages/        Full page views composing components + models
assets/         Static assets (CSS, icons, manifest)
styles/         Tailwind/DaisyUI input stylesheet
bin/            Binary entrypoint

Git Workflow

We follow the feature branch workflow. The main branch is the default and protected branch.

CI

CI runs on Gitea Actions with runner tag docker.


Built with Rust, Dioxus, and a commitment to data sovereignty.

Description
The purpose of CERTifAIis to provide self-hosted and GDPR-Compliant GenAI infrastructure to companies who do not wish to subscribe to non-EU cloud providers to protect their intellectual property from being used as training data.
https://dash-dev.meghsakha.com
Readme 3.3 MiB
Languages
Rust 47.4%
CSS 26.3%
HTML 18.9%
JavaScript 4%
TypeScript 3.1%
Other 0.3%