Files
boc/intelligence/build-c2-partner-modell.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

15 KiB
Raw Blame History

BUILD-C2 — Partner-/Geo-modell & DNS-designdokument

Datum: 2026-06-06
Källa: BUILD-C1 domäninventering + affärsregler (Erik, låst)
Status: Design — INGA mutationer genomförda
Nästa steg: C3-skript är förberett men ej kört — kräver explict godkännande


0. Principfastlägganden (gäller alla klasser)

Princip Beslut
Anti-spoofing DMARC p=reject på ALLA domäner utan aktiv MX/mailflöde. På aktiva maildomäner kvarstår p=none tills DKIM verifierats i produktion.
Single point of failure Mailu på mail.wavult.com är enda MX-infra — acceptabel för nuvarande skala men dokumenterat som framtida risk.
Ingen mail utan ägare Övriga marknadsdomäner ska INTE ta emot mail som hamnar i Wavults brevlåda utan att någon ansvarar.
Ingenting destruktivt utan verifiering MX-borttagning på döda domäner och zone-konsolidering kräver explicit Erik-godkännande och record-jämförelse.
DMARC-skärpning på aktiva maildomäner aamos.systems, landvex.com, quixzoom.com, wavult.com, aamos.ai — dessa får INTE höjas till p=reject förrän DKIM-signaturer verifierats i praktiken (se flagga nedan).

1. EU/USA-domäner (38 domäner i EU/Global-klassen)

1.1 Designbeslut: Fullständiga brevlådor vs. catch-all-redirect

Rekommendation: Hub-and-spoke — fulla brevlådor ENBART på primärdomäner (.com + aamos.systems), catch-all-redirect på alla landssuffix.

Motivering:

  • Att ge alla 38 EU-domäner fulla brevlådor skapar omöjlig förvaltningsbörda (38 × N alias = hundratals poster).
  • Catch-all på landssuffix → vidarebefordring till primärdomänens brevlåda är branschstandard för europeiska marknadssatsningar.
  • Mailu stödjer catch-all och alias utan extra licens.
  • DMARC p=reject på landssuffix skyddar mot spoofing utan att aktivera mailmottagning.

1.2 Tre-nivåmodell

NIVÅ 1 — Primärdomäner (full mail + roll-routing):
  landvex.com       → fulla brevlådor + roll-alias (ceo/cfo/coo/cto/cmo/info/support)
  quixzoom.com      → fulla brevlådor + roll-alias
  aamos.systems     → fulla brevlådor + roll-routing (redan live, vår plattform)
  aamos.ai          → redirect-alias → aamos.systems (eller egna brevlådor om varumärket kräver det)
  wavult.com        → fulla brevlådor (holding/group-level: ceo@wavult.com etc.)

NIVÅ 2 — EU-landsdomäner (MX → mail.wavult.com + catch-all → primär):
  landvex.{se,eu,de,fr,nl,es,it,fi,ch,co.uk,be,dk}
  landvex.{net,org}
  landvex-gov.eu, landvex-intelligence.eu, landvex-infrastructure.eu
  landvex-systems.com, landvex-secure.com
  quixzoom.{eu,nl,de,fr,es,it,fi,ch,co.uk,be,dk}
  quixzoom.{net,org}
  wavult.se

NIVÅ 3 — Utan MX, DMARC reject (defensivt skydd):
  Övriga marknadsdomäner (klass 2 nedan)
  Döda domäner (efter verifiering)

1.3 Roll-alias-modell för primärdomäner

Baseras på befintlig aamos.systems-modell. Replikera på landvex.com, quixzoom.com, wavult.com:

Alias → Person/roll
ceo@[domän] → CEO (roll-baserat, person-agnostiskt)
cfo@[domän] → CFO
coo@[domän] → COO
cto@[domän] → CTO
cmo@[domän] → CTO (Leon borta, ruttad till CTO enligt befintlig config)
info@[domän] → info-brevlåda eller catch-all
support@[domän] → support-kö

OBS: Roll-routingkonfiguration sker i Mailu (admin-UI), inte i DNS. DNS behöver bara MX-post + SPF + DKIM + DMARC.

1.4 DNS-poster per EU-domän (Nivå 2-mall)

; Catch-all via MX → mail.wavult.com
@  IN MX  10  mail.wavult.com.

; SPF — tillåt Mailu-servern + Google (om G Workspace används som backup)
@  IN TXT  "v=spf1 mx a:mail.wavult.com ~all"

