Files
boc/economic-flow.html
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

353 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Wavult Group — Ekonomisk karta</title>
<style>
:root {
color-scheme: light dark;
--bg: #f8fafc;
--fg: #172033;
--muted: #5b6475;
--line: #64748b;
--neutral: #e2e8f0;
--input: #bfdbfe;
--process: #c7d2fe;
--storage: #99f6e4;
--external: #fde68a;
--risk: #fecaca;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #0f172a;
--fg: #e5e7eb;
--muted: #a3adbd;
--line: #94a3b8;
--neutral: #334155;
--input: #1d4ed8;
--process: #4338ca;
--storage: #0f766e;
--external: #92400e;
--risk: #991b1b;
}
}
body {
margin: 0;
background: var(--bg);
color: var(--fg);
font: 14px/1.4 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
main { max-width: 1100px; margin: 32px auto; padding: 0 20px; }
svg { width: 100%; height: auto; display: block; }
.title { font-size: 18px; font-weight: 700; fill: var(--fg); }
.subtitle { font-size: 12px; fill: var(--muted); }
.label { font-size: 13px; font-weight: 600; fill: var(--fg); }
.small { font-size: 11px; fill: var(--muted); }
.amount { font-size: 11px; font-weight: 700; fill: #1d4ed8; }
.amount-green { font-size: 11px; font-weight: 700; fill: #059669; }
.amount-red { font-size: 11px; font-weight: 700; fill: #dc2626; }
.node { stroke: var(--line); stroke-width: 1.5; }
.neutral { fill: var(--neutral); }
.input { fill: #dbeafe; }
.process { fill: #ede9fe; }
.storage { fill: #d1fae5; }
.external { fill: #fef9c3; }
.platform { fill: #f0fdf4; stroke: #16a34a; stroke-width: 2; }
.holding { fill: #faf5ff; stroke: #7c3aed; stroke-width: 2; }
.edge { stroke: var(--line); stroke-width: 1.5; fill: none; }
.edge-money { stroke: #16a34a; stroke-width: 2.5; fill: none; }
.edge-service { stroke: #6366f1; stroke-width: 1.5; fill: none; stroke-dasharray: 5 4; }
.edge-fee { stroke: #dc2626; stroke-width: 2; fill: none; }
.zone { fill: none; stroke: var(--line); stroke-width: 1; stroke-dasharray: 6 5; opacity: 0.5; }
.zone-label { font-size: 11px; font-weight: 700; fill: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; }
</style>
<main>
<svg viewBox="0 0 1060 920" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Arrows -->
<marker id="arr-green" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#16a34a"/>
</marker>
<marker id="arr-red" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#dc2626"/>
</marker>
<marker id="arr-purple" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#6366f1"/>
</marker>
<marker id="arr-gray" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#64748b"/>
</marker>
<marker id="arr-blue" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L0,6 L8,3 z" fill="#2563eb"/>
</marker>
</defs>
<!-- ═══════════════════════════════════════════════════ -->
<!-- TITLE -->
<!-- ═══════════════════════════════════════════════════ -->
<text x="530" y="34" text-anchor="middle" class="title">Wavult Group — Ekonomiska flöden</text>
<text x="530" y="52" text-anchor="middle" class="subtitle">Hur pengar rör sig mellan produkter, plattformar och aktörer</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- LEGEND -->
<!-- ═══════════════════════════════════════════════════ -->
<rect x="20" y="64" width="520" height="28" rx="6" fill="none" stroke="#e2e8f0" stroke-width="1"/>
<line x1="36" y1="78" x2="60" y2="78" stroke="#16a34a" stroke-width="2.5" marker-end="url(#arr-green)"/>
<text x="66" y="82" class="small">Inbetalning / intäkt</text>
<line x1="156" y1="78" x2="180" y2="78" stroke="#dc2626" stroke-width="2" marker-end="url(#arr-red)"/>
<text x="186" y="82" class="small">Utbetalning / kostnad</text>
<line x1="296" y1="78" x2="320" y2="78" stroke="#6366f1" stroke-width="1.5" stroke-dasharray="5 4" marker-end="url(#arr-purple)"/>
<text x="326" y="82" class="small">Tjänsteflöde / uppdrag</text>
<line x1="430" y1="78" x2="454" y2="78" stroke="#64748b" stroke-width="1.5" marker-end="url(#arr-gray)"/>
<text x="460" y="82" class="small">Provision / avgift</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ZONE: EXTERNA BETALARE (topp) -->
<!-- ═══════════════════════════════════════════════════ -->
<rect x="20" y="100" width="1020" height="130" rx="8" class="zone"/>
<text x="36" y="118" class="zone-label">Externa betalare</text>
<!-- B2B Kunder / Orderers -->
<rect x="40" y="124" width="160" height="90" rx="8" class="node external"/>
<text x="120" y="149" text-anchor="middle" class="label">B2B Orderers</text>
<text x="120" y="166" text-anchor="middle" class="small">Kommuner, försäkr.</text>
<text x="120" y="181" text-anchor="middle" class="small">företag, fastigh.ägare</text>
<text x="120" y="198" text-anchor="middle" class="amount-green">Betalar credits</text>
<!-- Privatpersoner / Zoomer-kunder -->
<rect x="230" y="124" width="150" height="90" rx="8" class="node external"/>
<text x="305" y="149" text-anchor="middle" class="label">Ouroboros-kunder</text>
<text x="305" y="166" text-anchor="middle" class="small">SME, enterprise</text>
<text x="305" y="181" text-anchor="middle" class="small">org. av alla slag</text>
<text x="305" y="198" text-anchor="middle" class="amount-green">Subscription / rev.share</text>
<!-- LandveX-kunder -->
<rect x="410" y="124" width="150" height="90" rx="8" class="node external"/>
<text x="485" y="149" text-anchor="middle" class="label">LandveX-kunder</text>
<text x="485" y="166" text-anchor="middle" class="small">Kommuner, stat,</text>
<text x="485" y="181" text-anchor="middle" class="small">infrastrukturäg.</text>
<text x="485" y="198" text-anchor="middle" class="amount-green">SaaS + inspektionstjänst</text>
<!-- AAMOS Pro kunder -->
<rect x="590" y="124" width="140" height="90" rx="8" class="node external"/>
<text x="660" y="149" text-anchor="middle" class="label">AAMOS Pro</text>
<text x="660" y="166" text-anchor="middle" class="small">Power users,</text>
<text x="660" y="181" text-anchor="middle" class="small">prosumers</text>
<text x="660" y="198" text-anchor="middle" class="amount-green">Subscription</text>
<!-- Stripe / Betalinfra -->
<rect x="760" y="124" width="140" height="90" rx="8" class="node input"/>
<text x="830" y="149" text-anchor="middle" class="label">Stripe</text>
<text x="830" y="166" text-anchor="middle" class="small">Betalinfrastruktur</text>
<text x="830" y="181" text-anchor="middle" class="small">+ Connect</text>
<text x="830" y="198" text-anchor="middle" class="amount-red">~2.9% + 3kr/tx</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ZONE: WAVULT GROUP (mitten) -->
<!-- ═══════════════════════════════════════════════════ -->
<rect x="20" y="252" width="1020" height="370" rx="8" class="zone" stroke="#7c3aed" stroke-dasharray="8 5"/>
<text x="36" y="270" class="zone-label" fill="#7c3aed">Wavult Group — produkter &amp; plattformar</text>
<!-- ─── quiXzoom ─── -->
<rect x="40" y="280" width="200" height="140" rx="10" class="node platform"/>
<text x="140" y="305" text-anchor="middle" class="label">quiXzoom</text>
<text x="140" y="322" text-anchor="middle" class="small">Crowdsourcad kamera-</text>
<text x="140" y="337" text-anchor="middle" class="small">infrastruktur</text>
<line x1="60" y1="352" x2="220" y2="352" stroke="#e2e8f0" stroke-width="1"/>
<text x="140" y="368" text-anchor="middle" class="small">Intäkt: credits (1cr=1SEK)</text>
<text x="140" y="383" text-anchor="middle" class="small">Plattformsavgift: 15%</text>
<text x="140" y="398" text-anchor="middle" class="small">Zoomer-utbetalni.: 85%</text>
<!-- ─── LandveX ─── -->
<rect x="270" y="280" width="200" height="140" rx="10" class="node platform"/>
<text x="370" y="305" text-anchor="middle" class="label">LandveX</text>
<text x="370" y="322" text-anchor="middle" class="small">Infrastruktur-</text>
<text x="370" y="337" text-anchor="middle" class="small">kontroll &amp; intelligens</text>
<line x1="290" y1="352" x2="450" y2="352" stroke="#e2e8f0" stroke-width="1"/>
<text x="370" y="368" text-anchor="middle" class="small">SaaS-licens per org</text>
<text x="370" y="383" text-anchor="middle" class="small">Anomali → quiXzoom</text>
<text x="370" y="398" text-anchor="middle" class="small">uppdrag (auto)</text>
<!-- ─── AAMOS Ouroboros ─── -->
<rect x="500" y="280" width="200" height="140" rx="10" class="node platform"/>
<text x="600" y="305" text-anchor="middle" class="label">AAMOS Ouroboros</text>
<text x="600" y="322" text-anchor="middle" class="small">Enterprise OS</text>
<text x="600" y="337" text-anchor="middle" class="small">(Finance, People, m.fl.)</text>
<line x1="520" y1="352" x2="680" y2="352" stroke="#e2e8f0" stroke-width="1"/>
<text x="600" y="368" text-anchor="middle" class="small">0,15% av nettoomsättn.</text>
<text x="600" y="383" text-anchor="middle" class="small">Golv 2 50015 000kr/mån</text>
<text x="600" y="398" text-anchor="middle" class="small">Tak 1,5 MSEK/år</text>
<!-- ─── AAMOS Pro ─── -->
<rect x="730" y="280" width="180" height="140" rx="10" class="node platform"/>
<text x="820" y="305" text-anchor="middle" class="label">AAMOS Pro</text>
<text x="820" y="322" text-anchor="middle" class="small">Prosumer agentruntime</text>
<text x="820" y="337" text-anchor="middle" class="small">+ Hermes</text>
<line x1="750" y1="352" x2="900" y2="352" stroke="#e2e8f0" stroke-width="1"/>
<text x="820" y="368" text-anchor="middle" class="small">Subscription (mån/år)</text>
<text x="820" y="383" text-anchor="middle" class="small">ISO 42001-cert Q3 2027</text>
<text x="820" y="398" text-anchor="middle" class="small">Per user</text>
<!-- ─── AAMOS Platform (kärna) ─── -->
<rect x="270" y="446" width="460" height="80" rx="10" class="node" fill="#eff6ff" stroke="#3b82f6" stroke-width="2"/>
<text x="500" y="471" text-anchor="middle" class="label">AAMOS Platform</text>
<text x="500" y="488" text-anchor="middle" class="small">AI-kärna · LLM-router (Claude/GPT/Gemini/Grok) · Governance · Audit</text>
<text x="500" y="503" text-anchor="middle" class="small">Intern kostnad: API-tokens per förfrågan (OpenAI/Anthropic/Google)</text>
<!-- ─── aamos-ledger ─── -->
<rect x="40" y="460" width="200" height="60" rx="8" class="node storage"/>
<text x="140" y="484" text-anchor="middle" class="label">aamos-ledger</text>
<text x="140" y="500" text-anchor="middle" class="small">Bokföring · BAS · SIE4 · E1</text>
<!-- ─── Stripe Connect (utbetaln.) ─── -->
<rect x="760" y="460" width="180" height="60" rx="8" class="node input"/>
<text x="850" y="484" text-anchor="middle" class="label">Stripe Connect</text>
<text x="850" y="500" text-anchor="middle" class="small">Utbetalar till zoomers</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ZONE: UTBETALNINGAR (botten) -->
<!-- ═══════════════════════════════════════════════════ -->
<rect x="20" y="644" width="1020" height="130" rx="8" class="zone"/>
<text x="36" y="662" class="zone-label">Utbetalningar &amp; kostnader</text>
<!-- Zoomers -->
<rect x="40" y="672" width="160" height="80" rx="8" class="node storage"/>
<text x="120" y="700" text-anchor="middle" class="label">Zoomers</text>
<text x="120" y="717" text-anchor="middle" class="small">Crowdsourcade fotografer</text>
<text x="120" y="734" text-anchor="middle" class="amount-green">85% av credits</text>
<text x="120" y="749" text-anchor="middle" class="small">SEK/EUR/USD/THB/+9</text>
<!-- AI API-leverantörer -->
<rect x="230" y="672" width="160" height="80" rx="8" class="node risk"/>
<text x="310" y="700" text-anchor="middle" class="label">AI API-leverantörer</text>
<text x="310" y="717" text-anchor="middle" class="small">Anthropic, OpenAI,</text>
<text x="310" y="734" text-anchor="middle" class="small">Google, Groq</text>
<text x="310" y="749" text-anchor="middle" class="amount-red">Per token</text>
<!-- AWS / Infra -->
<rect x="420" y="672" width="160" height="80" rx="8" class="node risk"/>
<text x="500" y="700" text-anchor="middle" class="label">AWS / Infra</text>
<text x="500" y="717" text-anchor="middle" class="small">EC2, RDS, S3,</text>
<text x="500" y="734" text-anchor="middle" class="small">Route53, SES</text>
<text x="500" y="749" text-anchor="middle" class="amount-red">Månadsvis</text>
<!-- Wavult Group (holding) -->
<rect x="610" y="672" width="200" height="80" rx="8" class="node" fill="#faf5ff" stroke="#7c3aed" stroke-width="2"/>
<text x="710" y="700" text-anchor="middle" class="label">Wavult Group</text>
<text x="710" y="717" text-anchor="middle" class="small">Holding · Plattformsavgifter</text>
<text x="710" y="734" text-anchor="middle" class="small">15% quiXzoom · SaaS LandveX</text>
<text x="710" y="749" text-anchor="middle" class="amount-green">Nettointäkt</text>
<!-- Personal / Payroll -->
<rect x="840" y="672" width="160" height="80" rx="8" class="node risk"/>
<text x="920" y="700" text-anchor="middle" class="label">Personal</text>
<text x="920" y="717" text-anchor="middle" class="small">Lön, sociala avg.</text>
<text x="920" y="734" text-anchor="middle" class="small">skatt (Ouroboros Payroll)</text>
<text x="920" y="749" text-anchor="middle" class="amount-red">Månadsvis</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: Externa betalare → Produkter -->
<!-- ═══════════════════════════════════════════════════ -->
<!-- B2B Orderers → quiXzoom -->
<path d="M120,214 L120,280" class="edge-money" marker-end="url(#arr-green)"/>
<text x="126" y="252" class="amount-green">Credits köps</text>
<!-- Ouroboros-kunder → Ouroboros -->
<path d="M305,214 L380,280" class="edge-money" marker-end="url(#arr-green)"/>
<text x="330" y="255" class="amount-green">Rev.share</text>
<!-- LandveX-kunder → LandveX -->
<path d="M485,214 L485,280" class="edge-money" marker-end="url(#arr-green)"/>
<text x="491" y="252" class="amount-green">SaaS</text>
<!-- AAMOS Pro kunder → AAMOS Pro -->
<path d="M660,214 L770,280" class="edge-money" marker-end="url(#arr-green)"/>
<text x="698" y="255" class="amount-green">Sub.</text>
<!-- Stripe betalinfra → quiXzoom + Ouroboros -->
<path d="M760,170 L220,305" class="edge" stroke="#94a3b8" stroke-dasharray="4 3" marker-end="url(#arr-gray)"/>
<text x="470" y="230" class="small" fill="#94a3b8">processar betalningar</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: LandveX → quiXzoom (uppdragsflöde) -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M370,420 Q370,438 270,440 Q200,442 200,420" class="edge-service" marker-end="url(#arr-purple)"/>
<text x="250" y="452" text-anchor="middle" class="small" fill="#6366f1">Anomali → uppdrag</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: Produkter → AAMOS Platform -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M370,420 L430,446" class="edge-service" stroke="#6366f1" stroke-dasharray="4 3" marker-end="url(#arr-purple)"/>
<path d="M600,420 L560,446" class="edge-service" stroke="#6366f1" stroke-dasharray="4 3" marker-end="url(#arr-purple)"/>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: quiXzoom → Stripe Connect → Zoomers -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M140,420 L140,460" class="edge-fee" marker-end="url(#arr-red)"/>
<text x="146" y="445" class="small" fill="#dc2626">85% utbet.</text>
<path d="M850,460 L850,448" stroke="#16a34a" stroke-width="2" fill="none"/>
<path d="M200,490 Q820,490 840,490 L840,460" class="edge-money" marker-end="url(#arr-green)"/>
<path d="M850,520 L200,712" class="edge-money" marker-end="url(#arr-green)"/>
<text x="400" y="618" text-anchor="middle" class="amount-green">Stripe Connect → bank (multi-currency)</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: quiXzoom 15% → Wavult Group -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M200,360 Q560,360 610,712" class="edge-money" marker-end="url(#arr-green)"/>
<text x="390" y="354" class="amount-green">15% platform fee</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: Ouroboros rev → Wavult Group -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M600,420 L680,672" class="edge-money" marker-end="url(#arr-green)"/>
<text x="653" y="570" class="amount-green">0.15% nettoomst.</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: LandveX SaaS → Wavult Group -->
<!-- ═══════════════════════════════════════════════════ -->
<path d="M440,360 Q530,560 650,672" class="edge-money" marker-end="url(#arr-green)"/>
<text x="505" y="530" class="amount-green">SaaS-licens</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- ARROWS: Kostnader ut -->
<!-- ═══════════════════════════════════════════════════ -->
<!-- AAMOS Platform → AI APIs -->
<path d="M380,526 L310,672" class="edge-fee" marker-end="url(#arr-red)"/>
<text x="322" y="610" class="amount-red">API tokens</text>
<!-- Wavult Group → AWS -->
<path d="M680,720 L580,752" class="edge-fee" marker-end="url(#arr-red)"/>
<text x="614" y="748" class="amount-red">Infra</text>
<!-- Wavult Group → Personal -->
<path d="M810,712 L880,672" class="edge-fee" marker-end="url(#arr-red)"/>
<text x="862" y="700" class="amount-red">Lön</text>
<!-- aamos-ledger ↔ Ouroboros -->
<path d="M240,480 L500,480" class="edge-service" stroke="#6366f1" stroke-dasharray="4 3" marker-end="url(#arr-purple)"/>
<text x="370" y="474" text-anchor="middle" class="small" fill="#6366f1">bokföring</text>
<!-- ═══════════════════════════════════════════════════ -->
<!-- NET FLOW SUMMARY BOX -->
<!-- ═══════════════════════════════════════════════════ -->
<rect x="20" y="800" width="1020" height="100" rx="8" fill="#f0fdf4" stroke="#16a34a" stroke-width="1.5"/>
<text x="530" y="824" text-anchor="middle" class="label">Netto-intäktsflöde till Wavult Group</text>
<text x="180" y="850" text-anchor="middle" class="small">quiXzoom</text>
<text x="180" y="866" text-anchor="middle" class="amount-green">15% av uppdragsvärde</text>
<line x1="280" y1="842" x2="280" y2="882" stroke="#e2e8f0" stroke-width="1"/>
<text x="390" y="850" text-anchor="middle" class="small">LandveX</text>
<text x="390" y="866" text-anchor="middle" class="amount-green">SaaS-licens per kund/år</text>
<line x1="490" y1="842" x2="490" y2="882" stroke="#e2e8f0" stroke-width="1"/>
<text x="600" y="850" text-anchor="middle" class="small">Ouroboros</text>
<text x="600" y="866" text-anchor="middle" class="amount-green">0,15% nettoomst. (golv 2 50015 000kr/mån)</text>
<line x1="720" y1="842" x2="720" y2="882" stroke="#e2e8f0" stroke-width="1"/>
<text x="820" y="850" text-anchor="middle" class="small">AAMOS Pro</text>
<text x="820" y="866" text-anchor="middle" class="amount-green">Subscription per användare</text>
<line x1="910" y1="842" x2="910" y2="882" stroke="#e2e8f0" stroke-width="1"/>
<text x="970" y="850" text-anchor="middle" class="small">Kostnader</text>
<text x="970" y="866" text-anchor="middle" class="amount-red">AI APIs + AWS + lön</text>
<text x="530" y="893" text-anchor="middle" class="subtitle">Alla betalningar processas via Stripe · Utbetalningar till zoomers via Stripe Connect (multi-currency: SEK/EUR/USD/THB/+9 valutor) · Bokföring i aamos-ledger</text>
</svg>
</main>