feat: Passwordless cross-device authentication

- Arkitektur: docs/auth/passwordless-architecture.md
- Backend: iom/quixzoom-auth-service/ (FastAPI + Redis)
- Webb: quixzoom-market-pages/se/login/ (QR-kod + polling)
- App: iom/quixzoom-app/src/features/auth/ (push + deep links)

Flöde: QR-kod → app-godkännande → webb-inloggad
This commit is contained in:
Bernt
2026-07-07 07:11:50 +00:00
parent 4aa984ad74
commit 6989a98d75
61843 changed files with 5491611 additions and 872231 deletions
+13 -13
View File
@@ -59,7 +59,7 @@
.feature-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 20px;
border-radius: var(--radius-xl);
padding: 40px;
transition: transform 0.2s, box-shadow 0.2s;
}
@@ -70,7 +70,7 @@
.feature-icon {
width: 48px; height: 48px;
background: var(--blue-glow);
border-radius: 12px;
border-radius: var(--radius-md);
display: flex; align-items: center; justify-content: center;
font-size: 1.5rem; margin-bottom: 20px;
}
@@ -98,7 +98,7 @@
.feature-visual {
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: 20px;
border-radius: var(--radius-xl);
padding: 40px;
min-height: 300px;
display: flex; align-items: center; justify-content: center;
@@ -119,7 +119,7 @@
.btn {
display: inline-block; padding: 16px 32px;
background: var(--blue); color: #fff;
border: none; border-radius: 12px;
border: none; border-radius: var(--radius-md);
font-size: 1rem; font-weight: 600;
text-decoration: none;
cursor: pointer; transition: background 0.2s;
@@ -180,32 +180,32 @@
</div>
<div class="feature-grid">
<div class="feature-card">
<div class="feature-icon">🤖</div>
<div class="feature-icon"></div>
<h3>AI Quality Review</h3>
<p>Every submission is automatically checked for completeness, image quality, GPS accuracy, and compliance with mission requirements before payment.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🌍</div>
<div class="feature-icon"></div>
<h3>Global Coverage</h3>
<p>Launching in 5 markets in phases — Sweden first (August 2026), with Netherlands, Thailand, Nigeria and Kenya to follow. Localized mission types, languages, and payment methods for each market.</p>
</div>
<div class="feature-card">
<div class="feature-icon"></div>
<div class="feature-icon"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M9 2L5 9H8L7 14L11 7H8L9 2Z" fill="#f59e0b"/></svg></div>
<h3>Real-time Tracking</h3>
<p>Monitor mission progress in real-time. See which missions are active, completed, or need attention — all in one dashboard.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔒</div>
<div class="feature-icon"></div>
<h3>Enterprise Security</h3>
<p>GDPR compliant, EU data residency, SOC 2 Type II certified. Your data is encrypted at rest and in transit.</p>
</div>
<div class="feature-card">
<div class="feature-icon">📊</div>
<div class="feature-icon"></div>
<h3>Advanced Analytics</h3>
<p>Turn raw observations into actionable insights. Trend analysis, change detection, and automated reporting.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔌</div>
<div class="feature-icon"></div>
<h3>API & Integrations</h3>
<p>RESTful API with comprehensive documentation. Webhooks for real-time updates. Integrate with your existing tools and workflows.</p>
</div>
@@ -228,7 +228,7 @@
</div>
<div class="feature-visual">
<div class="feature-visual-placeholder">
<div style="font-size:3rem;margin-bottom:12px;">🗺️</div>
<div style="font-size:3rem;margin-bottom:12px;"></div>
<div>Mission Builder Interface</div>
</div>
</div>
@@ -247,7 +247,7 @@
</div>
<div class="feature-visual">
<div class="feature-visual-placeholder">
<div style="font-size:3rem;margin-bottom:12px;">👥</div>
<div style="font-size:3rem;margin-bottom:12px;"></div>
<div>Zoomer Network</div>
</div>
</div>
@@ -266,7 +266,7 @@
</div>
<div class="feature-visual">
<div class="feature-visual-placeholder">
<div style="font-size:3rem;margin-bottom:12px;">💳</div>
<div style="font-size:3rem;margin-bottom:12px;"></div>
<div>Payment Dashboard</div>
</div>
</div>