CrypticallyRequie's picture
🐳 22/05 - 17:15 - try again please
620b6ec verified
Raw
History Blame Contribute Delete
34.8 kB
<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Agentegrity β€” AI Agent Integrity Testing Framework</title>
<meta name="description" content="Open-source framework for testing AI agent integrity, safety, and robustness against adversarial scenarios.">
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
serif: ['Georgia', 'serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
brand: {
50: '#FFFDE8',
100: '#FFF9B8',
200: '#FFF588',
300: '#FFF158',
400: '#F6EB21',
500: '#D4C900',
600: '#B5AF00',
700: '#8A8500',
800: '#5A5700',
900: '#3D3B00',
},
beige: '#F5F5F3',
cream: '#F0EFEA',
surface: '#E8E3D8',
charcoal: '#1A1A1A',
alert: '#F20E25',
nvidia: '#76B900',
teal: '#14B8A6',
purple: '#8B5CF6',
},
animation: {
'fade-in': 'fadeIn 0.5s ease-out forwards',
'slide-up': 'slideUp 0.6s ease-out forwards',
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
}
}
}
}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body class="bg-beige text-charcoal font-sans antialiased selection:bg-brand-400/30 selection:text-charcoal">
<!-- Navbar -->
<nav class="fixed top-0 w-full z-50 border-b border-charcoal/10 glass-panel">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<div class="flex items-center gap-2.5">
<div class="w-8 h-8 rounded-lg bg-charcoal flex items-center justify-center">
<i data-lucide="shield-check" class="w-5 h-5 text-brand-400"></i>
</div>
<span class="font-bold text-lg tracking-tight text-charcoal">Agentegrity</span>
</div>
<div class="hidden md:flex items-center gap-8 text-sm font-medium text-charcoal/60">
<a href="#playground" class="hover:text-charcoal transition-colors">Playground</a>
<a href="#suites" class="hover:text-charcoal transition-colors">Test Suites</a>
<a href="#integration" class="hover:text-charcoal transition-colors">Integration</a>
<a href="https://github.com/Cogensec/agentegrity-framework" target="_blank" rel="noopener noreferrer" class="hover:text-charcoal transition-colors">GitHub</a>
</div>
<div class="hidden md:flex items-center gap-3">
<a href="#playground" class="px-4 py-2 rounded-lg bg-brand-400 hover:bg-brand-500 text-charcoal text-sm font-semibold transition-all">
Try Demo
</a>
</div>
<button id="mobile-menu-btn" class="md:hidden p-2 rounded-lg text-charcoal/60 hover:text-charcoal hover:bg-surface transition-colors">
<i data-lucide="menu" class="w-6 h-6"></i>
</button>
</div>
</div>
<!-- Mobile Menu -->
<div id="mobile-menu" class="hidden md:hidden border-t border-charcoal/10 glass-panel">
<div class="px-4 py-4 space-y-3">
<a href="#playground" class="block text-charcoal/70 hover:text-charcoal font-medium">Playground</a>
<a href="#suites" class="block text-charcoal/70 hover:text-charcoal font-medium">Test Suites</a>
<a href="#integration" class="block text-charcoal/70 hover:text-charcoal font-medium">Integration</a>
<a href="https://github.com/Cogensec/agentegrity-framework" target="_blank" rel="noopener noreferrer" class="block text-charcoal/70 hover:text-charcoal font-medium">GitHub</a>
</div>
</div>
</nav>
<!-- Hero -->
<section class="relative pt-32 pb-20 overflow-hidden">
<div class="absolute inset-0 pointer-events-none">
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[500px] bg-brand-400/15 rounded-full blur-[120px]"></div>
<div class="absolute bottom-0 right-0 w-[600px] h-[400px] bg-surface/60 rounded-full blur-[100px]"></div>
<div class="absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMSIgY3k9IjEiIHI9IjEiIGZpbGw9InJnYmEoMjYsMjYsMjYsMC4wNCkiLz48L3N2Zz4=')] [mask-image:linear-gradient(to_bottom,white,transparent)]"></div>
</div>
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative">
<div class="grid lg:grid-cols-2 gap-12 items-center">
<div class="space-y-8 animate-slide-up">
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-brand-400/10 border border-brand-400/30 text-charcoal text-xs font-semibold tracking-wide uppercase">
<span class="w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse"></span>
Open Source Framework v1.0
</div>
<h1 class="text-4xl sm:text-5xl lg:text-6xl font-extrabold tracking-tight text-charcoal leading-[1.1]">
Ensure Your AI Agents <br/>
<span class="text-transparent bg-clip-text bg-gradient-to-r from-charcoal to-charcoal/70">Stay on Mission</span>
</h1>
<p class="text-lg text-charcoal/60 max-w-xl leading-relaxed">
Agentegrity is an adversarial testing framework for evaluating agent integrity, safety, and robustness. Detect prompt leaks, goal hijacking, hallucinations, and bias before production.
</p>
<div class="flex flex-wrap items-center gap-4">
<a href="#playground" class="px-6 py-3 rounded-xl bg-brand-400 hover:bg-brand-500 text-charcoal font-semibold transition-all flex items-center gap-2">
<i data-lucide="play-circle" class="w-5 h-5"></i>
Run Live Demo
</a>
<a href="https://github.com/Cogensec/agentegrity-framework" target="_blank" rel="noopener noreferrer" class="px-6 py-3 rounded-xl bg-charcoal hover:bg-charcoal/90 text-white font-semibold transition-all border border-charcoal/20 flex items-center gap-2">
<i data-lucide="github" class="w-5 h-5"></i>
View on GitHub
</a>
</div>
</div>
<div class="relative hidden lg:block animate-fade-in" style="animation-delay: 0.2s;">
<div class="relative rounded-2xl bg-charcoal border border-white/10 shadow-2xl overflow-hidden">
<div class="flex items-center gap-2 px-4 py-3 border-b border-white/10 bg-charcoal/50">
<div class="w-3 h-3 rounded-full bg-rose-500/80"></div>
<div class="w-3 h-3 rounded-full bg-amber-500/80"></div>
<div class="w-3 h-3 rounded-full bg-nvidia/80"></div>
<span class="ml-2 text-xs text-white/40 font-mono">agentegrity.config.js</span>
</div>
<div class="p-5 font-mono text-sm leading-relaxed text-white/80 overflow-x-auto">
<div class="flex"><span class="text-purple-400 mr-2">import</span> { Agentegrity } <span class="text-purple-400 mx-2">from</span> <span class="text-brand-400">'@agentegrity/core'</span>;</div>
<div class="mt-3 text-white/40">// Initialize integrity framework</div>
<div class="flex"><span class="text-sky-400 mr-2">const</span> tester = <span class="text-purple-400">new</span> <span class="text-brand-400">Agentegrity</span>({</div>
<div class="pl-4 text-white/70">endpoint: <span class="text-brand-400">'https://api.agent.com/v1'</span>,</div>
<div class="pl-4 text-white/70">model: <span class="text-brand-400">'gpt-4o'</span>,</div>
<div class="pl-4 text-white/70">suites: [</div>
<div class="pl-8 text-white/55">'prompt_injection',</div>
<div class="pl-8 text-white/55">'consistency',</div>
<div class="pl-8 text-white/55">'data_exfiltration'</div>
<div class="pl-4 text-white/70">]</div>
<div class="text-white/70">});</div>
<div class="mt-3 flex"><span class="text-purple-400">await</span> tester.<span class="text-brand-400">run</span>();</div>
</div>
</div>
<!-- Floating badge -->
<div class="absolute -bottom-4 -left-4 px-4 py-3 rounded-xl bg-white border border-charcoal/10 shadow-xl flex items-center gap-3">
<div class="w-10 h-10 rounded-full bg-brand-400/15 flex items-center justify-center text-charcoal">
<i data-lucide="check-circle-2" class="w-5 h-5"></i>
</div>
<div>
<div class="text-xs text-charcoal/50 font-medium">Integrity Score</div>
<div class="text-lg font-bold text-charcoal">94/100</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Stats Strip -->
<section class="border-y border-charcoal/10 bg-cream">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10">
<div class="grid grid-cols-2 md:grid-cols-4 gap-8 text-center">
<div class="space-y-1">
<div class="text-3xl font-bold text-charcoal counter" data-target="1240">0</div>
<div class="text-sm text-charcoal/50 font-medium uppercase tracking-wider">Agents Tested</div>
</div>
<div class="space-y-1">
<div class="text-3xl font-bold text-charcoal counter" data-target="85600">0</div>
<div class="text-sm text-charcoal/50 font-medium uppercase tracking-wider">Tests Run</div>
</div>
<div class="space-y-1">
<div class="text-3xl font-bold text-charcoal counter" data-target="42">0</div>
<div class="text-sm text-charcoal/50 font-medium uppercase tracking-wider">Test Scenarios</div>
</div>
<div class="space-y-1">
<div class="text-3xl font-bold text-charcoal counter" data-target="18">0</div>
<div class="text-sm text-charcoal/50 font-medium uppercase tracking-wider">Adversarial Patterns</div>
</div>
</div>
</div>
</section>
<!-- Playground -->
<section id="playground" class="py-24 relative">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center max-w-3xl mx-auto mb-12 space-y-4">
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-brand-400/10 border border-brand-400/30 text-charcoal text-xs font-semibold tracking-wide uppercase">
<i data-lucide="zap" class="w-3.5 h-3.5"></i>
Interactive Demo
</div>
<h2 class="text-3xl sm:text-4xl font-bold text-charcoal">Live Testing Playground</h2>
<p class="text-charcoal/60 text-lg">Configure your agent, select adversarial test suites, and simulate an integrity evaluation in seconds.</p>
</div>
<div class="grid lg:grid-cols-2 gap-6">
<!-- Configuration Panel -->
<div class="glass-panel rounded-2xl p-6 sm:p-8 border border-charcoal/10 shadow-lg">
<div class="flex items-center justify-between mb-6">
<h3 class="text-lg font-semibold text-charcoal flex items-center gap-2">
<i data-lucide="sliders-horizontal" class="w-5 h-5 text-brand-500"></i>
Configuration
</h3>
<span class="text-xs px-2 py-1 rounded-md bg-surface text-charcoal/60 border border-charcoal/10">Simulation Mode</span>
</div>
<div class="space-y-5">
<div>
<label class="block text-sm font-medium text-charcoal/80 mb-1.5">Agent Name</label>
<input type="text" id="agent-name" placeholder="e.g. CustomerSupport-Bot" class="w-full px-4 py-2.5 rounded-lg bg-white border border-charcoal/10 text-charcoal placeholder-charcoal/40 focus:outline-none focus:ring-2 focus:ring-brand-400/40 focus:border-brand-400/40 transition-all" value="DemoAgent-v1">
</div>
<div>
<label class="block text-sm font-medium text-charcoal/80 mb-1.5">Endpoint URL</label>
<div class="relative">
<i data-lucide="link" class="absolute left-3 top-2.5 w-4 h-4 text-charcoal/40"></i>
<input type="text" id="agent-url" placeholder="https://api.example.com/agent" class="w-full pl-10 pr-4 py-2.5 rounded-lg bg-white border border-charcoal/10 text-charcoal placeholder-charcoal/40 focus:outline-none focus:ring-2 focus:ring-brand-400/40 focus:border-brand-400/40 transition-all" value="https://demo.agentegrity.io/api/agent">
</div>
</div>
<div>
<label class="block text-sm font-medium text-charcoal/80 mb-1.5">Model</label>
<select id="agent-model" class="w-full px-4 py-2.5 rounded-lg bg-white border border-charcoal/10 text-charcoal focus:outline-none focus:ring-2 focus:ring-brand-400/40 focus:border-brand-400/40 transition-all appearance-none">
<option>gpt-4o</option>
<option>claude-3-5-sonnet</option>
<option>llama-3.1-70b</option>
<option>custom</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-charcoal/80 mb-3">Test Suites</label>
<div class="flex flex-wrap gap-2" id="suite-chips">
<button type="button" data-suite="prompt_injection" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="shield-alert" class="w-3.5 h-3.5"></i> Prompt Injection
</button>
<button type="button" data-suite="data_exfiltration" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="database" class="w-3.5 h-3.5"></i> Data Exfiltration
</button>
<button type="button" data-suite="consistency" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="repeat" class="w-3.5 h-3.5"></i> Consistency
</button>
<button type="button" data-suite="hallucination" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="brain-circuit" class="w-3.5 h-3.5"></i> Hallucination
</button>
<button type="button" data-suite="bias" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="scale" class="w-3.5 h-3.5"></i> Bias & Fairness
</button>
<button type="button" data-suite="robustness" class="suite-chip px-3 py-1.5 rounded-lg text-sm border border-charcoal/10 bg-surface/50 text-charcoal/60 hover:text-charcoal hover:border-charcoal/30 transition-all flex items-center gap-2 select-none">
<i data-lucide="hammer" class="w-3.5 h-3.5"></i> Robustness
</button>
</div>
<p id="suite-error" class="text-xs text-alert mt-2 hidden">Please select at least one test suite.</p>
</div>
<button id="run-btn" class="w-full py-3 rounded-lg bg-charcoal hover:bg-charcoal/90 text-brand-400 font-semibold transition-all flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed">
<i data-lucide="play" class="w-4 h-4" id="run-icon"></i>
<span id="run-text">Run Evaluation</span>
</button>
</div>
</div>
<!-- Results Panel -->
<div class="glass-panel rounded-2xl border border-charcoal/10 shadow-lg flex flex-col min-h-[560px] relative overflow-hidden">
<!-- Empty State -->
<div id="results-empty" class="flex-1 flex flex-col items-center justify-center p-8 text-center">
<div class="w-16 h-16 rounded-2xl bg-surface flex items-center justify-center mb-4 border border-charcoal/10">
<i data-lucide="activity" class="w-8 h-8 text-charcoal/40"></i>
</div>
<h4 class="text-charcoal font-medium mb-1">No Evaluation Data</h4>
<p class="text-sm text-charcoal/50 max-w-xs">Select your configuration and run the evaluation to see integrity results.</p>
</div>
<!-- Loading State -->
<div id="results-loading" class="hidden absolute inset-0 bg-charcoal/95 backdrop-blur-sm z-10 flex flex-col p-6">
<div class="flex items-center gap-3 mb-4">
<div class="w-2 h-2 rounded-full bg-brand-400 animate-pulse"></div>
<span class="text-sm font-medium text-brand-400">Running Evaluation...</span>
</div>
<div id="terminal-log" class="flex-1 font-mono text-xs text-white/55 space-y-1 overflow-y-auto pr-2"></div>
<div class="mt-4 h-1 bg-white/10 rounded-full overflow-hidden">
<div id="progress-bar" class="h-full bg-brand-400 transition-all duration-300" style="width: 0%"></div>
</div>
</div>
<!-- Results Content -->
<div id="results-content" class="hidden flex-col flex-1 p-6 sm:p-8 overflow-y-auto">
<div class="flex items-center justify-between mb-6">
<div>
<h3 class="text-lg font-semibold text-charcoal">Evaluation Results</h3>
<p class="text-xs text-charcoal/50 mt-0.5 font-mono" id="result-agent-name">Agent: β€”</p>
</div>
<div id="overall-badge" class="px-3 py-1 rounded-lg text-sm font-bold bg-surface border border-charcoal/10 text-charcoal">
β€”
</div>
</div>
<!-- Category Scores -->
<div class="grid grid-cols-3 gap-3 mb-6">
<div class="bg-cream rounded-xl p-3 border border-charcoal/10">
<div class="text-xs text-charcoal/50 mb-2 font-medium">Security</div>
<div class="flex items-end gap-1">
<span class="text-2xl font-bold text-charcoal" id="score-security">0</span>
<span class="text-xs text-charcoal/50 mb-1">%</span>
</div>
<div class="h-1.5 bg-charcoal/10 rounded-full mt-2 overflow-hidden">
<div class="h-full rounded-full transition-all duration-1000" style="width: 0%" id="bar-security"></div>
</div>
</div>
<div class="bg-cream rounded-xl p-3 border border-charcoal/10">
<div class="text-xs text-charcoal/50 mb-2 font-medium">Integrity</div>
<div class="flex items-end gap-1">
<span class="text-2xl font-bold text-charcoal" id="score-integrity">0</span>
<span class="text-xs text-charcoal/50 mb-1">%</span>
</div>
<div class="h-1.5 bg-charcoal/10 rounded-full mt-2 overflow-hidden">
<div class="h-full rounded-full transition-all duration-1000" style="width: 0%" id="bar-integrity"></div>
</div>
</div>
<div class="bg-cream rounded-xl p-3 border border-charcoal/10">
<div class="text-xs text-charcoal/50 mb-2 font-medium">Compliance</div>
<div class="flex items-end gap-1">
<span class="text-2xl font-bold text-charcoal" id="score-compliance">0</span>
<span class="text-xs text-charcoal/50 mb-1">%</span>
</div>
<div class="h-1.5 bg-charcoal/10 rounded-full mt-2 overflow-hidden">
<div class="h-full rounded-full transition-all duration-1000" style="width: 0%" id="bar-compliance"></div>
</div>
</div>
</div>
<!-- Findings List -->
<div class="space-y-2" id="findings-list">
<!-- Dynamically populated -->
</div>
<div class="mt-6 pt-4 border-t border-charcoal/10 flex justify-end">
<button id="reset-btn" class="text-sm text-charcoal/50 hover:text-charcoal flex items-center gap-1.5 transition-colors">
<i data-lucide="rotate-ccw" class="w-4 h-4"></i>
Reset & Run Again
</button>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Test Suites -->
<section id="suites" class="py-24 bg-cream border-y border-charcoal/10">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center max-w-3xl mx-auto mb-16 space-y-4">
<h2 class="text-3xl sm:text-4xl font-bold text-charcoal">Adversarial Test Suites</h2>
<p class="text-charcoal/60 text-lg">Comprehensive scenarios that probe your agent for failure modes before attackers do.</p>
</div>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- Card 1 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-brand-400/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-alert/10 flex items-center justify-center text-alert mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="shield-alert" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Prompt Injection</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Tests direct, indirect, and multi-turn injection attacks designed to override system instructions.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Direct</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Indirect</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Goal Hijack</span>
</div>
</div>
<!-- Card 2 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-teal/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-teal/10 flex items-center justify-center text-teal mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="database" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Data Exfiltration</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Detects PII leakage, system prompt extraction, and memory dumping vulnerabilities.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">PII Leak</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Prompt Extract</span>
</div>
</div>
<!-- Card 3 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-brand-400/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-brand-400/10 flex items-center justify-center text-brand-500 mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="repeat" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Consistency</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Validates temporal logic, persona stability, and resistance to contradiction across sessions.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Logic</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Persona</span>
</div>
</div>
<!-- Card 4 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-purple/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-purple/10 flex items-center justify-center text-purple mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="brain-circuit" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Hallucination</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Measures factuality, citation accuracy, and confabulation rates under knowledge-boundary probes.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Factuality</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Citation</span>
</div>
</div>
<!-- Card 5 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-amber-500/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-amber-500/10 flex items-center justify-center text-amber-600 mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="scale" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Bias & Fairness</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Audits demographic parity, stereotype resistance, and toxic output generation.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Parity</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Toxicity</span>
</div>
</div>
<!-- Card 6 -->
<div class="group p-6 rounded-2xl bg-white border border-charcoal/10 hover:border-nvidia/50 hover:bg-cream transition-all duration-300">
<div class="w-12 h-12 rounded-xl bg-nvidia/10 flex items-center justify-center text-nvidia mb-4 group-hover:scale-110 transition-transform">
<i data-lucide="hammer" class="w-6 h-6"></i>
</div>
<h3 class="text-lg font-semibold text-charcoal mb-2">Robustness</h3>
<p class="text-sm text-charcoal/60 leading-relaxed mb-4">Adversarial spelling, noise injection, and edge-case handling for resilient agents.</p>
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Noise</span>
<span class="px-2 py-1 rounded-md bg-cream text-xs text-charcoal/60 border border-charcoal/10">Edge Cases</span>
</div>
</div>
</div>
</div>
</section>
<!-- Integration -->
<section id="integration" class="py-24">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid lg:grid-cols-2 gap-12 items-center">
<div class="space-y-6">
<h2 class="text-3xl sm:text-4xl font-bold text-charcoal">Built for Developers</h2>
<p class="text-charcoal/60 text-lg leading-relaxed">
Drop Agentegrity into your CI/CD pipeline or run it locally against any agent endpoint. Define suites in YAML or JavaScript, and export results to SARIF, JSON, or Markdown.
</p>
<ul class="space-y-4">
<li class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-brand-400/15 flex items-center justify-center text-charcoal mt-0.5 shrink-0">
<i data-lucide="check" class="w-3.5 h-3.5"></i>
</div>
<div>
<div class="text-charcoal font-medium">Framework Agnostic</div>
<div class="text-sm text-charcoal/60">Works with OpenAI, Anthropic, Ollama, or any custom endpoint.</div>
</div>
</li>
<li class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-brand-400/15 flex items-center justify-center text-charcoal mt-0.5 shrink-0">
<i data-lucide="check" class="w-3.5 h-3.5"></i>
</div>
<div>
<div class="text-charcoal font-medium">CI/CD Native</div>
<div class="text-sm text-charcoal/60">GitHub Actions and GitLab CI templates included.</div>
</div>
</li>
<li class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-brand-400/15 flex items-center justify-center text-charcoal mt-0.5 shrink-0">
<i data-lucide="check" class="w-3.5 h-3.5"></i>
</div>
<div>
<div class="text-charcoal font-medium">Extensible Suites</div>
<div class="text-sm text-charcoal/60">Write custom probes in JavaScript or YAML.</div>
</div>
</li>
</ul>
</div>
<div class="relative">
<div class="rounded-2xl bg-charcoal border border-white/10 shadow-2xl overflow-hidden">
<div class="flex items-center justify-between px-5 py-3 border-b border-white/10 bg-charcoal/50">
<div class="flex gap-2">
<div class="w-3 h-3 rounded-full bg-white/15"></div>
<div class="w-3 h-3 rounded-full bg-white/15"></div>
</div>
<span class="text-xs text-white/40 font-mono">terminal</span>
</div>
<div class="p-5 font-mono text-sm leading-relaxed overflow-x-auto">
<div class="text-white/40"># Install CLI</div>
<div class="text-white/80">npm <span class="text-brand-400">install</span> -g @agentegrity/cli</div>
<div class="mt-4 text-white/40"># Initialize config</div>
<div class="text-white/80">agentegrity <span class="text-brand-400">init</span></div>
<div class="mt-4 text-white/40"># Run evaluation</div>
<div class="text-white/80">agentegrity <span class="text-brand-400">run</span> --config agentegrity.yml</div>
<div class="mt-3 text-white/40"># Output</div>
<div class="text-nvidia">βœ“ Prompt Injection .......... 92/100</div>
<div class="text-nvidia">βœ“ Consistency ............... 88/100</div>
<div class="text-amber-400">⚠ Data Exfiltration ......... 74/100</div>
<div class="text-alert">βœ— Hallucination ............. 61/100</div>
<div class="mt-2 text-white/30">──────────────────────────────</div>
<div class="text-white/80">Overall Integrity Score: <span class="text-brand-400 font-bold">78/100</span></div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="py-20">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="relative rounded-3xl bg-charcoal border border-white/10 p-10 sm:p-16 text-center overflow-hidden">
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-full h-full bg-[radial-gradient(ellipse_at_top,rgba(246,235,33,0.12),transparent_70%)] pointer-events-none"></div>
<div class="relative space-y-6">
<h2 class="text-3xl sm:text-4xl font-bold text-white">Ready to stress-test your agents?</h2>
<p class="text-white/55 text-lg max-w-2xl mx-auto">Join the community shipping safer AI agents. Star the repo, open an issue, or contribute a new adversarial probe.</p>
<div class="flex flex-wrap justify-center gap-4">
<a href="https://github.com/Cogensec/agentegrity-framework" target="_blank" rel="noopener noreferrer" class="px-8 py-3.5 rounded-xl bg-brand-400 hover:bg-brand-500 text-charcoal font-bold transition-all flex items-center gap-2">
<i data-lucide="github" class="w-5 h-5"></i>
Star on GitHub
</a>
<a href="#playground" class="px-8 py-3.5 rounded-xl bg-transparent hover:bg-white/10 text-white font-bold transition-all border border-white/30 flex items-center gap-2">
<i data-lucide="play" class="w-5 h-5"></i>
Try the Demo
</a>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="border-t border-charcoal/10 py-12 bg-beige">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex flex-col md:flex-row items-center justify-between gap-6">
<div class="flex items-center gap-2">
<div class="w-6 h-6 rounded bg-charcoal flex items-center justify-center">
<i data-lucide="shield-check" class="w-3.5 h-3.5 text-brand-400"></i>
</div>
<span class="font-semibold text-charcoal">Agentegrity</span>
</div>
<div class="text-sm text-charcoal/50">
Cogensec. Open source under MIT License.
</div>
<div class="flex items-center gap-4">
<a href="#" class="text-charcoal/40 hover:text-charcoal transition-colors"><i data-lucide="github" class="w-5 h-5"></i></a>
<a href="#" class="text-charcoal/40 hover:text-charcoal transition-colors"><i data-lucide="twitter" class="w-5 h-5"></i></a>
<a href="#" class="text-charcoal/40 hover:text-charcoal transition-colors"><i data-lucide="message-circle" class="w-5 h-5"></i></a>
</div>
</div>
</footer>
<script src="https://unpkg.com/lucide@latest"></script>
<script src="script.js"></script>
<script src="https://deepsite.hf.co/deepsite-badge.js"></script>
</body>
</html>