; DKIM — kopieras från aamos.systems (samma Mailu-instans, samma selector)
; Selector: mail (eller wavult — verifiera i Mailu-admin)
mail._domainkey  IN TXT  "<DKIM-pubkey från Mailu  hämta via admin>"

; DMARC — p=none initialt, skärps till quarantine/reject efter DKIM-verifiering
_dmarc  IN TXT  "v=DMARC1; p=none; rua=mailto:dmarc@aamos.systems; ruf=mailto:dmarc@aamos.systems; fo=1"

1.5 DMARC-skärpningsplan (aktiva maildomäner)

⚠️ KRITISK FLAGGA: Höj INTE till p=rejectaamos.systems, landvex.com, quixzoom.com, wavult.com, aamos.ai förrän:

  1. DKIM-signaturer verifierats via mail-tester.com eller dmarcian.com
  2. DMARC-rapporter (rua) analyserats i minst 2 veckor
  3. Inga legitima sändare saknas i SPF/DKIM

Rekommenderad skärpningssekvens:

  1. Aktivera DMARC p=none + rua-rapportering → vänta 2 veckor
  2. Granska rapporter, åtgärda avvikelser
  3. Höj till p=quarantine; pct=10 → vänta 1 vecka
  4. Höj till p=quarantine; pct=100 → vänta 1 vecka
  5. Höj till p=reject

Landssuffix (Nivå 2) som saknar aktiv MX idag kan sättas direkt till p=reject eftersom inga legitima avsändare existerar.


2. Övriga marknader — Partner-domäner (13 domäner)

2.1 Domänlista

Domän Marknad
landvex.mx Mexico 🇲🇽
landvex.lat LATAM 🌎
landvex.asia Asien 🌏
landvex.in Indien 🇮🇳
landvex.jp Japan 🇯🇵
landvex.co Colombia/.co global 🌍
quixzoom.mx Mexico 🇲🇽
quixzoom.lat LATAM 🌎
quixzoom.in Indien 🇮🇳
quixzoom.jp Japan 🇯🇵
quixzoom.asia Asien 🌏
quixzoom.co Colombia/.co global 🌍
(landvex.tech, quixzoom.tech — se nedan)

2.2 Rekommendation: Alternativ (a) — Ingen MX + DMARC reject

Rekommenderar alternativ (a): Ingen MX + DMARC reject

Motivering:

Aspekt Alt (a): Ingen MX + reject Alt (b): Partner@ vidarebefordrar
Spoofingskydd Maximalt — ingen mail accepteras ⚠️ Partial — MX öppnar attackyta
Partner-kommunikation Sker via primärdomän (partner@landvex.com) tills lokal partner aktiveras Förvirrar — vem äger inkorgen?
Underhåll Noll — set-and-forget Kräver vidarebefordring per domän
Signalering Tydlig: "Denna marknad är inte aktiv" Tvetydigt — halvt aktiv
GDPR/ansvar Ingen data samlas in på partnermarknaden ⚠️ Risk om ingen äger inkorgen
Partneraktivering DNS-ändring när partner aktiveras Samma

Slutsats: Alternativ (a) är renare, säkrare och kräver noll löpande underhåll. När en lokal partner aktiveras lägger vi till MX + SPF + DKIM + DMARC för den specifika domänen.

2.3 DNS-poster för partnerdomäner (ingen MX)

; Ingen MX-post = ingen mailmottagning

; SPF — explicita neka (inga auktoriserade avsändare)
@  IN TXT  "v=spf1 -all"

; DMARC — omedelbart reject (inga legitima avsändare finns)
_dmarc  IN TXT  "v=DMARC1; p=reject; rua=mailto:dmarc@aamos.systems"

; Ingen DKIM-post behövs (inga avsändare att signera)

2.4 Oklar klassificering: .tech och .co

landvex.tech / quixzoom.tech:

  • Generiska TLDs utan tydlig marknadstillhörighet
  • Om de används som tech/developer-domäner → klassas som EU (Nivå 2)
  • Om de inte används aktivt → partnermodell (ingen MX + reject)
  • Fråga till Erik: Används .tech aktivt? Om inte → avveckla eller partnermodell

landvex.co / quixzoom.co:

  • .co används globalt men är Colombias ccTLD
  • Om de är Colombia-specifika → partnermodell (lokal partner)
  • Om de är globala backup-domäner → EU Nivå 2
  • Fråga till Erik: Är .co globalt defensiv registrering eller Colombia-specifik?

3. Döda varumärken — Avvecklingsdesign

3.1 Domäner

