Files
boc/memory/self-onboarding-result.md
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

4.2 KiB

Self-Onboarding — Full Stack Build Result

Datum: 2026-06-05
Uppdragsgivare: Erik
Utförare: OpenClaw subagent


Vad som levererades

1. Backend — /api/onboarding/price-calc (NY endpoint)

Endpoint: GET /api/onboarding/price-calc?revenue=<SEK>
Status: LIVE och testad
Publik: Ja (ingen auth krävs)

// curl -s 'http://localhost:3100/api/onboarding/price-calc?revenue=20000000'
{
  "ok": true,
  "revenue_sek": 20000000,
  "annual_sek": 78000,
  "monthly_sek": 6500,
  "floor_applied": true,
  "capped": false,
  "band": "growth",
  "raw_rate_sek": 30000,
  "floor_sek": 78000,
  "rate": 0.0015
}

Ändrade filer:

  • /opt/amos/api/onboarding/create-org.mjs — lade till calcAnnualFee import + /price-calc GET route
  • /opt/amos/services/amos-core/server.mjs — mountade create-org router PUBLIC (före auth middleware), lade till /api/onboarding/create-org och /api/onboarding/price-calc i public whitelist

2. Backend — POST /api/onboarding/create-org (nu MOUNTAD)

Status: Mountad och testad E2E
Endpoint: /api/onboarding/create-org — publik, ingen auth

DB-fix: Skapade organizations-tabell i amos-databasen (create-org.mjs använde DATABASE_URL från .env → amos DB, inte ouroboros). prexo_users fanns redan.

3. Frontend — Desktop + Mobil onboarding

URL: https://amos.wavult.com/auth/onboarding.html
HTTP 200: Bekräftad
Fil: /opt/amos/public/auth/onboarding.html (23 KB)

Features:

  • 3-stegs flöde med progress bar + smooth animation
  • Steg 1: Org-namn, bransch, storlek, omsättningsslider med live prisberäkning
  • Steg 2: Admin-namn, email, lösenord (styrkeindikator), roll
  • Steg 3: Modulval (6 st, checkbox-tiles)
  • Submit → POST /api/onboarding/create-org → redirect till dashboard
  • Apple native design language (SF Pro, #007AFF, #34C759, #FF3B30, border-radius 13px)
  • Dark mode (prefers-color-scheme: dark)
  • Mobiloptimerad (min 320px, max 600px centrerat på desktop)
  • Inline felhantering, loading state på knapp

4. iOS PWA — Native onboarding

URL: https://amos.wavult.com/ios-onboarding/
HTTP 200: Bekräftad
Filer:

  • /opt/amos/public/ios-onboarding/index.html — iOS-native PWA
  • /opt/amos/public/ios-onboarding/manifest.json — PWA install manifest
  • /opt/amos/public/ios-onboarding/icon-{180,192,512}.png — App icons

Features:

  • apple-mobile-web-app-capable + black-translucent status bar
  • Safe area insets (env(safe-area-inset-*))
  • iOS-stil nav bar med Tillbaka/Hoppa över
  • Progress dots (iOS-stil)
  • Lista-UI för formulär (iOS settings-utseende)
  • Revenue slider med live prisberäkning
  • Bottom-anchored CTA (thumb-reach)
  • Samma 3-stegs flöde som desktop

E2E-testresultat

Test Resultat
price-calc?revenue=20000000 { band: "growth", monthly_sek: 6500 }
POST /api/onboarding/create-org Org skapad i DB
JWT returnerat RS256-signerat token
Redirect /ceo dashboard
Org i DB

E2E test org:

  • org_id: ed0d331d-3094-4367-a7cf-40ce6e234425
  • org_name: TestBolag AB
  • email: test-onboard-1780658624@testbolag.se
  • redirect: /ceo

Live URLs

Resurs URL
Desktop onboarding https://amos.wavult.com/auth/onboarding.html
iOS PWA onboarding https://amos.wavult.com/ios-onboarding/
Price-calc API https://amos.wavult.com/api/onboarding/price-calc?revenue=10000000
Create-org API POST https://amos.wavult.com/api/onboarding/create-org

Vad som kvarstår (om något)

  1. Riktiga iOS App Icons — placeholder PNG-ikoner genererades (enfärgade blå). Bör ersättas med riktig AAMOS-logotyp för production.
  2. Email-verifiering — create-org sätter email_verified=true direkt. Om man vill ha verifieringsmail bör det läggas till.
  3. Rate limiting — create-org är publik utan rate limit. Bör läggas till för production.
  4. Signup.html redirect — gamla /auth/signup.html är kvar. Kan läggas till redirect till /auth/onboarding.html.
  5. DB-konsolideringorganizations-tabellen skapades i amos-databasen. Bör synkas med ouroboros-DB om multiorg-systemet förväntar sig det där.