Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions src/app/contact/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import type { Metadata } from "next";
import Link from "next/link";
import { ArrowLeft, Mail, Globe, MessageSquare } from "lucide-react";

export const metadata: Metadata = {
title: "Contact Us — AgentFlow",
description: "Get in touch with the AgentFlow team. We're here to help.",
};

export default function ContactPage() {
return (
<div className="min-h-dvh bg-white">
{/* Nav */}
<nav className="sticky top-0 z-50 bg-white/80 backdrop-blur-md border-b border-surface-100">
<div className="max-w-3xl mx-auto px-4 h-16 flex items-center">
<Link
href="/"
className="flex items-center gap-2 text-sm text-surface-500 hover:text-surface-900 transition-colors"
>
<ArrowLeft className="h-4 w-4" />
Back to home
</Link>
</div>
</nav>

{/* Content */}
<main className="max-w-3xl mx-auto px-4 py-12">
<h1 className="font-heading text-3xl font-bold text-surface-900 mb-2">
Contact Us
</h1>
<p className="text-surface-500 text-lg mb-10 max-w-xl">
Have a question, need help, or want to report an issue? We&apos;re always here for
you.
</p>

<div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
{/* Email Card */}
<a
href="mailto:support@agentflow@gmail.com"
className="group block p-6 rounded-xl border border-surface-200 hover:border-primary hover:shadow-md transition-all"
>
<div className="w-12 h-12 rounded-lg bg-primary-50 text-primary flex items-center justify-center mb-4 group-hover:bg-primary group-hover:text-white transition-colors">
<Mail className="h-6 w-6" />
</div>
<h2 className="font-heading font-semibold text-surface-900 mb-1">
Email Us
</h2>
<p className="text-sm text-surface-500 mb-3">
For general questions, support, or feedback.
</p>
<p className="text-sm font-medium text-primary group-hover:underline">
support@agentflow@gmail.com
</p>
</a>

{/* Website Card */}
<a
href="https://agentflow.app"
target="_blank"
rel="noopener noreferrer"
className="group block p-6 rounded-xl border border-surface-200 hover:border-primary hover:shadow-md transition-all"
>
<div className="w-12 h-12 rounded-lg bg-primary-50 text-primary flex items-center justify-center mb-4 group-hover:bg-primary group-hover:text-white transition-colors">
<Globe className="h-6 w-6" />
</div>
<h2 className="font-heading font-semibold text-surface-900 mb-1">
Visit Our Website
</h2>
<p className="text-sm text-surface-500 mb-3">
Learn more about AgentFlow and our features.
</p>
<p className="text-sm font-medium text-primary group-hover:underline">
agentflow.app
</p>
</a>
</div>

{/* Privacy Contact */}
<div className="mt-8 p-6 rounded-xl bg-surface-50 border border-surface-100">
<div className="flex items-start gap-4">
<div className="w-10 h-10 rounded-lg bg-surface-100 text-surface-600 flex items-center justify-center shrink-0">
<MessageSquare className="h-5 w-5" />
</div>
<div>
<h3 className="font-heading font-semibold text-surface-900 mb-1">
Privacy Concerns
</h3>
<p className="text-sm text-surface-500 mb-2">
For privacy-related inquiries or to exercise your data rights, contact us
directly.
</p>
<a
href="mailto:privacy@agentflow.app"
className="text-sm font-medium text-primary hover:underline"
>
privacy@agentflow.app
</a>
</div>
</div>
</div>
</main>
</div>
);
}
19 changes: 4 additions & 15 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
ArrowRight,
CheckCircle2,
} from "lucide-react";
import { Footer } from "@/components/footer";

