Portal DSAR de autoservicio de extremo a extremo
Devotel Orbit acepta solicitudes de interesados por dos vías de recepción: sus operadores presentan en nombre del interesado, y un portal público por el que el interesado presenta por sí mismo. Una cola alimenta ambas. Esta guía recorre la vía del portal desde la publicación del enlace hasta el cumplimiento, y muestra cómo se combina con la presentación por operadores. La referencia DSAR documenta la superficie de endpoints y la máquina de estados pública de reclamación por correo/teléfono; esta página es el manual desde el que opera.Todo control aquí es propiedad del tenant: usted publica el enlace, usted opera la cola, usted decide y cumple. Orbit aloja el portal, prueba la identidad con OTP de dos factores y trackea los relojes legales — el deber legal de responder sigue siendo suyo, como responsable del tratamiento. Confirme sus obligaciones con su asesor.
1. Dos vías de recepción, una cola
Presentada por operadores. Su equipo presenta una solicitud conPOST /compliance/dsar o el diálogo Create DSAR en Settings → Compliance → DSAR. Una solicitud presentada así arranca como verification_status: pending — ningún worker de exportación o borrado la toca hasta que un operador aprueba o rechaza la revisión de identidad. Esta vía encaja hoy con: interesados que ya conoce (un cliente con sesión iniciada, un contacto ya en su workspace), y los derechos que el formulario público no puede llevar (rectificar, limitar datos sensibles, no discriminación).
Portal público de autoservicio. El interesado presenta su propia solicitud a través de la página pública alojada — sin cuenta, sin clave API, sin sesión. La página verifica su identidad con OTP de correo + SMS de dos factores antes de que nada entre en su cola, de modo que una presentación por portal llega pre-verificada y el worker de exportación o borrado arranca de inmediato.
Ejecute ambas. El portal lleva el volumen de consumidores a cero toques de operaciones; la presentación por operadores cubre los casos límite que el portal no puede. Toda solicitud de cualquiera de las dos vías cae en la misma lista Settings → Compliance → DSAR y en la misma respuesta GET /compliance/dsar — una cola, un banner de SLA, una cadena de auditoría.
2. Recorrido del portal
Publicar el enlace
Aloje el portal como enlace “Submit a privacy request” en su política de privacidad, en el pie de su web o en el centro de privacidad dentro del producto:<locale> es el mismo prefijo de locale que lleva cada página web de Orbit (en, fr, de, …). La página renderiza un formulario de identificadores en dos pasos tras un check de bots Cloudflare Turnstile: el interesado introduce su correo y teléfono (E.164), elige un tipo de solicitud y comienza la prueba de identidad.
El prerrequisito del correo remitente
Decida desde qué direcciones envían los códigos de verificación del portal antes de que el enlace esté en vivo — un remitente sin configurar deja el portal fallando cerrado en público. Dos remitentes a nivel de plataforma se configuran una vez en su entorno de API:
Sin remitente de SMS ni respaldo de plataforma, el paso de teléfono devuelve
503 y el portal muestra un mensaje de “temporarily unavailable”; sin clave de entrega de correo, el paso de correo falla igual. En producción el primer paso también necesita un token Turnstile — configure DEVOTEL_TURNSTILE_SECRET_KEY en la API y NEXT_PUBLIC_DEVOTEL_TURNSTILE_SITE_KEY en el despliegue web, desde el panel de Cloudflare (Turnstile → Add site).
Los códigos de verificación por SMS montan el softswitch de Devotel como OTPs de plataforma — no tráfico facturable al tenant.
Lo que ve el interesado
El interesado completa una reclamación en cinco pasos; nada entra en cola hasta que ambas pruebas constan:- Begin — correo, teléfono (E.164), tipo de solicitud. Un OTP de correo sale de inmediato.
- Verify email — un código de correo de 6 dígitos (TTL de 10 minutos, 3 intentos, enfriamiento de reenvío de 60 segundos).
- Send phone code — un OTP de SMS al mismo teléfono (enfriamiento de 60 segundos entre envíos).
- Verify phone — un código SMS de 6 dígitos.
- Submit — la solicitud entra en su cola solo con ambas pruebas. La reclamación completa tiene un TTL extremo a extremo de 30 minutos.
Si los identificadores no coinciden con ningún contacto de su workspace, el paso de envío responde igual — el portal nunca revela si un contacto existe — y la fila de auditoría se escribe con alcance de plataforma para que el rastro forense sobreviva al caso sin coincidencia.
La jurisdicción mapea al reloj de SLA
El interesado elige la jurisdicción bajo la que cae su solicitud, y esa elección decide tanto el reloj legal que lleva la fila como los valores derequest_type que la cola puede albergar:
Acertar el emparejado importa:
opt_out_sale y limit_sensitive_pi no tienen equivalente GDPR, y la jurisdicción predeterminada del operador es gdpr — configúrela expresamente para consumidores de California. Una presentación por portal de opt_out fija la jurisdicción en CCPA/CPRA por defecto precisamente porque el predeterminado GDPR sería inválido. La mala elección de un interesado es reparable: reclasifique la jurisdicción desde la cola y la insignia de SLA se re-ancla.
3. Lo que ven los operadores tras una presentación
Una presentación por portal que coincide con un contacto cae en Settings → Compliance → DSAR junto a las solicitudes de operadores. Como el OTP ya probó la identidad, llega converification_status: verified — ninguna puerta de aprobar/rechazar la bloquea.
- Estado y plazo. La fila lleva el estado de ciclo de vida habitual y una insignia de SLA Day X of N anclada a la ventana de la jurisdicción; cualquier incumplimiento levanta el banner de SLA a nivel de workspace.
GET /compliance/dsar/slada el mismo cuadro por la API. - Presentaciones de clase borrado. Un interesado que eligió “delete” aparece en la sección de portal de la pestaña Erasure requests (Art. 17), con la insignia de SLA al lado, por delante del enfriamiento predeterminado de 7 días.
- Cumplimiento. Una presentación de acceso o portabilidad corre hasta Completed con
export_urlfirmado; la acción Download decrypted construye la exportación en claro para un operador. Un borrado, una vez ejecutado, ofrece el certificado Proof of deletion y Propagate a sus destinos conectados. - Cadena de auditoría. Begin, ambas verificaciones y submit escriben filas con identificadores hasheados (nunca en bruto), IP de origen y user agent — el registro del que tira su evidence binder cuando un regulador pregunta cómo se estableció la identidad.
4. Lo que Orbit no hace
El portal es maquinaria de recepción y prueba de identidad; las decisiones legales siguen siendo suyas:- Orbit nunca decide validez. Nunca acepta ni rechaza una solicitud por motivos legales. Las filas con verificación pendiente esperan su aprobar/rechazar; las filas verificadas se cumplen porque usted lo permite, no porque la plataforma juzgara la reclamación.
- Orbit nunca auto-cumple un veredicto de operador. Para una solicitud presentada por operador, no se produce exportación ni se borra nada mientras
verification_status: pending. Una presentación por portal salta la puerta solo porque su OTP ya probó la identidad. - El borrado honra su posture de enfriamiento. El predeterminado de 7 días (anulable por tenant) le da la ventana para rechazar, retener o eximir antes de la destrucción.
- Decirle qué ley aplica sigue siendo tarea de su asesor. Orbit ancla el reloj de SLA a la jurisdicción que el interesado eligió y usted confirmó.
- El portal muestra el subconjunto de derechos amigable al consumidor — un interesado que necesita un derecho solo de operador (rectificar, limitar datos sensibles, no discriminación) presenta a través de su equipo.
Bucle de reclamación del portal — muestras de petición ejecutables
Los seis verbos no autenticados del portal viven bajo/api/v1/compliance/public/dsar (superficie completa: referencia DSAR). Esta es la misma cadena que ejecuta la página del portal, scriptable de extremo a extremo — útil para probar en humo un despliegue antes de publicar el enlace, o para demostrar a un regulador la vía de prueba de identidad. Sin clave API: el par de OTP es la prueba, así que cualquier clave de operador la socavaría.
1. Comenzar la reclamación
202
claim_id — todo paso posterior la referencia. Un formato de correo erróneo, teléfono fuera de E.164 o mal token Turnstile devuelven 422 VALIDATION_ERROR; las puertas por IP y por correo devuelven 429 con cabecera Retry-After. El paso begin responde igual coincida o no el par con un contacto — los llamantes no pueden enumerar sus tuplas de contacto.
2. Verificar el código de correo
200
422
422 (“Code expired. Please request a new one.”, “Too many attempts. Please start over.”) — POST /api/v1/compliance/public/dsar/resend-email emite un código de correo nuevo tras el enfriamiento de 60 segundos.
3. Enviar y verificar el código de teléfono
429 con Retry-After. Luego:
200
4. Enviar con ambas pruebas en archivo
201
queued: true significa que el par coincidió con un contacto del workspace y la solicitud entró en su cola; queued: false es el caso sin coincidencia — misma forma, para que un llamante no pueda distinguir. Haga submit antes de pasar ambas pruebas y obtendrá 422 con “Both verification steps must complete before submission.” La referencia dsar_pub_… es el id de la fila de auditoría, el mismo identificador del que tira su evidence binder.
5. Leerlo de vuelta en la cola del operador
El lado del operador necesita una clave API de owner/admin o una sesión de panel del mismo nivel:200
access → know) y verification_status: verified — ninguna puerta de recepción espera por usted.
El plazo legal es tarea del payload de SLA:
200
sla_deadline_at es la fecha de vencimiento absoluta a la que se ancla la insignia Day X of 30 del panel; breach_count > 0 es lo que enciende el banner del workspace. Nada de esto cumple la solicitud — la cola, el veredicto y el cumplimiento siguen siendo suyos; este bucle solo prueba que el interesado es quien dice ser y deposita su presentación en el reloj correcto.
5. Ejemplo resuelto — una solicitud de acceso GDPR de extremo a extremo
Una clienta en Berlín abre su política de privacidad, toca el enlace del portal y pide todo lo que usted tiene. La secuencia:- Begin. Introduce su correo, su teléfono en E.164 (
+4915…), elige access y supera el check Turnstile. El portal devuelve un claim id; el OTP de correo ya va en camino. - Verify email. Lee el código de 6 dígitos (TTL de 10 minutos, hasta 3 intentos) y pasa el primer factor.
- Send phone code, verify phone. El segundo factor se repite por SMS — con enfriamiento de 60 segundos entre envíos — y ambas pruebas constan ya.
- Submit. El portal presenta la solicitud. Como su correo y teléfono coinciden con un contacto de su workspace, la fila entra en cola como
knowbajogdpry devuelve una referenciadsar_pub_…. - En su cola. La fila muestra Day 1 of 30 —
verification_status: verified— y el worker de exportación ya la tiene. Nadie de su equipo toca el triaje. - Cumplir. El worker compila la exportación y marca la fila Completed con
export_urlytables_exported. Un operador entrega el enlace de descarga (una copia en claro solo de operador está a un clic de Download decrypted). - Pasada la línea de SLA. Si la fila sigue abierta cuando transcurre la ventana GDPR de 30 días, el banner de SLA del workspace lo señala — y si ella eligió mal una jurisdicción en la recepción, la reclasificación desde su cola corrige el reloj retroactivamente.
Referencias relacionadas
- Referencia DSAR — las superficies completas de endpoints de operador y públicas, los límites de defensa contra abuso y los niveles de severidad de SLA.
- Designación de DPO y representante EU/UK — las designaciones Art.37/Art.27 que un aviso de privacidad debe nombrar.
- Registro de tratamiento GDPR (ROPA + DPIA) — el inventario Art.30 llevado antes de que llegue ninguna solicitud.
- Evidence binder de cumplimiento — ensamble las filas de auditoría que deja una presentación por portal.
- Cumplir una DSAR y operar el registro de incidentes de brecha — el recorrido del operador por la cola que alimenta su portal.
- Ensamblar una posture GDPR de extremo a extremo — dónde encaja la recepción por portal en la secuencia completa.