> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Database

> Arquitectura de comunicación de red y políticas de seguridad de datos de la capa de almacenamiento de datos (AWS DynamoDB) de ARGOS Identity.

## 1. Descripción general del documento

### 1.1 Propósito

Este documento es un recurso elaborado para que los equipos de revisión de seguridad y redes de organizaciones clientes externas puedan comprender la arquitectura de comunicación de red y las políticas de seguridad de datos de la **capa de almacenamiento de datos (Database)** utilizada por ARGOS Identity.

### 1.2 Destinatarios

* Responsables de revisión de seguridad e información de las organizaciones clientes
* Personal de auditoría de relaciones de encargo y recepción de tratamiento de datos
* Departamentos de cumplimiento normativo / auditoría

### 1.3 Alcance

* Motor de almacenamiento de datos y estructura de llamadas
* Métodos de cifrado en tránsito y en reposo
* Autenticación y autorización, control de acceso, aislamiento
* Auditoría, copia de seguridad y cumplimiento normativo

***

## 2. Flujo de comunicación de red

### 2.1 Estructura de llamada

```mermaid theme={null}
flowchart TD
    A[Capa de procesamiento de verificación<br/>Lambda / EC2] -->|Llamada AWS SDK<br/>HTTPS + Firma AWS SigV4| B["Endpoint AWS DynamoDB<br/>dynamodb.[region].amazonaws.com"]
    B --> C[(Almacén DynamoDB<br/>Almacenamiento distribuido gestionado por AWS)]
```

### 2.2 Características de la comunicación

| Elemento               | Valor                                                                                 |
| ---------------------- | ------------------------------------------------------------------------------------- |
| Protocolo              | HTTPS (TLS 1.2+)                                                                      |
| Autenticación          | AWS Signature Version 4 (SigV4)                                                       |
| SDK de llamada         | AWS SDK for JavaScript (v2/v3)                                                        |
| Formato de respuesta   | JSON                                                                                  |
| Origen de la llamada   | Capa de procesamiento de verificación (Lambda) / EC2 / herramientas de administración |
| Acceso directo externo | **No permitido** (solo llamadas internas de AWS)                                      |

### 2.3 Exposición al exterior

* DynamoDB no está expuesto directamente a Internet, y solo los servicios internos que poseen credenciales de AWS (IAM Role) pueden realizar llamadas.
* Todas las llamadas se resuelven dentro de la infraestructura de AWS.

***

## 3. Protocolos y normas de comunicación

### 3.1 Capa de transporte

* **TLS 1.2 o superior** obligatorio (comportamiento predeterminado del AWS SDK)
* El endpoint de DynamoDB está protegido por certificado emitido por AWS y el SDK lo verifica automáticamente

### 3.2 Firma de autenticación

* Todas las llamadas a la API se firman con **AWS Signature Version 4 (SigV4)**
* Elementos de firma: credenciales (IAM Role) + hora de la solicitud + método/ruta/cabeceras/hash del cuerpo de la solicitud
* En caso de alteración, AWS rechaza la solicitud de inmediato (rechazo automático si la diferencia horaria supera 5 minutos)

### 3.3 Patrones de llamada

* **PutItem / GetItem / Query / UpdateItem / DeleteItem / BatchWrite / TransactWrite**
* En algunos hot-paths se aplica la caché en memoria **DynamoDB Accelerator (DAX)**

***

## 4. Cifrado de datos

La capa de almacenamiento de datos opera una **estructura de doble cifrado**.

### 5.1 Primario — Cifrado lado servidor (Server-Side, gestionado por AWS)

| Elemento              | Valor                                                                                   |
| --------------------- | --------------------------------------------------------------------------------------- |
| Alcance de aplicación | **Aplicado automáticamente a todas las tablas, índices, streams y copias de seguridad** |
| Algoritmo             | AES-256                                                                                 |
| Gestión de claves     | AWS KMS (basado en HSM con certificación FIPS 140-2 Level 3)                            |

→ DynamoDB siempre cifra todos los datos almacenados con AWS KMS; no existe ningún momento en que los datos se escriban en disco en texto plano.

### 5.2 Secundario — Cifrado adicional en capa de aplicación (campos sensibles)

Los **campos de información personal sensible** como número de identificación, número de pasaporte o datos de contacto se cifran adicionalmente en la capa de aplicación antes de su almacenamiento.

| Elemento              | Valor                                                                     |
| --------------------- | ------------------------------------------------------------------------- |
| Algoritmo             | **AES-256-GCM** (cifrado autenticado)                                     |
| Gestión de claves     | **AWS KMS** Customer-managed Key                                          |
| Integridad            | Verificación del Auth Tag del modo GCM                                    |
| Momento de aplicación | Cifrado directo en la capa de procesamiento de verificación antes del PUT |

