# IQ Universitas 3.0 — Architecture (ideal.iqmetaversity.com)

Snapshot 2026-10-30 · the 3.0 upgrade of the IQ Metaversity 2.2.4 architecture. Same morphology (file layout, shell, hash router, data files, runtime modes) and the same functions (identity, enrolment, credentials, assessment, verification), extended in scope.

## 1. Front end (static PWA)

```
index.html            app shell: 14 hash views (11 carried + synthesis, charter, web3)
config.js             runtime config (mode, API_BASE, CAMPUS_ORIGIN, ISSUER_DID, optional Supabase/anchor settings)
css/app.css           tokens (--bg, --bg2, --panel, --fg, --mute, --line, --accent, --ok, --warn, --bad) + primitives
css/iqm.css           site components (hero, constellation, schools, programmes, synthesis, charter, web3 lab)
shell/shell.css|js    6T shared shell: topbar, site header (nav + "More"), ecosystem mega menu (⌘K), footer
js/nexus-data.js      NX registry: layers, nodes, families, ~200 refs, 12 districts, 9 fields, 36 modules, gates, phases
js/iqm-data.js        IQ: 9 schools, 4 institutes, 4 colleges, 9 certs, tiers, formats, 12 services, bench (24), rankings,
                      12 principles, lessons, bodies, charter, i18n (tr/en)
js/auth.js            IQ.store · session · SIWE / e-mail / did:key · enrol/complete · VC 2.0 + OB 3.0 issue (ES256) ·
                      verify · CLR 2.0 · xAPI (consent-gated) · assessment · optional Supabase
js/web3.js            IQW3: IPFS CIDv1 · salted digest · ERC-5484 anchor payload · Bitstring status list ·
                      DAO-like proposal ledger · EDC/ELM + OID4VCI export · wallet info
js/app.js             router, i18n apply, 14 view renderers, shell config, boot
manifest.webmanifest  PWA manifest · sw.js offline cache · .well-known/did.json issuer DID · status/draft status list
dev/                  this file, openapi.yaml, research/ (A, B, C evidence files)
```

Routing: `#home #synthesis #campus #schools #programs[/school] #research #quality #charter #web3 #developers #account #dashboard #assess #verify`.
Runtime modes: `demo` (browser only, default) · `supabase` (real e-mail sign-in, EU records with RLS) · `live` (API gateway).

## 2. Backend (design): API gateway + 12 microservices

| service | port | role |
|---|---|---|
| api-gateway | 8080 | OpenAPI 3.1, rate limiting, JWT/DPoP, CORS |
| identity | 8101 | SIWE (EIP-4361), OIDC/OAuth 2.1, magic link, did:web/did:key/did:pkh, OID4VCI issuance endpoint |
| catalog | 8102 | schools, institutes, colleges, modules, certificates; ECTS/EQF/ISCED-F; CASE 1.1, OneRoster 1.2 |
| enrolment | 8103 | application, prerequisites, enrolment state, term & co-op plan; LTI 1.3 |
| learner-record | 8104 | xAPI LRS (consent-gated), Caliper, CLR 2.0 assembly, assessment results |
| credentials | 8105 | OB 3.0 / VC 2.0 issuance, Data Integrity / JOSE proofs, Bitstring status list, EDC/EBSI export, verifier |
| registry | 8106 | reference registry API; JSON-LD/SKOS/PROV; CSL citations |
| telemetry | 8107 | purpose-based consent, minimisation, 90-day retention, DPIA records |
| campus-bridge | 8108 | Nexusverse events (postMessage), WebSocket for multi-user XR, presence |
| governance (new) | 8109 | charter, bodies, proposal/vote ledger (one member one vote), decision log |
| anchor (new) | 8110 | Merkle root of salted VC digests → permissioned chain or ERC-5484 SBT; no personal data |
| ai-assist (new) | 8111 | sourced drafts only (feedback, summaries); never decides; model card + logging (EU AI Act) |

Stores: PostgreSQL (records, catalog, ledger) · Redis/NATS (sessions, events) · object store + IPFS (VC, OER, CID).

## 3. Trust boundary
- No personal data without consent; telemetry is opt-in and local in demo mode.
- No personal data on-chain (EDPB Guidelines 02/2025): only salted SHA-256 digests; permissioned chain preferred; the salt stays with the learner.
- AI drafts, humans decide (EU AI Act Annex III; obligations from 2 Dec 2027 per Omnibus 2026/1744); every decision logged and appealable.
- Credentials: W3C VC 2.0 (REC 15 May 2025) · Open Badges 3.0 · CLR 2.0 (4 Mar 2025) · Bitstring Status List · EDC/EUDI (OID4VCI) ready.
- Accessibility: WCAG 2.2 AA (EN 301 549 V4.1.1); every 3D view has a 2D equivalent.

## 4. Upgrade map 2.2.4 → 3.0.0
| area | 2.2.4 | 3.0.0 |
|---|---|---|
| views | 11 | 14 (+synthesis, charter, web3) |
| schools / institutes / colleges | 6 / – / – | 9 / 4 / 4 |
| modules / certificates | 24 / 6 | 36 / 9 |
| districts | 9 | 12 |
| references | 179 | ~200 (+university models & rankings family) |
| services | 9 | 12 |
| credential stack | VC 2.0, OB 3.0, CLR 2.0 | + Bitstring status list, EDC/ELM, OID4VCI offer, CID, ERC-5484 anchor payload |
| governance | 5 bodies (design) | 7 bodies + 10-article charter + DAO-like ledger |
