| <!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"> |
|
|
| |
| <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> |
| |
| <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> |
|
|
| |
| <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> |
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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"> |
| |
| <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> |
|
|
| |
| <div class="glass-panel rounded-2xl border border-charcoal/10 shadow-lg flex flex-col min-h-[560px] relative overflow-hidden"> |
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <div class="space-y-2" id="findings-list"> |
| |
| </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> |
|
|
| |
| <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"> |
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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> |
|
|
| |
| <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 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> |