Sharang Parnerkar 91a4b6ab34
Some checks failed
CI / Format (push) Successful in 3s
CI / Clippy (push) Failing after 1m45s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / E2E Tests (push) Has been skipped
CI / Deploy (push) Has been skipped
feat(developer): replace agents iframe with informational landing and live agent table
LangGraph is API-only with no web UI, so the ToolEmbed iframe pattern
doesn't work. Replace it with an informational landing page featuring a
hero section, connection status indicator, quick-start card grid linking
to docs/GitHub/examples, and a live table of registered agents fetched
from the LangGraph POST /assistants/search endpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:37:33 +01:00
2026-02-18 09:46:29 +00:00
2026-02-18 09:46:29 +00:00
2026-02-18 09:46:29 +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%