Назад в архив
II. Клинический AI и медицинские платформывитринасолоклиент анонимизирован

PII Service — Searchable Encryption

Корпоративный микросервис для работы с PII (платформа Healthcare platform): безопасное хранение персональных данных с шифрованием на уровне полей (Vault Transit AES-256-GCM), слепое индексирование для поиска по шифротексту, ротация ключей, соответствие GDPR / Saudi PDPL, мультиреалмовая аутентификация через Keycloak. Bun + Elysia + Drizzle.

Статус
активный
Период
2025-08-30 → 2026-02-13
AI-сессий
Стек
Языки
TypeScript
Фреймворки · Инфра
Elysia.jsBunDrizzle ORMHashiCorp VaultKeycloakBullMQOpenTelemetry
§01

Обзор

  • Что это: сервис безопасного управления персональными данными (PII) — разделяет идентичность (Keycloak) и персональные данные, хранит их с шифрованием на уровне полей, поддерживает поиск по зашифрованным полям (blind index), аудирует все операции, мультитенантный (B2B/B2C/партнёры/внутренние сервисы), соответствует GDPR и Saudi PDPL. Это реальный PII-сервис Healthcare platform (пустой #46 pii-service — заглушка; код живёт здесь).
  • Тип / статус / роль: api (микросервис) · active (последний коммит 2026-02-13) · solo (91 из 91 коммита от пользователя; Harsh Manwani — 2, внешняя помощь).
  • Период активности: 2025-08-30 → 2026-02-13 (~5.5 месяцев), v1.0.50.
§02

Стек

  • Языки: TypeScript (strict).
  • Фреймворки/библиотеки: Bun 1.2.21 (рантайм, кластеризация в проде); Elysia.js (типизированный, OpenAPI/Swagger); Drizzle ORM + PostgreSQL 15+ (18 миграций); HashiCorp Vault (node-vault — движок Transit для шифрования на уровне полей + ротация ключей); Keycloak (@keycloak/keycloak-admin-client, keycloak-connect — 4 реалма); BullMQ + ioredis (очереди); OpenTelemetry (@elysiajs/opentelemetry + OTLP-экспортёр — трассировка); jose (JWT); Zod v4. Воркспейсы монорепо: @regain/crypto, @regain/auth-provider (общие пакеты).
  • Инфра/деплой: 4 Dockerfile (main / dev / migrate / queue), docker-compose; GitLab CI + GitHub Actions; husky pre-commit (drizzle generate + добавление миграций + bun test).
  • Данные: PostgreSQL (Drizzle), Redis (BullMQ), Vault (ключи/шифрование).
  • Примечательный тулинг: богатый AI-тулинг — .claude/, .kombai/, .qoder/, AGENTS.md; наблюдаемость через OpenTelemetry; скрипты Vault (init/status/test/key-rotation).
§03

Что реализовано

91 solo-коммит за ~5.5 месяцев. По структуре (src/services/) — широкий набор подсистем (каждая отдельным модулем): encryption, indexing, security, authorization, auth, otp, verification, audit, rate-limiter, cache, sms, notification, integration. API в src/modules/v1/ (patients, consent, gdpr, admin), middleware (auth + audit), очереди (jobs + processors). 18 миграций Drizzle. Разработка велась по поэтапному плану (docs/pii_service_development_plan.md — 10 фаз / 16 недель).

§04

Технические челленджи

По CLAUDE.md + структуре кода (solo-авторство):

  • Трёхуровневое шифрование (src/services/encryption, indexing): (1) Transit-шифрование через Vault (AES-256-GCM, ключи никогда не покидают Vault); (2) слепое индексирование через HMAC-SHA256 — поиск по зашифрованным полям без расшифровки; (3) автоматическая ротация ключей (src/scripts/key-rotation.ts). → Сильный security-инжиниринг: searchable encryption — нетривиальный паттерн.
  • Разделение идентичности ↔ PII: Keycloak держит аккаунты, PII-сервис держит персональные данные; контроль доступа на уровне полей до расшифровки, обязательный аудит доступа, PII обрабатывается только внутри транзакций, никаких PII в открытом виде в логах. → Продуманная модель приватности/комплаенса (GDPR, Saudi PDPL).
  • Мультиреалмовая аутентификация Keycloak (4 реалма: B2B-клиники, B2C-пациенты, сервисный аккаунт partner-api, internal-service). → Сложная мультитенантная авторизация.
  • Продакшн-обвязка: кластеризация (Node cluster для многоядерности на Bun), очереди BullMQ (отдельный Dockerfile.queue + воркер), трассировка OpenTelemetry, rate-limiter, сервисы SMS/OTP/verification, отдельный контейнер для миграций. → Полный продакшн-контур.
  • Общее crypto-монорепо (@regain/crypto, @regain/auth-provider) — переиспользуемые security-пакеты между сервисами Healthcare platform/regain.
§05

AI-разработка

  • Найденные сессии: директория присутствует в локальном хранилище сессий Claude Code, но содержит 0 транскриптов .jsonl (возможно, очищены/перемещены). Записанных сессий нет, но AI-ассистированная разработка велась активно: .claude/, .kombai/, .qoder/, AGENTS.md в репозитории.
  • Что делалось с AI: судя по тулингу — существенная AI-помощь; поэтапный план разработки в docs.
  • Паттерны AI-воркфлоу: мультитул (Claude Code + Kombai + Qoder), AGENTS.md, документо-ориентированная разработка (план из 10 фаз).
§06

Достижения и метрики

  • v1.0.50; ~20 сервисных модулей, 4 реалма Keycloak, 18 миграций, 4 Docker-таргета, двойной CI.
  • Реальный security-чувствительный продакшн-сервис для медицинской платформы (PII пациентов) с соответствием GDPR/PDPL.
§07

Контрибьюторы

git shortlog · все ветки

  1. Dave9391
  2. Harsh Manwani2
2 контрибьютора93 коммитов всего
Сейчас

Открыт к ролям Senior / Staff инженера и избранному фрилансу — продакшн-AI, платформы и full-stack разработка.

Связаться