Domän MX-status Zone ID
corpfitt.com AKTIV MX (mail.wavult.com) Z03586003P55GRO87T6M3
hypbit.com AKTIV MX (mail.wavult.com) Z06944491GZGBRKHYNYSK
pixdrift.com Ingen MX Z06885272CR0QX3ZHVMTK

3.2 Avvecklingssekvens (corpfitt.com och hypbit.com)

⚠️ Kräver Erik-godkännande innan genomförande

Steg 1 — Verifiera att ingen aktiv korrespondens pågår:

  • Kontrollera Mailu-loggar: finns det inkommande mail till corpfitt.com / hypbit.com de senaste 90 dagarna?
  • Finns det aktiva konton/alias i Mailu för dessa domäner?
  • Om JA → parkera brevlådorna, informera berörda mottagare, sätt bounce-meddelande

Steg 2 — Säker avveckling (efter verifiering):

; Ta bort MX-posten
; (Radera MX 10 mail.wavult.com.)

; Lägg till SPF-avvisning
@  IN TXT  "v=spf1 -all"

; Lägg till DMARC reject
_dmarc  IN TXT  "v=DMARC1; p=reject; rua=mailto:dmarc@aamos.systems"

Steg 3 — Framtida val (Erik-beslut):

  • Behåll zone med DMARC reject → defensivt skydd mot domain squatting (rekommenderat om varumärket kan återupptas)
  • Radera zone → frigjord domän kan registreras av annan (permanent avveckling)

3.3 pixdrift.com (ingen MX)

Pixdrift har redan ingen MX. Enda åtgärden:

; Om det saknas — lägg till SPF och DMARC
@  IN TXT  "v=spf1 -all"
_dmarc  IN TXT  "v=DMARC1; p=reject; rua=mailto:dmarc@aamos.systems"

Kräver ingen erikgodkänd MX-borttagning — kan implementeras direkt.


4. Okända domäner — Öppna frågor till Erik

⚠️ Inget destruktivt föreslås för dessa domäner. Inga DNS-förändringar tills produktstatus klarlagts.

4.1 Öppna frågor

Domän Zone ID Fråga
aakira.ai Z03635911UUILKCUZ19T4 Vad är Aakira? Aktiv produkt, planerad, eller död? Ska den kopplas till Wavult-arkitekturen?
apifly.com Z0446278GDE5PNAOQP0O Apifly — aktiv produkt? Har den egna kunder/användare? Ska MX aktiveras?
apifly.se Z10396092LJCJ3FH4V8GA Komplement till apifly.com — samma frågeställning
apbxp.cloud Z06961913786CYDDS7661 Okänt varumärke och syfte. Är det ett internt verktyg, en dead-end registrering, eller aktiv produkt?
prexo.co Z02639111HPSKSMSUDUU Okänt varumärke. .co-TLD — är det Colombia-marknad eller global?

4.2 Rekommendation i väntan på svar

Tills Erik svarar: vidta inga åtgärder. Dessa domäner har ingen aktiv MX (utom möjligen aakira.ai — verifiera). Ingen spoofing-risk utan aktiv MX, men kontrollera om DMARC-poster saknas.

Om DMARC saknas på dessa domäner (verifiera med dig TXT _dmarc.<domain>) kan en p=none-post läggas till som neutral åtgärd — samlar data utan att blockera.


5. Duplikatzoner — Konsolideringsdesign

5.1 Fyra duplikatpar

Domän Zone A Zone B
landvex.ch Z060292760R1ZY0PQH3V Z00716462L6XS9QZX1HHS
quixzoom.co.uk Z035263432T28MD24XUIG Z06391212CQRAVQ1FMNHV
aamos.ai Z0992155TZTAVTB9DKU Z10021043NUR85M9WUOQM
wavult.com Z03332778KCOYPM9OBKP Z02946821NE63OOAKDTKA

5.2 Konsolideringsprotokoll (INNAN borttagning)

⚠️ ALDRIG radera zone utan att först jämföra record-sets

Algoritm för att avgöra vilken zone som är aktiv:

# Steg 1: Lista records i BÅDA zones
aws route53 list-resource-record-sets --hosted-zone-id ZONE_A --output json > zone_a_records.json
aws route53 list-resource-record-sets --hosted-zone-id ZONE_B --output json > zone_b_records.json

# Steg 2: Jämför antal records
# Zone med FLER records är troligen den aktiva

# Steg 3: Kontrollera NS-poster mot externa DNS
# Vilken zones NS-poster matchar vad registraren delegerar till?
dig NS landvex.ch +short
# Jämför med:
aws route53 list-resource-record-sets --hosted-zone-id ZONE_A | grep -A5 '"NS"'
aws route53 list-resource-record-sets --hosted-zone-id ZONE_B | grep -A5 '"NS"'

