Fix: Add dashboard redirect, copy icon, create placeholder pages, update auth API URL
This commit is contained in:
38
app/about/page.tsx
Normal file
38
app/about/page.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 max-w-4xl">
|
||||
<h1 className="text-3xl font-bold mb-6 text-neutral-900 dark:text-white">
|
||||
About Ciphera Analytics
|
||||
</h1>
|
||||
|
||||
<div className="prose prose-neutral dark:prose-invert max-w-none">
|
||||
<p className="text-lg text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
Ciphera Analytics is a privacy-first web analytics platform that provides simple,
|
||||
intuitive insights without compromising your visitors' privacy.
|
||||
</p>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Privacy-First Design
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
We believe in privacy by design. Our analytics platform:
|
||||
</p>
|
||||
<ul className="list-disc list-inside space-y-2 text-neutral-600 dark:text-neutral-400 mb-6">
|
||||
<li>Uses no cookies or persistent identifiers</li>
|
||||
<li>Respects Do Not Track preferences</li>
|
||||
<li>Complies with GDPR and CCPA regulations</li>
|
||||
<li>Does not collect personal data</li>
|
||||
<li>Processes data anonymously</li>
|
||||
</ul>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Simple & Lightweight
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
Our tracking script is lightweight and won't slow down your website.
|
||||
Get the insights you need without the bloat.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
49
app/faq/page.tsx
Normal file
49
app/faq/page.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
export default function FAQPage() {
|
||||
const faqs = [
|
||||
{
|
||||
question: "Is Ciphera Analytics GDPR compliant?",
|
||||
answer: "Yes, Ciphera Analytics is GDPR compliant by design. We don't use cookies, don't collect personal data, and process all data anonymously."
|
||||
},
|
||||
{
|
||||
question: "Do I need a cookie consent banner?",
|
||||
answer: "No, you don't need a cookie consent banner. Ciphera Analytics doesn't use cookies, so it's exempt from cookie consent requirements under GDPR."
|
||||
},
|
||||
{
|
||||
question: "How does Ciphera Analytics track visitors?",
|
||||
answer: "We use a lightweight JavaScript snippet that sends anonymous pageview events. No cookies, no persistent identifiers, and no cross-site tracking."
|
||||
},
|
||||
{
|
||||
question: "What data does Ciphera Analytics collect?",
|
||||
answer: "We collect anonymous pageview data including page path, referrer, device type, browser, and country (from IP, not stored). No personal information is collected."
|
||||
},
|
||||
{
|
||||
question: "How accurate is the data?",
|
||||
answer: "Our data is highly accurate. We exclude bot traffic and data center visits. Since we don't use cookies, we count unique sessions rather than unique users."
|
||||
},
|
||||
{
|
||||
question: "Can I export my data?",
|
||||
answer: "Yes, you can access all your analytics data through the dashboard. We're working on export functionality for bulk data downloads."
|
||||
}
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 max-w-4xl">
|
||||
<h1 className="text-3xl font-bold mb-8 text-neutral-900 dark:text-white">
|
||||
Frequently Asked Questions
|
||||
</h1>
|
||||
|
||||
<div className="space-y-6">
|
||||
{faqs.map((faq, index) => (
|
||||
<div key={index} className="bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 rounded-xl p-6">
|
||||
<h2 className="text-xl font-semibold mb-3 text-neutral-900 dark:text-white">
|
||||
{faq.question}
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400">
|
||||
{faq.answer}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
59
app/security/page.tsx
Normal file
59
app/security/page.tsx
Normal file
@@ -0,0 +1,59 @@
|
||||
export default function SecurityPage() {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 max-w-4xl">
|
||||
<h1 className="text-3xl font-bold mb-6 text-neutral-900 dark:text-white">
|
||||
Security & Privacy
|
||||
</h1>
|
||||
|
||||
<div className="prose prose-neutral dark:prose-invert max-w-none">
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Data Protection
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
Ciphera Analytics is built with security and privacy as core principles:
|
||||
</p>
|
||||
<ul className="list-disc list-inside space-y-2 text-neutral-600 dark:text-neutral-400 mb-6">
|
||||
<li>All data is encrypted in transit using TLS/SSL</li>
|
||||
<li>No personal data is collected or stored</li>
|
||||
<li>IP addresses are hashed immediately and not stored</li>
|
||||
<li>No cookies or persistent identifiers are used</li>
|
||||
<li>Data is processed anonymously</li>
|
||||
</ul>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Compliance
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
Ciphera Analytics is compliant with:
|
||||
</p>
|
||||
<ul className="list-disc list-inside space-y-2 text-neutral-600 dark:text-neutral-400 mb-6">
|
||||
<li>GDPR (General Data Protection Regulation)</li>
|
||||
<li>CCPA (California Consumer Privacy Act)</li>
|
||||
<li>PECR (Privacy and Electronic Communications Regulations)</li>
|
||||
</ul>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Infrastructure Security
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
Our infrastructure follows security best practices:
|
||||
</p>
|
||||
<ul className="list-disc list-inside space-y-2 text-neutral-600 dark:text-neutral-400 mb-6">
|
||||
<li>Regular security audits and updates</li>
|
||||
<li>Secure data centers with physical security</li>
|
||||
<li>Automated backups and disaster recovery</li>
|
||||
<li>Rate limiting and DDoS protection</li>
|
||||
<li>Secure authentication and authorization</li>
|
||||
</ul>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4 text-neutral-900 dark:text-white">
|
||||
Your Data, Your Control
|
||||
</h2>
|
||||
<p className="text-neutral-600 dark:text-neutral-400 mb-4">
|
||||
You have full control over your analytics data. You can delete sites and all
|
||||
associated data at any time. We never share your data with third parties.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
export const API_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8082'
|
||||
export const AUTH_URL = process.env.NEXT_PUBLIC_AUTH_URL || 'http://localhost:3000'
|
||||
export const APP_URL = process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3003'
|
||||
export const AUTH_API_URL = process.env.NEXT_PUBLIC_AUTH_API_URL || 'http://localhost:8081'
|
||||
export const AUTH_API_URL = process.env.NEXT_PUBLIC_AUTH_API_URL || 'https://auth-api.ciphera.net'
|
||||
|
||||
export function getLoginUrl(redirectPath = '/auth/callback') {
|
||||
const redirectUri = encodeURIComponent(`${APP_URL}${redirectPath}`)
|
||||
|
||||
@@ -9,6 +9,11 @@ const nextConfig: NextConfig = {
|
||||
async redirects() {
|
||||
const authUrl = process.env.NEXT_PUBLIC_AUTH_URL || 'https://auth.ciphera.net'
|
||||
return [
|
||||
{
|
||||
source: '/dashboard',
|
||||
destination: '/',
|
||||
permanent: false,
|
||||
},
|
||||
{
|
||||
source: '/login',
|
||||
destination: `${authUrl}/login?client_id=analytics-app&redirect_uri=${encodeURIComponent((process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3003') + '/auth/callback')}&response_type=code`,
|
||||
|
||||
BIN
public/ciphera_icon_no_margins.png
Normal file
BIN
public/ciphera_icon_no_margins.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 116 KiB |
Reference in New Issue
Block a user