Files
promptfoo--promptfoo/site/src/pages/guardrails.tsx
T
wehub-resource-sync 0d3cb498a3
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:24:08 +08:00

203 lines
7.3 KiB
TypeScript

import React from 'react';
import Head from '@docusaurus/Head';
import Link from '@docusaurus/Link';
import AccountBalanceIcon from '@mui/icons-material/AccountBalance';
import SecurityUpdateGoodIcon from '@mui/icons-material/SecurityUpdateGood';
import ShieldIcon from '@mui/icons-material/Shield';
import VerifiedUserIcon from '@mui/icons-material/VerifiedUser';
import Layout from '@theme/Layout';
import clsx from 'clsx';
import LogoContainer from '../components/LogoContainer';
import styles from './landing-page.module.css';
function HeroSection() {
return (
<section className={styles.heroSection}>
<div className="container">
<img src="/img/guardrails-framed.png" alt="AI Guardrails" className={styles.heroImage} />
<div className={styles.logoSection}>
Promptfoo is trusted by teams at...
<LogoContainer className={styles.heroLogos} noBackground noBorder />
</div>
{/*
<h2>Guardrails that evolve with emerging threats</h2>
<p>
Break free from static guardrails with our adaptive system that learns from red team
findings and real-world attacks.
</p>
*/}
</div>
</section>
);
}
function GuardrailsHeader() {
return (
<header className={clsx('hero', styles.heroBanner)}>
<div className="container">
<div className={styles.heroContent}>
<h1 className={styles.heroTitle}>AI Guardrails that learn & adapt</h1>
<p className={styles.heroSubtitle}>
Self-improving protection powered by continuous red teaming feedback
</p>
<div className={styles.heroButtons}>
<Link
className={clsx('button button--primary button--lg', styles.buttonPrimary)}
to="/contact/"
>
Request a Demo
</Link>
</div>
</div>
</div>
<HeroSection />
</header>
);
}
function BenefitsSection() {
return (
<section className={styles.benefitsSection}>
<div className="container">
<div className={styles.sectionEyebrow}>THE ADAPTIVE ADVANTAGE</div>
<h2 className={styles.sectionTitle}>Why choose adaptive guardrails?</h2>
<p className={styles.sectionSubtitle}>
Move beyond static rules to guardrails that evolve with emerging threats
</p>
<div className={styles.benefitsList}>
<div className={styles.benefitItem}>
<ShieldIcon className={styles.benefitIcon} />
<div className={styles.benefitContent}>
<h3>Self-improving protection</h3>
<p>
Unlike static guardrails, our system continuously learns from red team findings,
becoming more effective against new and evolving threats over time.
</p>
</div>
</div>
<div className={styles.benefitItem}>
<SecurityUpdateGoodIcon className={styles.benefitIcon} />
<div className={styles.benefitContent}>
<h3>Validate any guardrail system</h3>
<p>
Use our red teaming capabilities to test and improve third-party guardrails you
already have in place, providing an independent verification layer.
</p>
</div>
</div>
<div className={styles.benefitItem}>
<AccountBalanceIcon className={styles.benefitIcon} />
<div className={styles.benefitContent}>
<h3>Fast, flexible deployment</h3>
<p>
Implement in minutes with minimal code changes, on cloud or on-premises, supporting
all major LLM providers and custom models.
</p>
</div>
</div>
<div className={styles.benefitItem}>
<VerifiedUserIcon className={styles.benefitIcon} />
<div className={styles.benefitContent}>
<h3>Data-driven improvement</h3>
<p>
Our system uses actual attack data to refine defenses, creating a feedback loop that
makes your guardrails stronger with every attempted breach.
</p>
</div>
</div>
</div>
</div>
</section>
);
}
function ActionOrientedSection() {
return (
<section className={styles.actionOrientedSection}>
<div className="container">
<div className={styles.sectionEyebrow}>ADAPTIVE LEARNING</div>
<h2 className={styles.sectionTitle}>Guardrails that get smarter over time</h2>
<p className={styles.sectionSubtitle}>
Our unique feedback loop between red teaming and guardrails creates a continuously
improving defense system.
</p>
<div className={styles.screenshotPlaceholder}>
<img
loading="lazy"
src="/img/guardrails-table.png"
alt="Adaptive guardrails implementation"
/>
</div>
</div>
</section>
);
}
function ContinuousMonitoringSection() {
return (
<section className={styles.actionOrientedSection}>
<div className="container">
<div className={styles.sectionEyebrow}>INDEPENDENT VALIDATION</div>
<h2 className={styles.sectionTitle}>Third-Party Guardrail Validation</h2>
<p className={styles.sectionSubtitle}>
Already using another guardrail system? Our platform can validate and improve any
guardrail solution.
</p>
<div className={styles.screenshotPlaceholder}>
<img
loading="lazy"
src="/img/continuous-monitoring.png"
srcSet="/img/continuous-monitoring.png 1x, /img/continuous-monitoring@2x.png 2x"
alt="Third-party guardrail validation"
/>
</div>
</div>
</section>
);
}
function CallToActionSection() {
return (
<section className={styles.finalCTA}>
<div className="container">
<h2 className={styles.finalCTATitle}>Upgrade to guardrails that learn and adapt</h2>
<p className={styles.finalCTASubtitle}>
Join leading enterprises using adaptive AI guardrails to stay ahead of emerging threats.
</p>
<div className={styles.finalCTAButtons}>
<Link className="button button--primary button--lg" to="/contact/">
Request Demo
</Link>
</div>
<div className={styles.finalCTATrust}>
<p> Self-improving Third-party validation Cloud or on-premise</p>
</div>
</div>
</section>
);
}
export default function Guardrails(): React.ReactElement {
return (
<Layout
title="AI Guardrails"
description="Comprehensive AI guardrails to ensure safe, compliant, and brand-aligned outputs. Protect against harmful content, PII exposure, prompt injections, and regulatory violations."
>
<Head>
<meta property="og:image" content="https://www.promptfoo.dev/img/meta/guardrails.png" />
<meta name="twitter:card" content="summary_large_image" />
</Head>
<div className={styles.pageContainer}>
<GuardrailsHeader />
<main className={styles.mainContent}>
<ActionOrientedSection />
<ContinuousMonitoringSection />
<BenefitsSection />
<CallToActionSection />
</main>
</div>
</Layout>
);
}