# Steg 4: Den zone vars NS-poster matchar registrarens delegering ÄR den aktiva
# Den andra är en "phantom zone" — radera den

# Steg 5: Migrera eventuella unika records från phantom → aktiv zone
# Steg 6: Radera phantom zone

5.3 Speciellt fall: wavult.com och aamos.ai (har aktiv MX)

För wavult.com och aamos.ai som har aktiv MX och mail-trafik:

  • Extra försiktighet — MX-avbrott orsakar mail-bounces
  • Verifiera NS-delegation INNAN borttagning
  • Genomför under lågtrafiktid

5.4 Förväntad situation

Sannolikt scenario: En zone är "äkta" (NS-poster delegerade av registraren), den andra är en gammal kopia från en migration som aldrig städades upp. Records i den falska zonen påverkar ingenting (DNS resolver hittar aldrig till den), men de kan förvirra.


6. Intern infrastruktur (wavult.local, git.wavult.com)

Domän Hantering
wavult.local Privat Route53-zone — vidta ingen åtgärd, behåll
git.wavult.com Intern Git-host — behåll, lägg till DMARC om det saknas: p=reject (inga legitima avsändare)

7. Beslutsmatris — sammanfattning per domänklass

Klass MX SPF DKIM DMARC Ansvarig
Primärdomäner (Niv. 1) mail.wavult.com mx a:mail.wavult.com ~all Mailu-selector p=none → skärps efter DKIM-verifiering Wavult-teamet
EU-landsdomäner (Niv. 2) mail.wavult.com mx a:mail.wavult.com ~all Kopiera från primär p=nonep=reject (kan skärpas direkt när MX aktiverats + DKIM verifierats) Wavult-teamet
Partnerdomäner (Niv. 3) Ingen v=spf1 -all Ingen p=reject (omedelbart) Wavult äger, lokal partner aktiverar vid behov
Döda domäner Ta bort (efter verifiering) v=spf1 -all Ingen p=reject Erik-godkännande krävs
Okända domäner Ingen åtgärd Ingen åtgärd Ingen åtgärd p=none (neutral, valfritt) Erik-beslut krävs
Duplikatzoner Record-jämförelse → radera phantom Erik-godkännande + verifiering
Intern infra Behåll som är v=spf1 -all (inga externa sändare) Ingen p=reject Wavult-teamet

8. Öppna frågor — krävs Eriks input

  1. corpfitt.com + hypbit.com: Pågår aktiv korrespondens? Ska MX stängas av?
  2. aakira.ai: Produkt, projekt eller dead-end?
  3. apifly.com + apifly.se: Aktiv produkt?
  4. apbxp.cloud + prexo.co: Vad är detta?
  5. landvex.tech + quixzoom.tech: Används de? Avveckla eller EU Nivå 2?
  6. landvex.co + quixzoom.co: Global defensiv eller Colombia-specifik?
  7. Duplikatzoner: Godkänn konsolideringsprotokoll (NS-verifiering → radering)
  8. wavult.com: Ska det vara en "group-level" maildomän med ceo@wavult.com etc., eller räcker aamos.systems?
  9. DMARC-skärpning på aktiva maildomäner: Har DKIM verifierats i praktiken (mail-tester.com)?

9. Implementationsordning (när beslut är tagna)

Fas 1 — Säker (kan göras omgående, ingen destruktiv åtgärd):

  • Lägg till DMARC p=none på alla EU-landsdomäner som saknar det (Nivå 2)
  • Lägg till DMARC p=reject + SPF -all på partnerdomäner (Nivå 3)
  • Lägg till DMARC p=reject + SPF -all på pixdrift.com (har redan ingen MX)

Fas 2 — Med Eriks godkännande:

  • MX-borttagning på corpfitt.com + hypbit.com (efter Mailu-loggkontroll)
  • Duplikatzon-konsolidering (efter NS-verifiering)

Fas 3 — DMARC-skärpning (aktiverade maildomäner):

  • Kör DMARC-rapport-analys 2 veckor → skärp stegvis till reject

Fas 4 — Okända domäner:

  • Väntar på Eriks input

Design av OpenClaw subagent BUILD-C2 | 2026-06-06 | Inga mutationer gjorda — read-only
Implementationsskript: /home/bernt/.openclaw/workspace/build/c3-apply-dns.sh (förberett, ej kört)