const inter = Inter({
subsets: ["latin"],
Expand Down Expand Up @@ -142,7 +143,7 @@ export default function LandingPage() {
</section>

{/* Solution */}
<section className="py-20 px-4 bg-primary-50">
<section id="features" className="py-20 px-4 bg-primary-50">
<div className="max-w-3xl mx-auto text-center">
<h2 className="font-heading text-3xl font-bold text-surface-900 mb-4">
Three things. That&apos;s it.
Expand Down Expand Up @@ -183,7 +184,7 @@ export default function LandingPage() {
</section>

{/* Pricing */}
<section className="py-20 px-4">
<section id="pricing" className="py-20 px-4">
<div className="max-w-3xl mx-auto text-center">
<h2 className="font-heading text-3xl font-bold text-surface-900 mb-4">
Simple pricing
Expand Down Expand Up @@ -258,19 +259,7 @@ export default function LandingPage() {
</section>

{/* Footer */}
<footer className="py-8 px-4 border-t border-surface-100">
<div className="max-w-6xl mx-auto flex items-center justify-between">
<div className="flex items-center gap-2">
<div className="w-6 h-6 rounded bg-primary flex items-center justify-center">
<span className="text-white font-bold text-[10px]">AF</span>
</div>
<span className="text-sm text-surface-500">AgentFlow</span>
</div>
<p className="text-xs text-surface-400">
&copy; {new Date().getFullYear()} AgentFlow. All rights reserved.
</p>
</div>
</footer>
<Footer />
</div>
);
}
190 changes: 190 additions & 0 deletions src/app/privacy/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
import type { Metadata } from "next";
import Link from "next/link";
import { ArrowLeft } from "lucide-react";

export const metadata: Metadata = {
title: "Privacy Policy — AgentFlow",
description: "AgentFlow privacy policy. Learn how we collect, use, and protect your data.",
};

export default function PrivacyPage() {
return (
<div className="min-h-dvh bg-white">
{/* Nav */}
<nav className="sticky top-0 z-50 bg-white/80 backdrop-blur-md border-b border-surface-100">
<div className="max-w-3xl mx-auto px-4 h-16 flex items-center">
<Link
href="/"
className="flex items-center gap-2 text-sm text-surface-500 hover:text-surface-900 transition-colors"
>
<ArrowLeft className="h-4 w-4" />
Back to home
</Link>
</div>
</nav>

{/* Content */}
<main className="max-w-3xl mx-auto px-4 py-12">
<h1 className="font-heading text-3xl font-bold text-surface-900 mb-2">
Privacy Policy
</h1>
<p className="text-sm text-surface-400 mb-8">
Simple CRM for Solo Real Estate Agents
</p>

<div className="prose prose-surface max-w-none">
<p className="text-surface-600 leading-relaxed">
At AgentFlow, keeping your data and your clients&apos; data safe is a top priority.
This policy explains exactly what we collect, why we need it, and how you stay in
control. By creating an account, you agree to these simple practices.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
1. The Information We Collect
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">What you give us directly:</strong> We collect
your name, email address, and the name of your brokerage when you sign up.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Your client data:</strong> This includes the
names, phone numbers, emails, notes, and pipeline stages of your leads. This data
belongs entirely to you.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Payment details:</strong> If you subscribe to a
paid plan, Stripe processes your payments. We never store your full credit card
number — only the last four digits and basic billing details.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Background data:</strong> We automatically log
basic usage details like your IP address, browser type, and how long you use the app
to keep things running smoothly.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Optional integrations:</strong> If you choose to
connect Google Contacts, we only request read-only access while syncing and do not
store ongoing access tokens once your session is done.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
2. How We Use Your Data
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
We only use your information to make AgentFlow work well for you. Specifically, we
use it to:
</p>
<ul className="list-disc list-inside text-surface-600 space-y-1.5 mb-3 ml-4">
<li>Run the platform and process your subscription payments.</li>
<li>Send you your daily follow-up digest emails and SMS reminders.</li>
<li>Help you out when you contact support.</li>
<li>Keep the platform secure, monitor for errors, and fix bugs.</li>
</ul>
<p className="text-surface-600 leading-relaxed">
We will never send you promotional or marketing emails without your explicit
permission.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
3. Who We Share Data With (And Who We Don&apos;t)
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
We never sell, rent, or trade your personal data or your clients&apos; data.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
We only share data with trusted partners who help us run the app, such as Stripe for
payments, Resend for sending emails, and Supabase for database hosting.
</p>
<p className="text-surface-600 leading-relaxed">
We may also disclose information if legally required to do so by a court order, or if
our company undergoes a business transfer like a merger or sale.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
4. Keeping Your Data Safe
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
We protect your data using industry-standard encryption, both while it is traveling
over the internet and while it is stored in our databases.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
Access to the app is secured via email magic links or Google logins.
</p>
<p className="text-surface-600 leading-relaxed">
While we work hard to protect your information, no electronic system is 100% perfect,
so we cannot guarantee absolute security against unauthorized access.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
5. Data Retention &amp; Your Rights
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Keeping your data:</strong> We hold onto your
account data and contacts for as long as you are actively using AgentFlow.
</p>
<p className="text-surface-600 leading-relaxed mb-3">
<strong className="text-surface-800">Leaving us:</strong> If you choose to delete
your account, we will erase or irreversibly anonymize your personal data within 30
days.
</p>
<p className="text-surface-600 leading-relaxed">
<strong className="text-surface-800">Your control:</strong> You can always access,
correct, or request deletion of your data, and you can export all your contacts as a
CSV file at any time right from the app.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
6. Cookies and Tracking
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
We only use &quot;essential&quot; cookies that keep you logged in and save your
simple preferences, like whether you prefer a list or kanban view.
</p>
<p className="text-surface-600 leading-relaxed">
We absolutely do not use advertising cookies, tracking pixels, or behavioral
profiling tools.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
7. International Users &amp; Age Limits
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
AgentFlow operates out of the United States, meaning your data is processed there.
</p>
<p className="text-surface-600 leading-relaxed">
Our app is built exclusively for adult professionals; you must be 18 or older to use
it.
</p>

<h2 className="font-heading text-xl font-semibold text-surface-900 mt-10 mb-3">
8. Get In Touch
</h2>
<p className="text-surface-600 leading-relaxed mb-3">
If you have any questions, concerns, or want to exercise your privacy rights, our
team is always here to help:
</p>
<p className="text-surface-600 leading-relaxed">
<strong className="text-surface-800">Email:</strong>{" "}
<a
href="mailto:privacy@agentflow.app"
className="text-primary hover:underline"
>
privacy@agentflow.app
</a>
</p>
<p className="text-surface-600 leading-relaxed">
<strong className="text-surface-800">Website:</strong>{" "}
<a
href="https://agentflow.app"
target="_blank"
rel="noopener noreferrer"
className="text-primary hover:underline"
>
agentflow.app
</a>
</p>
</div>
</main>
</div>
);
}
Loading
Loading