→ Como resultado, los campos sensibles se almacenan en estado de **doble cifrado** (AES-256-GCM de aplicación + AES-256 lado servidor).

### 5.3 Almacenamiento de objetos (referencia)

Las imágenes (documentos de identidad y selfis) se almacenan en AWS S3 con cifrado lado servidor basado en KMS.

### 5.4 Cifrado en tránsito

| Tramo                                    | Método                         |
| ---------------------------------------- | ------------------------------ |
| Procesamiento de verificación → DynamoDB | TLS 1.2+ (forzado por AWS SDK) |
| DynamoDB → Copia de seguridad/PITR       | Cifrado interno de AWS (KMS)   |
| Cross-Region Replication                 | Cifrado interno de AWS (KMS)   |

***

## 6. Autenticación y autorización

### 6.1 Autenticación del invocador

* El invocador debe poseer credenciales **AWS IAM** válidas
* La capa de procesamiento de verificación (Lambda / EC2) recibe credenciales automáticamente mediante IAM Role
* Las credenciales se rotan automáticamente en forma de token de validez corta (STS Token)

### 6.2 Autorización (Authorization)

* Control de permisos por **unidad de tabla / unidad de operación** mediante IAM Policy
* Aplicación del principio de mínimo privilegio (Least Privilege)

***

## 7. Integridad

| Capa                  | Método de garantía de integridad                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------------ |
| AWS DynamoDB          | Todas las escrituras se someten a replicación síncrona multi-AZ y verificación de suma de comprobación |
| Payload de aplicación | Verificación del Auth Tag de AES-256-GCM                                                               |
| Canal TLS             | Integridad integrada en TLS 1.2+ (AEAD / HMAC)                                                         |

***

## 8. Control de acceso y aislamiento

### 8.1 Capa de red

* Sin exposición directa a Internet externo
* Comunicación interna de AWS exclusivamente (Endpoint público pero con IAM como guardián)
* Comunicación forzada dentro del backbone de AWS mediante **VPC Gateway Endpoint**

### 8.2 Aislamiento IAM

* Separación de IAM Role por servicio
* Separación de usuarios, grupos e IAM por operador / desarrollador / herramientas de automatización
* Multi-Factor Authentication (MFA) obligatoria (acceso a consola)

### 8.3 Aislamiento de entornos

* Operación con tablas Live / Test separadas
* El movimiento de datos entre entornos solo se realiza mediante procedimiento explícito de migración

***

## 9. Registro y auditoría

### 9.1 Auditoría de aplicación

* Registro de eventos de dominio en tabla de auditoría separada (cambios de estado de envíos KYC, acciones de administrador, etc.)
* Todos los registros de auditoría aplican política inmutable (append-only)

### 9.2 Retención

* Registros CloudTrail: mantenimiento automático de 90 días en la consola de AWS; para retención a largo plazo, almacenamiento adicional en S3
* Copias de seguridad de DynamoDB (PITR): recuperación a punto en el tiempo de hasta 35 días
* Copias de seguridad bajo demanda: sin límite de período de retención

***

## 10. Cumplimiento normativo

### 10.1 Certificaciones obtenidas por ARGOS Identity

* **ISO/IEC 27001** — Certificación de norma internacional de gestión de seguridad de la información

### 10.2 Certificaciones de AWS DynamoDB (heredadas)

* SOC 1 / SOC 2 / SOC 3
* ISO 9001 / 27001 / 27017 / 27018
* PCI-DSS Level 1
* HIPAA Eligible
* FedRAMP Moderate
* IRAP, MTCS, FIPS 140-2 Level 3 (KMS)

### 10.3 Derechos del interesado

* Procedimientos de identificación y tratamiento de los datos objeto de solicitudes de acceso, rectificación y supresión basadas en la Ley de Protección de Datos Personales / GDPR
* Sujeto a acuerdo de tratamiento separado entre encargante y encargado

***

## Apéndice A. Glosario de términos

| Término         | Definición                                                            |
| --------------- | --------------------------------------------------------------------- |
| DynamoDB        | Servicio de base de datos NoSQL serverless gestionado por AWS         |
| SigV4           | AWS Signature Version 4 — estándar de firma para llamadas a la API    |
| KMS             | AWS Key Management Service (HSM con certificación FIPS 140-2 Level 3) |
| PITR            | Point-in-Time Recovery (recuperación a punto en el tiempo)            |
| DAX             | DynamoDB Accelerator (caché en memoria)                               |
| AEAD            | Authenticated Encryption with Associated Data                         |
| IAM Role        | Rol de AWS Identity and Access Management                             |
| MFA             | Multi-Factor Authentication                                           |
| Optimistic Lock | Control de concurrencia optimista basado en escritura condicional     |

***

## Apéndice B. Consultas

Para consultas técnicas sobre este documento, póngase en contacto con el canal de soporte técnico y comercial de ARGOS Identity.
