diff --git a/website/public/promo/og-cloud.png b/website/public/promo/og-cloud.png
new file mode 100644
index 0000000000..125ea90c5e
Binary files /dev/null and b/website/public/promo/og-cloud.png differ
diff --git a/website/src/components/Footer.jsx b/website/src/components/Footer.jsx
index 8e850c7edd..b8e639b883 100644
--- a/website/src/components/Footer.jsx
+++ b/website/src/components/Footer.jsx
@@ -139,7 +139,7 @@ function SmallPrint() {
- Infrastructure for software that thinks
+ Infrastructure for the agentic era
{footer.social.map((item) => (
diff --git a/website/src/components/marketing/components/AnimatedCTATitle.tsx b/website/src/components/marketing/components/AnimatedCTATitle.tsx
index 978d9d87eb..9d4f05b687 100644
--- a/website/src/components/marketing/components/AnimatedCTATitle.tsx
+++ b/website/src/components/marketing/components/AnimatedCTATitle.tsx
@@ -11,7 +11,8 @@ export function AnimatedCTATitle() {
transition={{ duration: 0.5 }}
className='text-2xl font-normal tracking-tight text-white md:text-4xl'
>
- Infrastructure for software that thinks.
+ Infrastructure for
+ the agentic era.
);
}
diff --git a/website/src/components/marketing/pricing/PricingPageClient.tsx b/website/src/components/marketing/pricing/PricingPageClient.tsx
index 7e73ad7163..7a6037d1fe 100644
--- a/website/src/components/marketing/pricing/PricingPageClient.tsx
+++ b/website/src/components/marketing/pricing/PricingPageClient.tsx
@@ -493,24 +493,33 @@ const Pricing = () => {
name: "Open Source",
price: "Free",
period: "Forever",
- desc: "Rivet is open source and free to use on your own infrastructure.",
+ desc: "Rivet is open source. Run it on your own infrastructure with no usage limits.",
features: [
- "No usage limits",
- "Full source code access",
+ "Single Rust binary or Docker image",
+ "Air-gapped & on-prem deployments",
+ "BYO database (Postgres or filesystem)",
+ "Apache 2.0 license, full source access",
"Community support"
],
cta: "Get Started",
highlight: false
},
{
- name: "Enterprise Support",
+ name: "Enterprise Edition",
price: "Custom",
period: "",
- desc: "Get professional support and additional features for your self-hosted deployment.",
+ desc: "Production self-host bundle for teams running Rivet inside their own VPC, customer environments, or regulated networks.",
features: [
- "Priority support",
- "SLA guarantees",
- "Custom integrations"
+ "Actor orchestration runtime",
+ "FoundationDB persistence layer",
+ "ACL system",
+ "Advanced ClickHouse analytics",
+ "OpenTelemetry integration",
+ "Alert manager rules, Prometheus rules, Grafana configs",
+ "Kubernetes manifests",
+ "Air-gapped & sovereign-cloud deployments",
+ "Priority support & SLA",
+ "Hardening guidance for FedRAMP, HIPAA, regulated industries"
],
cta: "Contact Sales",
highlight: false
@@ -534,15 +543,25 @@ const Pricing = () => {
- {isCloud ? "Simple, Predictable Pricing" : "Rivet Self-Host"}
+ {isCloud ? "Simple, predictable pricing" : "Run it where your data lives"}
-
+
{isCloud
? "Pay for coordination and state. Compute costs are billed directly by your chosen cloud provider."
- : "Deploy Rivet on your own infrastructure."
+ : "Deploy Rivet inside your VPC, your customer's environment, or fully air-gapped. Use the compliance posture you already have."
}
);
diff --git a/website/src/components/marketing/sections/OnPremSection.tsx b/website/src/components/marketing/sections/OnPremSection.tsx
new file mode 100644
index 0000000000..695c6f0840
--- /dev/null
+++ b/website/src/components/marketing/sections/OnPremSection.tsx
@@ -0,0 +1,93 @@
+'use client';
+
+import { motion } from 'framer-motion';
+import { Lock, Building2, ShieldCheck, ArrowRight } from 'lucide-react';
+
+const points = [
+ {
+ icon: Lock,
+ title: 'Air-gapped and on-prem',
+ body: 'Run the same Rivet that powers our cloud entirely inside your perimeter. No outbound calls, no telemetry leaving your boundary.',
+ },
+ {
+ icon: Building2,
+ title: 'Embed in your customers',
+ body: 'Ship Rivet inside your customer’s VPC, regulated environment, or on-prem hardware. They keep their data, you keep your product.',
+ },
+ {
+ icon: ShieldCheck,
+ title: 'Your compliance posture, intact',
+ body: 'FedRAMP, HIPAA, regulated industries, sovereign clouds. Deploying inside the boundary your existing controls already cover keeps the audit story simple.',
+ },
+];
+
+export const OnPremSection = () => (
+
+
+
+
+ Run it where your data lives.
+
+
+ A single binary you control. Deploy Rivet inside your VPC, your customer’s VPC, or fully air-gapped. Use the compliance you already have instead of waiting on someone else’s.
+
+
+
+);
diff --git a/website/src/components/marketing/sections/ProductSplitSection.tsx b/website/src/components/marketing/sections/ProductSplitSection.tsx
index cb47b02116..3c951a74fc 100644
--- a/website/src/components/marketing/sections/ProductSplitSection.tsx
+++ b/website/src/components/marketing/sections/ProductSplitSection.tsx
@@ -180,7 +180,7 @@ export const ProductSplitSection = () => (
}
title='agentOS'
- tagline='A lightweight open-source operating system for agents. Built on WASM & V8.'
+ tagline='A lightweight open-source operating system for any type of agent. Built on WASM & V8.'
docsHref='/docs/agent-os'
detailsHref='/agent-os'
features={agentOSFeatures}
diff --git a/website/src/components/marketing/sections/RedesignedCTA.tsx b/website/src/components/marketing/sections/RedesignedCTA.tsx
index 942f7bd6fc..384226dd1f 100644
--- a/website/src/components/marketing/sections/RedesignedCTA.tsx
+++ b/website/src/components/marketing/sections/RedesignedCTA.tsx
@@ -16,7 +16,7 @@ export const RedesignedCTA = () => (
transition={{ duration: 0.5, delay: 0.1 }}
className='mb-8 text-base leading-relaxed text-zinc-500'
>
- The next generation of software needs a new kind of backend. This is it.
+ Build with agents, build for agents, and run it where your data lives.
Infrastructure for
- software that thinks.
+ the agentic era.
- Composable stateful compute for AI agents, collaborative apps, and durable execution.
+ Actors are the primitive for AI agents, real-time apps, and durable workflows. They burst when traffic spikes, sleep when idle, run for hours, and hold state across regions.
{
+ const products = [
+ {
+ name: 'Secure Exec',
+ tagline: 'Secure Node.js execution without a sandbox.',
+ bullets: [
+ 'V8 isolates with bridged Node APIs',
+ 'npm-compatible: fs, child_process, http',
+ '176x faster cold start than containers',
+ 'Just `npm install` — no Docker, no VMs',
+ ],
+ href: 'https://secureexec.dev/',
+ cta: 'secureexec.dev',
+ },
+ {
+ name: 'Sandbox Agent SDK',
+ tagline: 'Run coding agents in sandboxes. Control them over HTTP.',
+ bullets: [
+ 'One interface for Claude Code, Codex, OpenCode, Amp',
+ 'Streams events, handles permissions, manages sessions',
+ 'Replay, audit, and retain full transcripts',
+ 'Swap agents with a config change',
+ ],
+ href: 'https://sandboxagent.dev/',
+ cta: 'sandboxagent.dev',
+ },
+ ];
+
+ return (
+
+
+
+
+ The Rest of the Suite
+
+
+ Pairs with agentOS.
+
+
+ agentOS is where agents live. Secure Exec is how you safely run the code they generate. Sandbox Agent SDK is how you control coding agents over HTTP.
+
+