# Evidencia de aceptación del aviso

La tabla `company_data_acceptances` conserva una fila por aceptación válida, sin sobrescribir aceptaciones anteriores. Se añade:

- Identificador UUID de la evidencia y usuario autenticado.
- Fecha y hora del servidor en la zona del sistema y en UTC con microsegundos.
- Zona horaria, IP obtenida de la solicitud, navegador declarado e idioma.
- Identidad de la persona, identificación, tipo de persona, relación cliente/proveedor, empresa y cuenta en el momento de aceptar.
- Ruta y método de la solicitud, uso de HTTPS, origen del formulario, check validado y texto del botón.
- Texto íntegro y versión del aviso, referencia privada al PDF y huellas SHA-256 del texto y del documento.
- Huella SHA-256 del conjunto, recalculable con `DataAcceptanceEvidence::fingerprint()`.

Se informa al usuario de los datos técnicos que se registran antes de aceptar. No se almacenan contraseñas, cookies, tokens ni coordenadas geográficas. No se atribuye una ubicación física a partir de la IP. El navegador e idioma son datos declarados por el dispositivo, no una identidad verificada. Detrás de un proxy, la IP dependerá de la configuración de proxies confiables; no se toma directamente una cabecera arbitraria de IP enviada por el cliente.

La evidencia acredita la recepción de una aceptación autenticada por el servidor; no demuestra por sí sola la lectura completa del documento ni constituye una firma electrónica certificada. Las huellas permiten comprobar consistencia, pero no impiden que alguien con control total de la base altere datos y recalcule huellas. Deben conservarse los respaldos y restringirse los permisos de administración y almacenamiento.

Las aceptaciones anteriores a esta actualización conservan sus datos originales. Los campos nuevos quedan vacíos; no se inventa información técnica histórica. La aplicación no ofrece acciones para editar o borrar estas evidencias.

## Actualización del servidor

Subir:

- database/migrations/2026_09_15_000002_data_acceptance_evidence.php
- app/Services/Clientes/DataAcceptanceEvidence.php
- app/Http/Controllers/Cliente/ClientePortalController.php
- resources/views/cliente/politica-datos.blade.php

Ejecutar:

```sh
php artisan migrate --path=database/migrations/2026_09_15_000002_data_acceptance_evidence.php --force
php artisan view:clear
```

La migración está aplicada localmente. Pruebas: datos técnicos e identidad, hora UTC, rechazo de datos de IP/fecha manipulados en el formulario, validación del check, huellas verificables, conservación histórica y rechazo si falta el PDF referenciado.
