Skip to content

# DAARION_Identity_And_Access_Draft_v1.md

## DAIS — DAARION Autonomous Identity System (Draft IAM Specification)

Version: 1.0
Status: Draft (Foundation Update)
Scope: DAIS identity, wallets, keys, access control, DID, recovery

# 0. Мета документа

Визначити проектну модель системи ідентичності та доступу в DAARION.city:

- як створюється DAIS-ідентичність;
- як зв’язуються email, wallet, ключі, DID, Matrix;
- як визначаються рівні довіри;
- як працює key rotation та recovery;
- як DAIS пов’язаний із Agent/MicroDAO/Node;
- як реалізований доступ на рівні сервісів (gateway, node, worker).

Документ — фундамент IAM-модуля. Він не ламає поточну архітектуру, а задає майбутні вимоги.

# 1. Концепція DAIS

DAIS (DAARION Autonomous Identity System) — універсальна цифрова ідентичність, яка належить агенту й використовується для:

- створення агента,
- входу в MicroDAO,
- авторизації на нодах,
- підписання подій у DAGI Mesh,
- економічних операцій,
- відновлення доступу.

# 2. Структура DAIS-ідентичності

    DAIS Identity
     ├─ Email identities (1..N)
     ├─ Wallet identities (1..N)
     │    ├─ EVM (Polygon)
     │    ├─ TON (future)
     │    └─ Hardware wallet (future)
     ├─ DID (decentralized identifier)
     ├─ Matrix handle
     ├─ Public keys
     ├─ Signature domains
     ├─ Recovery methods
     └─ Metadata

# 3. Компоненти DAIS

## 3.1. Email identities

- Passwordless (OTP / Magic Link).
- Можна прив’язати кілька email.
- Використовується як low-security login.

## 3.2. Wallet identities

- Підтримка EVM wallets (MetaMask, Rabby, WalletConnect).
- SIWE як стандарт підпису.
- Wallet є high-security login.

## 3.3. DID

- формат: `did:daariion:<uuid>`
- використовується для підписання подій, міжнодових операцій, Matrix.

## 3.4. Matrix handle

- `@<agent_id>:matrix.daarion.city`
- для міжагентного чату, голосових каналів, presence.

## 3.5. Public Keys

Тип ключа | Призначення
--- | ---
Ed25519 | підпис подій, автентифікація
X25519 | шифрування / E2EE
secp256k1 | wallet-сумісність

## 3.6. Signature domains

- `dais.login`
- `dais.node-auth`
- `dais.microdao-action`
- `dais.agent-auth`
- `dais.recovery`

## 3.7. Metadata

    {
      "avatar": "...",
      "telegram_linked": false,
      "created_at": "...",
      "citizenship_level": "basic"
    }

# 4. Рівні довіри DAIS (Trust Levels)

Рівень | Назва | Вимоги | Права
--- | --- | --- | ---
0 | Guest | email only | базові функції
1 | Agent | підтверджений email | створення агента
2 | Verified Agent | email + wallet | доступ до AI/DAO
3 | Orchestrator | SIWE + токени/ролі | створення MicroDAO
4 | DAARION Operator | hardware keys (future) | city governance

# 5. Зберігання (схема)

    dais_identities (
      id text primary key,
      default_email text null,
      default_wallet text null,
      did text not null,
      trust_level integer not null default 1,
      metadata jsonb not null default '{}'::jsonb,
      created_at timestamptz not null default now()
    );

    dais_emails (
      id uuid primary key,
      dais_id text not null references dais_identities(id),
      email text not null,
      verified boolean not null default false
    );

    dais_wallets (
      id uuid primary key,
      dais_id text not null references dais_identities(id),
      wallet_address text not null,
      network text not null default 'evm',
      verified boolean not null default false
    );

    dais_keys (
      dais_id text not null references dais_identities(id),
      key_type text not null,
      public_key text not null
    );

# 6. Взаємозв’язок DAIS → Agent → MicroDAO → Node

    DAIS identity
         ↓  (автоматично)
    Agent (home_microdao = DAARION)
         ↓  (через promotion)
    MicroDAO (створюється оркестратором)
         ↓
    Node (реєструється MicroDAO)

# 7. Рівні доступу

## 7.1. Application (UI)

- Email OTP / Magic link / SIWE.
- Доступ до кабінету агента, MicroDAO, сервісів.

## 7.2. Services (Gateway/API)

- Авторизація через DID, public keys, короткоживучі токени.

## 7.3. Node Access

- Нода перевіряє DAIS-ключ (`dais.node-auth`).

# 8. Ротація ключів

- Soft rotation: заміна email, прив’язка нового wallet, оновлення Matrix handle.
- Hard rotation: новий DID, нові ключі Ed25519/X25519 (потрібен підпис wallet).

# 9. Recovery

- Recovery email (secondary addresses).
- Seed phrase wallet recovery.
- Social recovery (future) — 2-3 поручителі (агенти, MicroDAO core team, DAARION108).

# 10. DAIS та безпека DAGI Mesh

DAIS використовується для:

- підписання міжагентних повідомлень;
- валідації подій у DAGI Router;
- E2EE у Matrix;
- авторизації worker-нод;
- запуску міжнодових контейнерів.

Без DAIS неможливо створити агента, MicroDAO, ноду чи увійти в District.

# 11. Майбутні розширення

- Інтеграція TON;
- DID-compatible wallet auth;
- hardware keys;
- локальна біометрія (без передачі).

# 12. Підсумок

DAIS — це цифрове тіло кожного агента.
Воно забезпечує універсальний login, права доступу, підписи, recovery.
Документ задає базу для майбутнього IAM і не потребує змін у чинній логіці.