ImagID — Subject 360
Proposito
ImagID es el servicio de vista unificada de sujetos (Subject 360) de la plataforma Imagy. Consolida toda la informacion de una persona o cliente a traves de multiples dominios, proporcionando un perfil centralizado con historial de interacciones, dispositivos, listas de control y scoring de confianza. Es el punto unico de consulta para conocer el comportamiento integral de un sujeto en la plataforma.
Responsabilidades
| Responsabilidad | Descripcion |
|---|---|
| Perfil unificado | Consolidar datos de identidad de un sujeto a partir de eventos de todos los dominios |
| Tracking de dispositivos | Registrar fingerprints, IPs, geolocalizacion y patrones de acceso |
| Listas de control | Gestionar blacklists, whitelists y watchlists por tenant |
| Trust scoring | Calcular y mantener un puntaje de confianza basado en comportamiento historico |
| Alertas y patrones | Detectar patrones sospechosos y generar alertas automaticas |
| Historial de eventos | Almacenar timeline completo de interacciones del sujeto por tenant |
| APIs de consulta | Exponer metricas, historial y estado de listas para otros dominios |
Modelo Cross-Tenant
ImagID implementa un modelo hibrido unico en la plataforma:
Principios:
subject_profileses global (sin RLS). Una persona con cedula1234567890tiene un unico registro sin importar cuantos tenants interactuen con ella.- Todas las demas tablas tienen RLS por
tenant_id. Cada tenant solo ve sus propias interacciones, dispositivos, listas y alertas para ese sujeto. - La misma persona puede existir en multiples tenants con vistas completamente aisladas.
- El perfil global solo almacena datos de identidad basicos (documento, nombre). Los datos sensibles de negocio estan aislados por tenant.
Actores
| Actor | Interaccion con ImagID |
|---|---|
| Platform Admin | Configura reglas globales de scoring y patrones de alerta |
| Tenant Admin | Gestiona listas (blacklist, whitelist, watchlist) de su tenant |
| Operator | Consulta perfil y historial de un sujeto dentro de su tenant |
| ImagFlow | Publica eventos de ejecucion que ImagID consume para enriquecer el perfil |
| ImagLend | Consulta listas y trust score antes de aprobar creditos |
| ImagSign | Publica eventos de firma completada |
| Identity | Publica eventos de creacion de usuarios |
Arquitectura Interna
Arquitectura Event-Driven
ImagID es un dominio predominantemente reactivo. No genera datos por si mismo — los construye a partir de eventos producidos por todos los demas dominios de la plataforma:
| Dominio origen | Eventos consumidos | Que hace ImagID |
|---|---|---|
| ImagFlow | flow.execution.completed, flow.execution.failed, flow.step.completed | Registra interacciones, actualiza metricas, detecta patrones |
| ImagLend | lending.application.created, lending.credit.disbursed, lending.payment.received, lending.credit.defaulted | Registra actividad crediticia, ajusta trust score |
| ImagSign | sign.signature.completed | Registra firma, asocia dispositivo |
| Identity | identity.user.created | Crea o vincula perfil de sujeto |
APIs Expuestas
Consumidas por ImagFlow (Rules Engine)
ImagFlow consulta ImagID durante la evaluacion de reglas para obtener datos historicos del sujeto:
| Endpoint | Uso |
|---|---|
GET /api/v1/subjects/{id}/metrics | Metricas agregadas (total flujos, aprobaciones, rechazos) |
GET /api/v1/subjects/{id}/trust-score | Puntaje de confianza actual |
GET /api/v1/subjects/{id}/lists/check | Verificar si esta en alguna lista |
Consumidas por ImagLend
ImagLend consulta ImagID antes de aprobar creditos:
| Endpoint | Uso |
|---|---|
GET /api/v1/subjects/{id}/lists/check | Verificar blacklist antes de desembolso |
GET /api/v1/subjects/{id}/trust-score | Evaluar riesgo del solicitante |
GET /api/v1/subjects/{id}/devices | Verificar dispositivos conocidos |
Eventos Producidos
ImagID produce eventos cuando detecta condiciones relevantes para otros dominios:
| Evento | Routing Key | Consumidores | Trigger |
|---|---|---|---|
| Sujeto flagged | subject.profile.flagged | ImagFlow, ImagLend | Patron sospechoso detectado |
| Sujeto blacklisted | subject.profile.blacklisted | ImagFlow, ImagLend | Agregado a blacklist |
| Dispositivo nuevo | subject.device.new | Audit | Primer acceso desde dispositivo desconocido |
Repositorio
- Repo:
imagy-subject-360 - Base de datos:
imagy_subject - Puerto local: 4004
- Equipo: Team Subject
Documentos Relacionados
- Modelo de Datos — Tablas, relaciones, modelo cross-tenant
- API Reference — Endpoints publicos e internos
- Eventos — Eventos producidos y consumidos