diff --git a/apps/web/src/routeTree.gen.ts b/apps/web/src/routeTree.gen.ts index bd36ffcdc2..0dd2a7b37c 100644 --- a/apps/web/src/routeTree.gen.ts +++ b/apps/web/src/routeTree.gen.ts @@ -24,6 +24,7 @@ import { Route as WebhookStripeRouteImport } from './routes/webhook/stripe' import { Route as WebhookNangoRouteImport } from './routes/webhook/nango' import { Route as ApiTemplatesRouteImport } from './routes/api/templates' import { Route as ViewSecurityRouteImport } from './routes/_view/security' +import { Route as ViewPrivacyRouteImport } from './routes/_view/privacy' import { Route as ViewPricingRouteImport } from './routes/_view/pricing' import { Route as ViewPressKitRouteImport } from './routes/_view/press-kit' import { Route as ViewOssFriendsRouteImport } from './routes/_view/oss-friends' @@ -163,6 +164,11 @@ const ViewSecurityRoute = ViewSecurityRouteImport.update({ path: '/security', getParentRoute: () => ViewRouteRoute, } as any) +const ViewPrivacyRoute = ViewPrivacyRouteImport.update({ + id: '/privacy', + path: '/privacy', + getParentRoute: () => ViewRouteRoute, +} as any) const ViewPricingRoute = ViewPricingRouteImport.update({ id: '/pricing', path: '/pricing', @@ -515,6 +521,7 @@ export interface FileRoutesByFullPath { '/oss-friends': typeof ViewOssFriendsRoute '/press-kit': typeof ViewPressKitRouteWithChildren '/pricing': typeof ViewPricingRoute + '/privacy': typeof ViewPrivacyRoute '/security': typeof ViewSecurityRoute '/api/templates': typeof ApiTemplatesRoute '/webhook/nango': typeof WebhookNangoRoute @@ -592,6 +599,7 @@ export interface FileRoutesByTo { '/oss-friends': typeof ViewOssFriendsRoute '/press-kit': typeof ViewPressKitRouteWithChildren '/pricing': typeof ViewPricingRoute + '/privacy': typeof ViewPrivacyRoute '/security': typeof ViewSecurityRoute '/api/templates': typeof ApiTemplatesRoute '/webhook/nango': typeof WebhookNangoRoute @@ -674,6 +682,7 @@ export interface FileRoutesById { '/_view/oss-friends': typeof ViewOssFriendsRoute '/_view/press-kit': typeof ViewPressKitRouteWithChildren '/_view/pricing': typeof ViewPricingRoute + '/_view/privacy': typeof ViewPrivacyRoute '/_view/security': typeof ViewSecurityRoute '/api/templates': typeof ApiTemplatesRoute '/webhook/nango': typeof WebhookNangoRoute @@ -756,6 +765,7 @@ export interface FileRouteTypes { | '/oss-friends' | '/press-kit' | '/pricing' + | '/privacy' | '/security' | '/api/templates' | '/webhook/nango' @@ -833,6 +843,7 @@ export interface FileRouteTypes { | '/oss-friends' | '/press-kit' | '/pricing' + | '/privacy' | '/security' | '/api/templates' | '/webhook/nango' @@ -914,6 +925,7 @@ export interface FileRouteTypes { | '/_view/oss-friends' | '/_view/press-kit' | '/_view/pricing' + | '/_view/privacy' | '/_view/security' | '/api/templates' | '/webhook/nango' @@ -1097,6 +1109,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ViewSecurityRouteImport parentRoute: typeof ViewRouteRoute } + '/_view/privacy': { + id: '/_view/privacy' + path: '/privacy' + fullPath: '/privacy' + preLoaderRoute: typeof ViewPrivacyRouteImport + parentRoute: typeof ViewRouteRoute + } '/_view/pricing': { id: '/_view/pricing' path: '/pricing' @@ -1624,6 +1643,7 @@ interface ViewRouteRouteChildren { ViewOssFriendsRoute: typeof ViewOssFriendsRoute ViewPressKitRoute: typeof ViewPressKitRouteWithChildren ViewPricingRoute: typeof ViewPricingRoute + ViewPrivacyRoute: typeof ViewPrivacyRoute ViewSecurityRoute: typeof ViewSecurityRoute ViewIndexRoute: typeof ViewIndexRoute ViewBlogSlugRoute: typeof ViewBlogSlugRoute @@ -1681,6 +1701,7 @@ const ViewRouteRouteChildren: ViewRouteRouteChildren = { ViewOssFriendsRoute: ViewOssFriendsRoute, ViewPressKitRoute: ViewPressKitRouteWithChildren, ViewPricingRoute: ViewPricingRoute, + ViewPrivacyRoute: ViewPrivacyRoute, ViewSecurityRoute: ViewSecurityRoute, ViewIndexRoute: ViewIndexRoute, ViewBlogSlugRoute: ViewBlogSlugRoute, diff --git a/apps/web/src/routes/_view/privacy.tsx b/apps/web/src/routes/_view/privacy.tsx new file mode 100644 index 0000000000..9487e7c69e --- /dev/null +++ b/apps/web/src/routes/_view/privacy.tsx @@ -0,0 +1,510 @@ +import { Icon } from "@iconify-icon/react"; +import { createFileRoute, Link } from "@tanstack/react-router"; + +import { cn } from "@hypr/utils"; + +import { SlashSeparator } from "@/components/slash-separator"; + +export const Route = createFileRoute("/_view/privacy")({ + component: Component, + head: () => ({ + meta: [ + { title: "Privacy - Hyprnote" }, + { + name: "description", + content: + "Your privacy is not just a feature at Hyprnote—it's our foundation. Learn how we protect your meeting data with local-first architecture and zero data collection.", + }, + { property: "og:title", content: "Privacy - Hyprnote" }, + { + property: "og:description", + content: + "We believe your conversations belong to you, not to us or anyone else. Discover how Hyprnote puts your privacy first.", + }, + { property: "og:type", content: "website" }, + { property: "og:url", content: "https://hyprnote.com/privacy" }, + { name: "twitter:card", content: "summary_large_image" }, + { name: "twitter:title", content: "Privacy - Hyprnote" }, + { + name: "twitter:description", + content: + "We believe your conversations belong to you, not to us or anyone else. Discover how Hyprnote puts your privacy first.", + }, + ], + }), +}); + +function Component() { + return ( +
+ At Hyprnote, we believe privacy isn't just a feature—it's a + fundamental right. Your meeting conversations contain your most + sensitive ideas, strategies, and personal moments. We've built + Hyprnote to ensure they stay yours, and yours alone. +
++ These aren't just policies—they're principles embedded in our + architecture. We couldn't violate your privacy even if we wanted to. +
+{promise.description}
++ With Hyprnote, data ownership isn't a marketing term—it's a + technical reality. Your data lives on your device, in formats you + control. +
++ All your notes, recordings, and transcripts are stored in a local + database on your computer. No cloud dependency, no remote access. +
++ Export all your data anytime in standard formats. Your notes, + transcripts, and recordings are always accessible and portable. +
++ When you delete something, it's gone. No hidden backups, no + retention periods, no "soft deletes" that keep your data around. +
++ If you choose to sync across devices, your data is encrypted + before it leaves your device. We use end-to-end encryption so + even our servers can't read your content. But sync is entirely + optional—Hyprnote works perfectly as a standalone, offline + application. +
++ We don't track your behavior, build profiles, or analyze your + content. Your meeting data is not a product. +
++ Your transcripts and notes are never used to train AI models. + The AI features in Hyprnote run locally on your device, and + your content stays private. +
++ We don't track how you use the app, what features you access, + or how long you spend on different tasks. Your usage patterns + are your business. +
++ We make money by building a great product, not by selling your + data. Your information is never shared with advertisers, data + brokers, or any third parties. +
++ We don't ask you to take our word for it. Hyprnote is fully open + source, so you can verify every privacy claim yourself. +
++ Every line of code is public. See exactly how your data is + handled, what network requests are made, and where your + information is stored. No black boxes, no hidden behaviors. +
++ Our privacy practices are documented in plain language. We explain + what data exists, where it lives, and how it's protected—without + legal jargon or hidden clauses. +
++ Most meeting tools treat your data as their asset. We built Hyprnote + differently. +
+| + Feature + | ++ Hyprnote + | ++ Others + | +
|---|---|---|
| {row.feature} | +
+
+ |
+ + {row.others} + | +
+ Join thousands of professionals who refuse to compromise on privacy. + Your conversations deserve better. +
++ At Hyprnote, we believe your meeting conversations are among your + most sensitive data. That's why we've built security into every + layer of our architecture, not as an afterthought, but as a + foundational principle. +
++ These aren't just marketing claims. They're architectural decisions + baked into every aspect of Hyprnote. +
+{principle.description}
++ Unlike cloud-based alternatives that upload your audio to remote + servers, Hyprnote processes everything on your machine. +
++ Your meeting recordings never leave your device. No cloud uploads, + no third-party access, no data mining. +
++ Transcription and summarization run locally using optimized AI + models. Your words are processed without ever touching the cloud. +
++ All notes, transcripts, and metadata are stored in an encrypted + local database that only you can access. +
++ Because everything runs locally, Hyprnote works without an + internet connection. Record meetings, transcribe audio, and + generate summaries even when you're offline. Your productivity + isn't dependent on network availability, and your data isn't + exposed to network-based attacks. +
++ Your data is protected with the same encryption standards used by + banks and government agencies. +
++ All local data is encrypted using AES-256, the gold standard + for data encryption. Your recordings, transcripts, and notes + are unreadable without your encryption key. +
++ When you choose to sync data across devices, all + communications use TLS 1.3 with perfect forward secrecy. Even + if a session key is compromised, past communications remain + secure. +
++ Your encryption keys are derived from your credentials using + industry-standard key derivation functions. Keys never leave + your device and are never stored on our servers. +
++ Open source isn't just about collaboration. It's about trust. When + you can see exactly how your data is handled, you don't have to take + our word for it. +
++ Every function, every data flow, every security measure is visible + in our public repository. Security researchers can audit our code + and report vulnerabilities through our responsible disclosure + program. +
++ Thousands of developers have reviewed our codebase. Bugs and + security issues are caught faster when many eyes are watching. + This collective vigilance makes Hyprnote more secure than any + closed-source alternative. +
++ For organizations with advanced security requirements, Hyprnote + offers enterprise features that meet the most demanding standards. +
+{feature.description}
++ Join thousands of professionals who trust Hyprnote to keep their + conversations secure and private. +
+