2 Commits

Author SHA1 Message Date
340b00b272 Merge version_2 into main
Merge version_2 into main
2026-05-08 18:20:29 +00:00
5e8cebe693 Update src/app/page.tsx 2026-05-08 18:20:23 +00:00

View File

@@ -32,21 +32,13 @@ export default function LandingPage() {
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
navItems={[ navItems={[
{ {
name: "Home", name: "Home", id: "#hero"},
id: "#hero",
},
{ {
name: "How it Works", name: "How it Works", id: "#features"},
id: "#features",
},
{ {
name: "Pricing", name: "Pricing", id: "#pricing"},
id: "#pricing",
},
{ {
name: "Contact", name: "Contact", id: "#contact"},
id: "#contact",
},
]} ]}
brandName="Trail AI" brandName="Trail AI"
/> />
@@ -58,73 +50,39 @@ export default function LandingPage() {
description="Trail AI is the first PR Review Agent that catches secrets, credentials, and API keys before they leak. SOC2 compliant protection for 530 developer teams." description="Trail AI is the first PR Review Agent that catches secrets, credentials, and API keys before they leak. SOC2 compliant protection for 530 developer teams."
testimonials={[ testimonials={[
{ {
name: "Sarah Chen", name: "Sarah Chen", handle: "@schen_cto", testimonial: "Caught an AWS secret in under 30 seconds. Saved us a major audit headache.", rating: 5,
handle: "@schen_cto", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6hsrqa"},
testimonial: "Caught an AWS secret in under 30 seconds. Saved us a major audit headache.",
rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6hsrqa",
},
{ {
name: "Marcus Rodriguez", name: "Marcus Rodriguez", handle: "@mrodriguez", testimonial: "Essential for our SOC2 prep. Finally, an agent that understands our code context.", rating: 5,
handle: "@mrodriguez", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8lkxoe"},
testimonial: "Essential for our SOC2 prep. Finally, an agent that understands our code context.",
rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8lkxoe",
},
{ {
name: "Amina Okafor", name: "Amina Okafor", handle: "@aminadev", testimonial: "The only tool that actually explains *why* it's a security threat.", rating: 5,
handle: "@aminadev", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3t5i2q"},
testimonial: "The only tool that actually explains *why* it's a security threat.",
rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3t5i2q",
},
{ {
name: "Jason Lee", name: "Jason Lee", handle: "@jlee_tech", testimonial: "Automated security that feels like a senior engineer on the team.", rating: 5,
handle: "@jlee_tech", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=a4h5fm"},
testimonial: "Automated security that feels like a senior engineer on the team.",
rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=a4h5fm",
},
{ {
name: "Elena Vance", name: "Elena Vance", handle: "@evance_dev", testimonial: "Our compliance deadline was looming—Trail AI made it manageable.", rating: 5,
handle: "@evance_dev", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml7n63"},
testimonial: "Our compliance deadline was looming—Trail AI made it manageable.",
rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml7n63",
},
]} ]}
buttons={[ buttons={[
{ {
text: "Start Free Trail", text: "Start Free Trial", href: "#contact"},
href: "#contact",
},
{ {
text: "View Demo", text: "View Demo", href: "#features"},
href: "#features",
},
]} ]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3qw6dd" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3qw6dd"
avatars={[ avatars={[
{ {
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3qw6dd", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3qw6dd", alt: "professional CTO portrait office"},
alt: "professional CTO portrait office",
},
{ {
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xr9hdj", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xr9hdj", alt: "developer portrait clean background"},
alt: "developer portrait clean background",
},
{ {
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6hsrqa", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6hsrqa", alt: "compliance officer portrait"},
alt: "compliance officer portrait",
},
{ {
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8lkxoe", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8lkxoe", alt: "confident tech lead portrait"},
alt: "confident tech lead portrait",
},
{ {
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3t5i2q", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=3t5i2q", alt: "infrastructure engineer professional"},
alt: "infrastructure engineer professional",
},
]} ]}
avatarText="Trusted by 50+ lead engineers" avatarText="Trusted by 50+ lead engineers"
/> />
@@ -135,9 +93,7 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
title="Built for SOC2 Compliance" title="Built for SOC2 Compliance"
description={[ description={[
"Don't let a stray API key sabotage your security posture. Trail AI acts as a dedicated security engineer, reviewing every pull request before it hits production.", "Don't let a stray API key sabotage your security posture. Trail AI acts as a dedicated security engineer, reviewing every pull request before it hits production.", "We bridge the gap between simple pattern matching and true intelligent code context, specifically for startups with 5 to 30 engineers."]}
"We bridge the gap between simple pattern matching and true intelligent code context, specifically for startups with 5 to 30 engineers.",
]}
/> />
</div> </div>
@@ -148,20 +104,11 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
features={[ features={[
{ {
title: "Immediate Exploit Risks", title: "Immediate Exploit Risks", description: "Don't pay massive AWS bills or suffer data breaches from a single exposed Stripe secret.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xr9hdj"},
description: "Don't pay massive AWS bills or suffer data breaches from a single exposed Stripe secret.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xr9hdj",
},
{ {
title: "SOC2 Deadline Pressure", title: "SOC2 Deadline Pressure", description: "Stay audit-ready without needing a full-time, expensive security engineer on staff.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0jka2a"},
description: "Stay audit-ready without needing a full-time, expensive security engineer on staff.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0jka2a",
},
{ {
title: "Contextual Security", title: "Contextual Security", description: "Unlike simple pattern matches, our agent understands the code logic for fewer false positives.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=66sbj1"},
description: "Unlike simple pattern matches, our agent understands the code logic for fewer false positives.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=66sbj1",
},
]} ]}
title="Why Secrets Leaks are Catastrophic" title="Why Secrets Leaks are Catastrophic"
description="Bots scan GitHub 24/7. Average time to exploit? Under 4 minutes." description="Bots scan GitHub 24/7. Average time to exploit? Under 4 minutes."
@@ -175,20 +122,11 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
title: "Real-time Prevention", title: "Real-time Prevention", description: "Catch credentials in the PR stage. Never let an accidental push hit the main codebase.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=470vgv"},
description: "Catch credentials in the PR stage. Never let an accidental push hit the main codebase.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=470vgv",
},
{ {
title: "Deep Context", title: "Deep Context", description: "Know the risk behind the secret and fix it correctly the first time.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=d39al9"},
description: "Know the risk behind the secret and fix it correctly the first time.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=d39al9",
},
{ {
title: "Custom Secret Support", title: "Custom Secret Support", description: "Detect internal company-specific keys that generic tools miss entirely.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=gp3wmz"},
description: "Detect internal company-specific keys that generic tools miss entirely.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=gp3wmz",
},
]} ]}
title="How We Outperform The Market" title="How We Outperform The Market"
description="Standard tools scan after the merge. We stop it in the PR." description="Standard tools scan after the merge. We stop it in the PR."
@@ -200,14 +138,7 @@ export default function LandingPage() {
textboxLayout="default" textboxLayout="default"
useInvertedBackground={true} useInvertedBackground={true}
names={[ names={[
"CloudScale", "CloudScale", "DevOpsFlow", "SecureStack", "API Guard", "CodeTrust", "SyncEngine", "Vaultify"]}
"DevOpsFlow",
"SecureStack",
"API Guard",
"CodeTrust",
"SyncEngine",
"Vaultify",
]}
title="Trusted by Growing Startups" title="Trusted by Growing Startups"
description="Helping engineering teams maintain compliance and peace of mind." description="Helping engineering teams maintain compliance and peace of mind."
/> />
@@ -220,40 +151,15 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "1", id: "1", name: "Sarah Chen", handle: "@schen_cto", testimonial: "Caught an AWS secret in under 30 seconds. Saved us a major audit headache.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=sp3q8z"},
name: "Sarah Chen",
handle: "@schen_cto",
testimonial: "Caught an AWS secret in under 30 seconds. Saved us a major audit headache.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=sp3q8z",
},
{ {
id: "2", id: "2", name: "Marcus Rodriguez", handle: "@mrodriguez", testimonial: "Essential for our SOC2 prep. Finally, an agent that understands our code context.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1n4xgj"},
name: "Marcus Rodriguez",
handle: "@mrodriguez",
testimonial: "Essential for our SOC2 prep. Finally, an agent that understands our code context.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1n4xgj",
},
{ {
id: "3", id: "3", name: "Amina Okafor", handle: "@aminadev", testimonial: "The only tool that actually explains *why* it's a security threat.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=2d82fw"},
name: "Amina Okafor",
handle: "@aminadev",
testimonial: "The only tool that actually explains *why* it's a security threat.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=2d82fw",
},
{ {
id: "4", id: "4", name: "Jason Lee", handle: "@jlee_tech", testimonial: "Automated security that feels like a senior engineer on the team.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=dq1sqw"},
name: "Jason Lee",
handle: "@jlee_tech",
testimonial: "Automated security that feels like a senior engineer on the team.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=dq1sqw",
},
{ {
id: "5", id: "5", name: "Elena Vance", handle: "@evance_dev", testimonial: "Our compliance deadline was looming—Trail AI made it manageable.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=h6gqsp"},
name: "Elena Vance",
handle: "@evance_dev",
testimonial: "Our compliance deadline was looming—Trail AI made it manageable.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=h6gqsp",
},
]} ]}
title="Don't take our word for it" title="Don't take our word for it"
description="See why 50+ startups have switched to Trail AI." description="See why 50+ startups have switched to Trail AI."
@@ -267,40 +173,16 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
plans={[ plans={[
{ {
id: "basic", id: "basic", tag: "Essentials", price: "$99", period: "/mo", description: "Ideal for small teams under 10 developers.", button: {
tag: "Essentials", text: "Get Started", href: "#contact"},
price: "$99", featuresTitle: "Includes:", features: [
period: "/mo", "PR Secret Detection", "SOC2 Reporting", "Custom Alert Rules", "Email Support"],
description: "Ideal for small teams under 10 developers.",
button: {
text: "Get Started",
href: "#contact",
},
featuresTitle: "Includes:",
features: [
"PR Secret Detection",
"SOC2 Reporting",
"Custom Alert Rules",
"Email Support",
],
}, },
{ {
id: "pro", id: "pro", tag: "Growing", price: "$299", period: "/mo", description: "Best for teams up to 30 developers.", button: {
tag: "Growing", text: "Get Started", href: "#contact"},
price: "$299", featuresTitle: "Includes:", features: [
period: "/mo", "Everything in Basic", "Advanced Code Analysis", "Enterprise SSO", "Priority 24/7 Slack Support"],
description: "Best for teams up to 30 developers.",
button: {
text: "Get Started",
href: "#contact",
},
featuresTitle: "Includes:",
features: [
"Everything in Basic",
"Advanced Code Analysis",
"Enterprise SSO",
"Priority 24/7 Slack Support",
],
}, },
]} ]}
title="Simple, Scalable Pricing" title="Simple, Scalable Pricing"
@@ -314,20 +196,11 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
faqs={[ faqs={[
{ {
id: "1", id: "1", title: "How long does setup take?", content: "You can have Trail AI protecting your codebase in under 15 minutes."},
title: "How long does setup take?",
content: "You can have Trail AI protecting your codebase in under 15 minutes.",
},
{ {
id: "2", id: "2", title: "Is it SOC2 compliant?", content: "Yes, our agent is designed to help teams map their secrets management directly to SOC2 compliance requirements."},
title: "Is it SOC2 compliant?",
content: "Yes, our agent is designed to help teams map their secrets management directly to SOC2 compliance requirements.",
},
{ {
id: "3", id: "3", title: "Does this replace GitGuardian?", content: "We offer more than just pattern matching. We provide deep contextual security and prevention *before* the merge."},
title: "Does this replace GitGuardian?",
content: "We offer more than just pattern matching. We provide deep contextual security and prevention *before* the merge.",
},
]} ]}
title="Frequently Asked Questions" title="Frequently Asked Questions"
description="Have questions? We've got answers." description="Have questions? We've got answers."
@@ -339,8 +212,7 @@ export default function LandingPage() {
<ContactCenter <ContactCenter
useInvertedBackground={true} useInvertedBackground={true}
background={{ background={{
variant: "gradient-bars", variant: "gradient-bars"}}
}}
tag="Sign Up" tag="Sign Up"
title="Ready to secure your code?" title="Ready to secure your code?"
description="Join 50+ startups protecting their infrastructure today." description="Join 50+ startups protecting their infrastructure today."
@@ -351,42 +223,27 @@ export default function LandingPage() {
<FooterSimple <FooterSimple
columns={[ columns={[
{ {
title: "Product", title: "Product", items: [
items: [
{ {
label: "Security Features", label: "Security Features", href: "#features"},
href: "#features",
},
{ {
label: "Pricing", label: "Pricing", href: "#pricing"},
href: "#pricing",
},
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [
{ {
label: "About Us", label: "About Us", href: "#"},
href: "#",
},
{ {
label: "Careers", label: "Careers", href: "#"},
href: "#",
},
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ {
label: "Privacy Policy", label: "Privacy Policy", href: "#"},
href: "#",
},
{ {
label: "Terms of Service", label: "Terms of Service", href: "#"},
href: "#",
},
], ],
}, },
]} ]}
@@ -397,4 +254,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }