Files
boc/landvex-all/admin/life-product.html
T
Bernt 6989a98d75 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
2026-07-07 07:11:50 +00:00

218 lines
9.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LIFE — Reality Intelligence Platform</title>
<link rel="stylesheet" href="/assets/css/landvex-complete.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif; background: #000; color: #fff; line-height: 1.6; }
.header { background: #0a0a0a; border-bottom: 1px solid #333; padding: 24px; display: flex; justify-content: space-between; align-items: center; }
.header h1 { font-size: 1.5rem; background: linear-gradient(90deg, #00d4ff, #7c3aed); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.header .subtitle { color: #666; font-size: 0.85rem; }
.nav { background: #0a0a0a; border-bottom: 1px solid #333; padding: 0 40px; display: flex; gap: 16px; }
.nav a { color: #666; text-decoration: none; padding: 24px; font-size: 0.85rem; transition: all 0.2s; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a.active { color: #00d4ff; border-bottom-color: #00d4ff; }
.main { padding: 40px; max-width: 1400px; margin: 0 auto; }
.hero { text-align: center; padding: 24px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a2e 100%); border-radius: var(--radius-lg); margin-bottom: 40px; }
.hero h2 { font-size: 2.5rem; margin-bottom: 24px; background: linear-gradient(90deg, #00d4ff, #7c3aed); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero p { font-size: 1.1rem; color: #aaa; max-width: 800px; margin: 0 auto 24px; }
.hero .tagline { font-size: 1rem; color: #00d4ff; font-weight: 600; }
.vision { background: #111; border: 1px solid #333; border-radius: var(--radius-md); padding: 32px; margin-bottom: 40px; text-align: center; }
.vision h2 { font-size: 1.5rem; margin-bottom: 24px; color: #00d4ff; }
.vision p { font-size: 1.1rem; color: #aaa; max-width: 800px; margin: 0 auto; line-height: 1.8; }
.evolution { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 16px; margin-bottom: 40px; }
.evo { background: #111; border: 1px solid #333; border-radius: var(--radius-md); padding: 12px; text-align: center; }
.evo-version { font-size: 1.1rem; font-weight: 700; color: #00d4ff; }
.evo-name { font-size: 0.75rem; color: #aaa; }
.components { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 16px; margin-bottom: 40px; }
.component { background: #111; border: 1px solid #333; border-radius: var(--radius-md); padding: 24px; }
.component h3 { font-size: 1.1rem; margin-bottom: 12px; color: #00d4ff; }
.component p { color: #888; font-size: 0.85rem; margin-bottom: 12px; }
.component-items { list-style: none; }
.component-items li { color: #aaa; font-size: 0.8rem; padding: 4px 0; padding-left: 16px; position: relative; }
.component-items li::before { content: "→"; position: absolute; left: 0; color: #00d4ff; }
.separation { background: #111; border: 1px solid #333; border-radius: var(--radius-md); padding: 32px; margin-bottom: 40px; }
.separation h2 { font-size: 1.5rem; margin-bottom: 24px; color: #7c3aed; }
.separation p { color: #888; margin-bottom: 24px; }
.entities { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; margin-top: 16px; }
.entity { background: #1a1a1a; border-radius: var(--radius-md); padding: 16px; }
.entity-name { color: #00d4ff; font-weight: 600; }
.entity-type { color: #888; font-size: 0.8rem; }
.entity-desc { color: #aaa; font-size: 0.75rem; margin-top: 8px; }
.cta { text-align: center; padding: 24px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a0a 100%); border-radius: var(--radius-lg); }
.cta h2 { font-size: 2rem; margin-bottom: 24px; color: #fff; }
.cta p { font-size: 1rem; color: #aaa; margin-bottom: 24px; }
.cta-button { display: inline-block; background: linear-gradient(90deg, #00d4ff, #7c3aed); color: #fff; padding: 24px; border-radius: var(--radius-md); text-decoration: none; font-weight: 600; }
</style>
</head>
<body>
<div class="header">
<div>
<h1>LIFE</h1>
<div class="subtitle">Reality Intelligence Platform</div>
</div>
</div>
<div class="nav">
<a href="/admin/" >← Admin</a>
<a href="#" class="active">Product</a>
<a href="#vision">Vision</a>
<a href="#components">Components</a>
<a href="#ecosystem">Ecosystem</a>
</div>
<div class="main">
<div class="lv-hero">
<h2>Reality Intelligence Platform</h2>
<p>Landvex develops LIFE, a Reality Intelligence Platform and reference implementation of the Reality Intelligence Standard (RIS). Through a unified information model, traceable evidence, and explainable analysis, LIFE enables organizations to collect, verify, share, and use observations from the physical world in a consistent and interoperable way across domains.</p>
<div class="tagline">From observable signals to traceable evidence, explainable analysis, and decision support.</div>
</div>
<div class="vision" id="vision">
<h2>Vision</h2>
<p>LIFE aims to establish an open framework and common standards for Reality Intelligence, similar to how open standards have enabled interoperability in other technology areas. By combining geospatial data, field observations, open data sources, and AI, LIFE transforms observable signals from the physical world into traceable evidence.</p>
</div>
<h2>Evolution</h2>
<div class="evolution">
<div class="evo">
<div class="evo-version">v1</div>
<div class="evo-name">Aid Intelligence</div>
</div>
<div class="evo">
<div class="evo-version">v2</div>
<div class="evo-name">Multi-signal</div>
</div>
<div class="evo">
<div class="evo-version">v3</div>
<div class="evo-name">Core Architecture</div>
</div>
<div class="evo">
<div class="evo-version">v4</div>
<div class="evo-name">Platform</div>
</div>
<div class="evo">
<div class="evo-version">v5</div>
<div class="evo-name">Enterprise</div>
</div>
<div class="evo">
<div class="evo-version">v6</div>
<div class="evo-name">Standard</div>
</div>
<div class="evo">
<div class="evo-version">v7</div>
<div class="evo-name">Ecosystem</div>
</div>
</div>
<h2>Key Components</h2>
<div class="components" id="components">
<div class="component">
<h3> Reality Intelligence</h3>
<p>Analyzes the physical world, not just text and documents</p>
<ul class="component-items">
<li>Geospatial data fusion</li>
<li>Field observations</li>
<li>Visual data analysis</li>
<li>Time-series monitoring</li>
</ul>
</div>
<div class="component">
<h3><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="3" y="2" width="10" height="12" rx="1" stroke="#666" stroke-width="1.5"/><path d="M6 5H10M6 8H10M6 11H8" stroke="#666" stroke-width="1.5" stroke-linecap="round"/></svg> Evidence Before Opinion</h3>
<p>Starts with observations, not conclusions</p>
<ul class="component-items">
<li>Traceable evidence chains</li>
<li>Source attribution</li>
<li>Confidence scoring</li>
<li>Contradiction detection</li>
</ul>
</div>
<div class="component">
<h3> Multi-source Fusion</h3>
<p>Combines satellite, field, open data, and AI</p>
<ul class="component-items">
<li>Satellite imagery (Sentinel-2, etc.)</li>
<li>QUIXZOOM crowdsourcing</li>
<li>IoT sensors</li>
<li>Official reports</li>
</ul>
</div>
<div class="component">
<h3><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><circle cx="7" cy="7" r="5" stroke="#666" stroke-width="2"/><path d="M11 11L14 14" stroke="#666" stroke-width="2" stroke-linecap="round"/></svg> Explainability</h3>
<p>Every insight is explainable and auditable</p>
<ul class="component-items">
<li>Decision lineage</li>
<li>Confidence breakdown</li>
<li>Source transparency</li>
<li>Hypothesis tracking</li>
</ul>
</div>
<div class="component">
<h3> Open Standards (RIS)</h3>
<p>Six open standards for Reality Intelligence</p>
<ul class="component-items">
<li>RIS-001: Reality Object Standard</li>
<li>RIS-002: Evidence Standard</li>
<li>RIS-003: Confidence Standard</li>
<li>RIS-004: Reality Exchange Protocol</li>
<li>RIS-005: Decision Standard</li>
<li>RIS-006: Learning Standard</li>
</ul>
</div>
<div class="component">
<h3><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8 2L10 8L14 9L8 14L6 8L2 7L8 2Z" fill="#666"/></svg> Reference Implementation</h3>
<p>Open source implementation of RIS</p>
<ul class="component-items">
<li>LIFE Server (Python/FastAPI)</li>
<li>LIFE Client (React/TypeScript)</li>
<li>SDK: Python, JS, Java, Go, Rust</li>
<li>Example data and APIs</li>
</ul>
</div>
</div>
<div class="separation" id="ecosystem">
<h2>Strategic Separation</h2>
<p>Three distinct layers, common in successful ecosystems: the standard can be open, while the reference implementation and commercial extensions continue to be developed by the company.</p>
<div class="entities">
<div class="entity">
<div class="entity-name">RIS</div>
<div class="entity-type">Open Standard</div>
<div class="entity-desc">The open specification. Community-governed. CC BY 4.0. Free to use.</div>
</div>
<div class="entity">
<div class="entity-name">LIFE</div>
<div class="entity-type">Reference Implementation</div>
<div class="entity-desc">Reference implementation of the standard. Open source. Apache 2.0. Free to use.</div>
</div>
<div class="entity">
<div class="entity-name">Landvex</div>
<div class="entity-type">Commercial Company</div>
<div class="entity-desc">The company that develops and commercializes LIFE. Proprietary services. Paid offerings.</div>
</div>
</div>
</div>
<div class="cta">
<h2>Build on LIFE</h2>
<p>Join the Reality Intelligence ecosystem. Build custom modules, integrate your data, or deploy your own LIFE instance.</p>
<a href="https://docs.life.ai" class="cta-button">Get Started →</a>
</div>
</div>
</body>
</html>