AI-Powered Multi-Factor Authentication Framework | Not XMPP/Jabber
⚠️ IMPORTANT: This is a modern authentication framework for AI/FIDO2/Blockchain/GovTech. NOT related to legacy XMPPjabber:iq:authprotocol. If you're looking for Jabber/Openfire/ejabberd XML authentication, this is not the project you need.
Інноваційна модульна система авторизації з динамічним крипто-ланцюгом, AI-інтеграцією та мультифакторною ідентифікацією для сучасних веб/мобільних додатків.
iQ-auth — це TypeScript/Node.js фреймворк нового покоління для побудови захищених, розширюваних систем автентифікації з підтримкою FIDO2/WebAuthn, біометрії, blockchain-гаманців, державної цифрової ідентифікації (Diia.gov.ua), соціальних мереж та локальних AI-асистентів (Ollama/Llama).
Built by: Igor Omelchenko (010io) — AI/Mesh Architect, GovTech Developer
- LEGO-принцип: Core + розширювані плагіни
- Монорепо: pnpm workspaces з
@iq-auth/*пакетами - Незалежність: Кожен модуль публікується окремо
Підтримка множинних ідентичностей для користувача:
- 📱 Device ID
- 👆 Biometric ID
- 👤 Social ID (LinkedIn, GitHub)
- 💰 Wallet ID (MetaMask, Solana)
- 🏛️ Government ID (Diia.gov.ua)
- ✅ FIDO2/WebAuthn - сучасний стандарт без паролів
- 🔗 Blockchain - MetaMask, Solana, EVM-сумісні гаманці
- 🇺🇦 Diia.gov.ua - державна цифрова ідентифікація
- 👆 Biometric - відбитки пальців, Face ID
- 💼 LinkedIn Verified - професійна ідентифікація
- 🔑 Password - традиційний fallback
- Ollama/Llama 3.1 - локальні LLM моделі (безкоштовно)
- WINWIN AI - українська мовна модель
- Опціонально: Gemini API, OpenAI
- Плагінний підхід: легко додати нові AI-провайдери
- CREATOR_SEED + VERSION_SEED - унікальна система версійності
- Криптографічний ланцюг для захисту авторських прав
- Автоматична генерація CHANGELOG
- In-memory (для розробки)
- PostgreSQL (адаптер)
- Redis (адаптер)
- MongoDB (адаптер)
- Власні адаптери через інтерфейси
iQ-auth підтримує universal authentication від бюджетних Bluetooth-навушників до enterprise Vertu phones та high-end Mac Pro.
| Platform | Devices | Auth Methods | Security Features |
|---|---|---|---|
| Android | Xiaomi, POCO, Samsung, Huawei, OnePlus, Pixel, Vertu | FIDO2, Biometric, OAuth2, Device Key, NFC | Keystore, SafetyNet, StrongBox, TrustZone |
| iOS/macOS | iPhone, iPad, MacBook, Mac Pro, iMac | Face/Touch ID, FIDO2, OAuth2, Device Key | Secure Enclave, App Attest, Sandboxing |
| Windows | Surface, PCs, Laptops, Tablets | Windows Hello, FIDO2, TPM, SmartCard | TPM 2.0, BitLocker, WebAuthn |
| Linux | Ubuntu, Debian, Custom hardware | FIDO2, U2F, SSH PKI | Kernel crypto, TPM, Open source |
| IoT/Wearables | Smart watches, BLE devices, Home IoT | BLE pairing, NFC, Device registry | Companion auth, Trusted devices |
| Blockchain | MetaMask, Ledger, Trezor, Solana wallets | WalletConnect, EIP-712, Seed phrases | Hardware wallets, Multi-chain |
| Secure Phones | Vertu, Bittium, Sirin, Blackphone | Hardware crypto, E2EE, Custom VPN | Secure Element, Post-quantum ready |
- ✅ OAuth 2.0 / OpenID Connect - Google, Apple, Microsoft, LinkedIn, Diia.gov.ua, Huawei
- 🚧 FIDO2 / WebAuthn - Passwordless, hardware-backed authentication
- 📋 Biometric APIs - Fingerprint, Face ID, Iris, Voice
- 📋 Hardware Security - TPM, Secure Enclave, TrustZone, StrongBox, Secure Element
- 📋 Connectivity - BLE, NFC, UWB, QR codes
- 📋 Blockchain - MetaMask, WalletConnect, Solana, EVM chains
- 📋 Government ID - Diia.gov.ua, ICAO Passport, eIDAS, SmartCard/PKI
- 📋 Post-Quantum - Kyber, Dilithium (roadmap)
Legend: ✅ Implemented | 🚧 In Progress | 📋 Planned
Детальна матриця підтримки: DEVICE_SUPPORT.md
# Інсталяція SDK
pnpm add @iq-auth/sdk
# Або core для низькорівневого доступу
pnpm add @iq-auth/core
# Плагіни (опціонально)
pnpm add @iq-auth/plugin-fido2
pnpm add @iq-auth/plugin-blockchainimport { IQAuthSDK } from '@iq-auth/sdk';
import { FIDO2Plugin } from '@iq-auth/plugin-fido2';
// Створення SDK інстансу
const auth = new IQAuthSDK();
// Реєстрація FIDO2 плагіна
const fido2 = new FIDO2Plugin();
await auth.engine.plugins.register(fido2);
await auth.engine.plugins.initialize('fido2', {
rpName: 'My App',
rpId: 'example.com',
origin: 'https://example.com',
});
// Автентифікація користувача
const result = await auth.authenticate('fido2', {
challenge: challengeFromServer,
credential: userCredential,
});
if (result.success) {
console.log('✅ Authenticated:', result.userId);
}
// Реєстрація ідентичності
await auth.registerIdentity({
type: 'wallet',
userId: 'user-123',
provider: 'metamask',
data: { address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb' },
verified: true,
});
// Отримання всіх ідентичностей користувача
const identities = await auth.getUserIdentities('user-123');
console.log('User identities:', identities);| Пакет | Опис | Версія |
|---|---|---|
@iq-auth/core |
Ядро системи автентифікації | |
@iq-auth/sdk |
High-level SDK для розробників | |
@iq-auth/cli |
CLI інструмент для DevOps | |
@iq-auth/ai |
AI-асистент та інтеграції | |
| Плагіни | ||
@iq-auth/plugin-fido2 |
FIDO2/WebAuthn | 🚧 |
@iq-auth/plugin-diia |
Diia.gov.ua | 🚧 |
@iq-auth/plugin-blockchain |
MetaMask, Solana, EVM | 🚧 |
@iq-auth/plugin-biometric |
Біометрична автентифікація | 🚧 |
@iq-auth/plugin-linkedin |
LinkedIn OAuth | 🚧 |
@iq-auth/plugin-wallet |
Multi-wallet підтримка | 🚧 |
graph TB
SDK[🎯 SDK - High-level API]
Core[⚙️ Core Engine]
PluginLoader[🔌 Plugin Loader]
Registry[🆔 Multi-ID Registry]
Storage[💾 Storage Adapters]
SDK --> Core
Core --> PluginLoader
Core --> Registry
Core --> Storage
PluginLoader --> FIDO2[📱 FIDO2 Plugin]
PluginLoader --> Diia[🇺🇦 Diia Plugin]
PluginLoader --> Blockchain[⛓️ Blockchain Plugin]
PluginLoader --> Biometric[👆 Biometric Plugin]
PluginLoader --> LinkedIn[💼 LinkedIn Plugin]
Registry --> InMemory[In-Memory]
Registry --> PostgreSQL[PostgreSQL]
Registry --> Redis[Redis]
Registry --> MongoDB[MongoDB]
style SDK fill:#67C3F3
style Core fill:#000000,color:#ffffff
style Registry fill:#FFD700
-
Core Engine (
@iq-auth/core)- Plugin Loader - динамічне завантаження плагінів
- Identity Registry - управління множинними ідентичностями
- Storage Adapters - інтерфейси для різних БД
- Type System - TypeScript типізація
-
SDK (
@iq-auth/sdk)- Зручний API для розробників
- Обгортки над Core функціями
- Підтримка Browser + Node.js
-
Plugins
- Реалізація конкретних методів автентифікації
- Ізольовані та незалежні
- Легко додавати нові
- Node.js >= 18.0.0
- pnpm >= 8.0.0
git clone https://github.com/010-io/iQ-auth.git
cd iQ-auth
# Встановлення залежностей
pnpm install
# Збірка всіх пакетів
pnpm build
# Запуск тестів
pnpm test
# Lint
pnpm lint
# Type check
pnpm typecheckiQ-auth/
├── packages/ # Монорепо пакети
│ ├── core/ # Ядро системи
│ ├── sdk/ # SDK
│ ├── cli/ # CLI інструмент
│ ├── ai-assistant/ # AI інтеграція
│ └── plugins/ # Плагіни автентифікації
│ ├── fido2/
│ ├── diia/
│ ├── blockchain/
│ ├── biometric/
│ ├── linkedin/
│ └── wallet/
├── docs/ # Документація (VitePress)
├── examples/ # Приклади використання
├── scripts/ # Automation скрипти
├── .github/workflows/ # CI/CD
└── test/ # Інтеграційні тести
- 🏠 Documentation Site (coming soon)
- 📖 API Reference
- 🔌 Plugin Development Guide
- 🤝 Contributing Guide
- 🔒 Security Policy
# Всі тести
pnpm test
# Watch mode
pnpm test:watch
# Coverage (>85% required)
pnpm test:coverage
# Інтеграційні тести
pnpm test:integration# Bump версії з CREATOR_SEED + VERSION_SEED
pnpm bump-version
# Перевірити зміни
git diff
# Commit та push
git add -A
git commit -m "chore: bump version"
git push --tagsGitHub Actions автоматично:
- ✅ Запускає тести та lint
- 🏗️ Будує пакети
- 📦 Публікує на npm (релізи)
- 📝 Генерує CHANGELOG
Вітаємо внески від спільноти! 🇺🇦
- Fork репозиторій
- Створіть feature branch (
git checkout -b feature/amazing) - Commit зміни (
git commit -m 'feat: add amazing feature') - Push до branch (
git push origin feature/amazing) - Відкрийте Pull Request
Детальніше в CONTRIBUTING.md.
MIT © 2025 Igor Omelchenko (010io)
- Diia.gov.ua - за натхнення та специфікації
- OpenMind Fabric - за mesh-архітектуру
- Спільнота Ukrainian GovTech - за підтримку
- Author: Igor Omelchenko (010io)
- GitHub: @010-io
- Organization: Be Transparent
iQ-auth: національна ідентичність, максимальна відкритість та безпека 🇺🇦
Made with ❤️ in Ukraine
Слава Україні!