Guía didáctica
Red de entidades para el asesoramiento a personas migrantes ante la regularización extraordinaria
1 · Bienvenida
Esta guía explica, desde cero y con todo el detalle posible, cómo funciona la herramienta web que coordina la red de entidades colaboradoras dedicada a asesorar a personas migrantes ante el procedimiento extraordinario de regularización. Está pensada para tres perfiles distintos:
- El coordinador o administrador de la red, que da de alta a las entidades, configura los puestos de atención, y supervisa el conjunto.
- El personal técnico de cada entidad, que atiende a las personas migrantes y registra el resultado de cada cita.
- La propia persona migrante, que se da de alta, contesta un breve cuestionario y obtiene una cita si procede.
Aunque cada perfil utiliza solo una parte del sistema, conviene leer la guía completa para entender por qué la herramienta está organizada como está y cómo encajan las piezas.
2 · Conceptos clave
El sistema gira en torno a cinco conceptos fundamentales:
2.1 · Entidad
Una entidad es una organización (ONG, sindicato, asociación, fundación, colegio profesional, administración pública, centro religioso u otra) que se compromete a colaborar en la red. Cada entidad tiene una sede principal con sus datos de contacto y declara qué acciones está dispuesta a asumir y en qué horarios atiende.
2.2 · Puesto de asesoramiento
Un puesto es un punto físico de atención de una entidad. Una misma entidad puede tener uno o varios puestos, posiblemente en direcciones distintas. Cada puesto define su propio horario semanal y la duración estándar de cada cita (en minutos), que se utiliza para generar la agenda.
2.3 · Técnico/a
El personal técnico son las personas físicas que efectivamente atienden a las personas migrantes en nombre de una entidad. Cada técnico pertenece a una sola entidad. Se identifica con un código pseudonimizado de 8 caracteres y una clave personal de 4 dígitos.
2.4 · Persona migrante
Es la persona que solicita asesoramiento. Por respeto al principio de minimización de datos, el sistema no almacena su nombre completo: solo las dos primeras letras del nombre, las dos primeras del primer apellido y el año de nacimiento. Su identificador final es de 13 caracteres.
2.5 · Cita
Una cita es la programación de una atención entre una persona migrante y una entidad para llevar a cabo una acción concreta. Cada cita tiene fecha, hora, duración (heredada del puesto), motivo (la acción que se va a realizar) y estado (programada, asistida, cancelada, no asistió). Las citas pueden encadenarse: la atención de una cita puede generar automáticamente otra de seguimiento.
3 · Arquitectura del sistema
La herramienta tiene tres capas claramente diferenciadas:
3.1 · Capa de datos
Una base de datos PostgreSQL alojada en Supabase. Contiene todas las tablas (entidades, técnicos, migrantes, citas, etc.) y aplica un control de acceso a nivel de fila (Row Level Security) que deniega por defecto cualquier lectura o escritura desde el exterior.
3.2 · Capa de API
Pequeñas funciones serverless (en Supabase llamadas Edge Functions) que actúan de intermediario. Reciben un JSON con la operación que se quiere realizar, validan el código de acceso, comprueban consentimientos LOPD, hashean las claves y, si todo está correcto, ejecutan la operación en la base de datos con privilegios de servicio.
3.3 · Capa web
Páginas HTML autocontenidas que llaman a la API. Hay cinco: tres formularios de alta (entidad, técnico, migrante), un portal privado para el personal técnico autenticado, y un dashboard administrativo. La página de inicio enlaza a las tres primeras y al portal.
4 · Las 7 acciones de la red
Toda la operativa se articula en torno a un catálogo de acciones. Cada entidad declara qué acciones asume; cada cita tiene una acción como motivo; el flujo de derivación encadena acciones consecutivas.
| Cód. | Nombre | Qué hace la entidad cuando asume esta acción |
|---|---|---|
| 0 | Derivar | Incorpora a la persona migrante a la red, completa las preguntas básicas y le crea una cita con otra entidad que realice la función o funciones que necesita. |
| 1 | Asesoramiento | Atiende la cita o incorpora los datos, completa las preguntas, asesora sobre aspectos básicos y le crea una cita con otra entidad. |
| 2 | Validación de documentación | Lo anterior + valida la documentación que aporta la persona migrante y le informa de qué le falta. Después le crea una cita con otra entidad. |
| 3 | Digitalización de documentación | Lo anterior + digitaliza los documentos, se los entrega y le crea una cita con otra entidad. |
| 4 | Emisión del certificado de vulnerabilidad | Atiende, completa el cuestionario, valida la documentación y emite el certificado de vulnerabilidad. |
| 5 | Presentación de la solicitud | Hace todo lo anterior incluyendo la emisión del certificado y presenta la solicitud por la vía ordinaria. |
| 8 | Presentación de la solicitud por urgencia | Igual que la anterior pero presentando la solicitud por el procedimiento de urgencia. |
5 · Modelo de datos
La base de datos guarda la información en estas tablas, pensadas para que cada pieza tenga una sola responsabilidad y se respete el principio de mínima exposición de datos personales.
5.1 · Tablas del catálogo
| Tabla | Contenido |
|---|---|
acciones | Las 7 acciones de la red (0,1,2,3,4,5,8) con código, nombre y descripción completa del flujo. |
paises | Catálogo de 159 países (excluida la UE) ordenados por presencia en España. Sirve para el desplegable de nacionalidad. |
5.2 · Tablas operativas
| Tabla | Contenido principal |
|---|---|
entidades | Datos de cada organización: nombre, tipo, dirección, geolocalización, contacto, persona responsable, idiomas de atención. |
entidad_acciones | Tabla puente: qué acciones del catálogo asume cada entidad. |
puestos_asesoramiento | Cada puesto físico de una entidad, con su dirección, contacto, duración estándar de cita y bandera de cita previa. |
horarios_puesto | Las franjas horarias semanales de cada puesto (día + hora inicio + hora fin + observaciones). |
tecnicos | Personal técnico de las entidades. Identificador pseudonimizado, hash bcrypt de la clave de 4 dígitos, contacto profesional opcional. |
sesiones_tecnicos | Tokens de sesión activos para el portal del técnico (caducidad 12 h). |
migrantes | Personas registradas. Solo iniciales y año de nacimiento — nunca el nombre completo. Hash bcrypt de la clave personal. |
solicitudes_migrante | Cuestionario respondido por cada persona (11 binarias) y estado calculado por trigger. |
citas | La agenda. Programación, atención y cadena de derivación (cada cita puede tener una cita anterior). |
5.3 · Diagrama de relaciones simplificado
6 · Roles y códigos de acceso
Cada perfil tiene un mecanismo de acceso distinto y unos privilegios bien delimitados.
Coordinador / administrador
Persona o equipo que gestiona la red. Tiene acceso al panel de Supabase y al dashboard de Cowork. Puede leer y modificar cualquier dato, dar de alta entidades manualmente, ver los datos personales de los técnicos.
Entidad
Se da de alta a través del formulario público con el código de acceso compartido 2027. Una vez creada, no necesita autenticación adicional para que sus técnicos puedan operar.
Técnico/a
Se da de alta con el mismo código 2027 en el formulario de alta de técnicos. Después accede al portal con su identificador personal de 8 caracteres y su clave de 4 dígitos.
Persona migrante
Se da de alta con el código de acceso 2027 que le facilita la entidad. Recibe un identificador único de 13 caracteres y elige una clave personal de 4 dígitos.
2027 es la clave general por defecto. Para cambiarla, accede al panel de Supabase → Edge Functions → Manage secrets, y define la variable FORM_ACCESS_CODE (alta de entidades), FORM_ACCESS_CODE_TECNICO (alta de técnicos) o FORM_ACCESS_CODE_MIGRANTE (alta de migrantes) con el nuevo valor.
7 · Flujo · alta de una entidad
El responsable o representante de la entidad rellena un único formulario web que contiene tres bloques: datos de la entidad, acciones que asume, y los puestos de atención con sus horarios.
- Acceder a
https://redeourense.com/alta-entidad. - Rellenar los datos básicos: nombre, tipo (ONG, sindicato, etc.), idiomas de atención (separados por coma usando códigos como
es, ar, fr, en). - Marcar las casillas de las acciones que asume en la red. Pueden ser una, varias o todas las 7 acciones del catálogo. Pasar el ratón sobre cada acción muestra la descripción completa.
- Introducir la dirección postal, municipio, código postal y, si se conoce, latitud y longitud (formato decimal, por ejemplo
40.4168y-3.7038). - Datos de contacto generales (teléfono, email, web) y datos de la persona responsable.
- Para cada puesto de asesoramiento que tenga la entidad, pulsar “Añadir puesto” y rellenar:
- Número correlativo, nombre opcional del puesto.
- Dirección, municipio y CP si difieren de la sede.
- Duración de cita en minutos (importante: es la duración estándar de cada cita en ese puesto; se usa luego para generar la agenda).
- Si requiere cita previa y la URL de reserva.
- Para cada franja horaria, pulsar “Añadir franja” y elegir día, hora inicio, hora fin y observaciones.
- Introducir el código de acceso facilitado por el coordinador.
- Pulsar “Guardar entidad en la base de datos”.
8 · Flujo · alta de técnico/a
Una vez la entidad está dada de alta, su personal puede registrarse para acceder al portal privado.
- Acceder a
https://redeourense.com/alta-tecnico. - En el desplegable, seleccionar la entidad a la que se pertenece. Se cargan automáticamente todas las entidades activas de la red.
- Introducir email profesional y, opcionalmente, teléfono.
- Escribir las 2 primeras letras del primer nombre, las 2 primeras del primer apellido y el año de nacimiento. El sistema muestra en pantalla el identificador que se generará (algo así como
MAPE1985). - Elegir una clave personal de 4 dígitos y repetirla en el segundo campo. Esta clave se almacena hasheada con bcrypt; nadie podrá leerla en claro.
- Introducir el código de acceso de la red.
- Marcar la casilla de aceptación del tratamiento de datos (LOPD/RGPD).
- Pulsar “Registrar técnico”. La pantalla mostrará el identificador asignado: apuntarlo y guardarlo junto con la clave.
9 · Flujo · alta de persona migrante
Es el flujo más cuidadoso desde el punto de vista de privacidad. Pueden cumplimentarlo la propia persona migrante o un técnico que la atiende. El formulario es un asistente de cinco pasos.
9.1 · Paso 1 · Identificación
Se piden únicamente las dos primeras letras del primer nombre, las dos primeras del primer apellido, el año de nacimiento, la nacionalidad (desplegable que excluye la UE y ordena por mayor presencia en España) y una clave personal de 4 dígitos por duplicado.
00016MAGA1990.
9.2 · Paso 2 · Apartado 1 · Criterios de no exclusión
Seis preguntas con respuesta obligatoria SÍ o NO. Todas tienen que ser SÍ para poder seguir adelante. Si alguna es NO, el sistema redirige al paso 5 con un mensaje explicativo.
Hay un caso especial: si todas son SÍ excepto la 1.2 (los 5 meses mínimos en España), el sistema concluye que hay que esperar a que se cumpla el plazo, no que la persona quede excluida.
9.3 · Paso 3 · Apartado 2 · Vías de regularización
Cinco preguntas. Si al menos una es SÍ, la persona es apta por vía normal y la entidad le asesorará sobre los siguientes pasos. Si las cinco son NO, la persona necesita un certificado de vulnerabilidad.
9.4 · Paso 4 · Cita para certificado de vulnerabilidad
Solo aparece si las cinco respuestas del Apartado 2 son NO. Permite reservar día y hora con una entidad de la red que tenga la acción 4. La lista de entidades, los días disponibles y los slots horarios (en bloques de la duración configurada en el puesto) se cargan en directo desde la base de datos.
9.5 · Paso 5 · Confirmación
Resumen del estado calculado, código de acceso, casilla de consentimiento LOPD obligatoria, y botón de envío. Tras enviar, la pantalla muestra el identificador asignado y la cita reservada (si la hay).
10 · El cuestionario en detalle
10.1 · Apartado 1 · Criterios de no exclusión
Las seis preguntas son comprobaciones objetivas sobre la situación de la persona y son excluyentes: si alguna no se cumple, no procede acogerse al procedimiento extraordinario (con la excepción del punto 1.2).
| Nº | Pregunta · Cumple que… |
|---|---|
| 1.1 | … entró en España antes del 1 de enero de 2026. |
| 1.2 | … lleva un mínimo de 5 meses en España antes de presentar la solicitud (plazo hasta 30/06/2026). |
| 1.3 | … no es titular de autorización de estancia/residencia en vigor (ni en fase de concesión, prórroga, renovación o modificación). |
| 1.4 | … no procede de Ucrania con autorización conforme a la Decisión de Ejecución (UE) 2022/382. |
| 1.5 | … no figura como rechazable en el espacio territorial de países con convenio firmado con España. |
| 1.6 | … no se encuentra dentro del plazo del compromiso de no retorno a España. |
10.2 · Apartado 2 · Vías de regularización
Las cinco preguntas describen las distintas vías para acceder al procedimiento. Basta con cumplir una para que la persona sea apta sin necesidad de certificado de vulnerabilidad.
| Nº | Pregunta |
|---|---|
| 2.1 | Ha trabajado por cuenta ajena o propia durante su permanencia en España (con documentación acreditativa). |
| 2.2 | Acredita intención de trabajar por cuenta ajena (oferta con duración acumulada superior a 90 días en 1 año). |
| 2.3 | Acredita intención de trabajar por cuenta propia (declaración responsable mediante modelo específico). |
| 2.4 | Está en España junto con su unidad familiar con menores, mayores con discapacidad que requieran apoyo, o ascendientes de primer grado. |
| 2.5 | Es solicitante de protección internacional con fecha de solicitud anterior al 1 de enero de 2026. |
11 · Estados posibles de la solicitud
Tras contestar el cuestionario, el sistema calcula automáticamente uno de cinco estados:
| Estado | Cuándo se asigna | Qué significa para la persona |
|---|---|---|
| Pendiente | Falta alguna respuesta. | Hay que completar el cuestionario. |
| No procede | Alguna del Apartado 1 = NO (excepto solo 1.2). | No puede acogerse al procedimiento extraordinario. La entidad puede asesorar sobre alternativas. |
| Esperar 5 meses | Todas SÍ excepto la 1.2. | Cumple los demás criterios pero aún no llega a 5 meses en España. Debe esperar al cumplimiento (siempre antes de 30/06/2026). |
| Precisa vulnerabilidad | Apartado 1 todo SÍ + Apartado 2 todo NO. | Cumple los criterios pero no encaja en ninguna vía. Necesita un certificado de vulnerabilidad. |
| Apto normal | Apartado 1 todo SÍ + alguna del Apartado 2 = SÍ. | Apto por vía normal. La entidad le asesorará sobre la documentación a presentar. |
12 · Agenda y atención de citas
12.1 · Generación de slots
La agenda no se gestiona como una lista cerrada de huecos: se calcula al vuelo a partir de las franjas horarias declaradas por cada puesto y de su duración estándar de cita. Por ejemplo, un puesto con horario de lunes 09:00–14:00 y duración 30 min ofrece los slots 09:00, 09:30, 10:00, …, 13:30.
12.2 · Atender una cita
El técnico, autenticado en su portal, ve la lista de citas próximas de su entidad. Cada cita programada tiene un botón verde “Atender” que abre una ventana modal con tres bloques:
- Información de la cita (solo lectura): fecha, hora programada, identificador del migrante, motivo.
- Atención: fecha y hora real de atención (por defecto, ahora), resultado (lista contextual al motivo) y observaciones libres.
- Cita de seguimiento (opcional): permite encadenar otra cita para esa misma persona con otra entidad de la red.
12.3 · Resultados sugeridos según motivo
| Motivo de la cita | Opciones de resultado |
|---|---|
| Certificado de vulnerabilidad | certificado emitido · certificado denegado · documentación incompleta |
| Digitalización | digitalizada · parcial · no procede |
| Presentación (normal o urgente) | solicitud presentada · pendiente de corrección · rechazada |
| Otros motivos | completada · pendiente de seguimiento · no procede |
13 · Cadena de derivación
Una persona migrante recorre la red en varias citas consecutivas. El sistema modela ese recorrido enlazando cada cita con la anterior mediante el campo cita_anterior_id. El técnico puede crear la siguiente cita en el mismo modal en el que registra la atención de la actual.
13.1 · Recorrido típico de una persona vulnerable
Cert. vulnerabilidad (acción 4) → Cita 2
Digitalización (acción 3) → Cita 3
Presentación (acción 5 u 8)
13.2 · Sugerencias automáticas
Cuando se registra la atención de una cita y se marca “crear cita de seguimiento”, el sistema preselecciona el motivo más natural:
- Tras una cita de certificado de vulnerabilidad emitido → motivo sugerido: digitalización.
- Tras una cita de digitalización completada → motivo sugerido: presentación de la solicitud.
El técnico puede cambiarlo manualmente si la situación lo requiere (por ejemplo, presentación urgente en lugar de normal). El desplegable de entidades se filtra automáticamente para mostrar solo las que asumen el motivo elegido.
14 · El dashboard administrativo
El dashboard vive en la barra lateral de Cowork (no en la web pública). Tiene dos pestañas:
14.1 · Pestaña “Resumen”
- KPIs: entidades activas, puestos, técnicos, migrantes (totales y con cuestionario), citas próximas y atendidas, municipios cubiertos.
- Solicitudes por estado: gráfico de anillo con el reparto entre pendiente, no procede, esperar 5 meses, precisa vulnerabilidad, apto normal.
- Top 10 nacionalidades de las personas migrantes registradas.
- Cobertura de acciones: gráfico horizontal con cuántas entidades asumen cada una de las 7 acciones. Permite ver dónde la red está cubierta y dónde necesita reforzarse.
- Citas por motivo.
- Altas de migrantes (últimas 12 semanas).
- Próximas citas: tabla con fecha, hora, identificador, motivo, entidad, estado.
- Cobertura geográfica: municipios con más entidades.
14.2 · Pestaña “Entidades y técnicos”
- Desplegable con todas las entidades activas.
- Al elegir una se ven sus datos completos, las acciones que asume y la tabla de su personal técnico (estado activo/inactivo, identificador, contacto, fecha de alta).
15 · Protección de datos · LOPD/RGPD
El sistema está diseñado desde el inicio aplicando privacidad por defecto:
15.1 · Minimización
De las personas migrantes solo se almacenan: dos primeras letras del primer nombre, dos primeras del primer apellido, año de nacimiento, nacionalidad y un hash de la clave. El nombre completo no se guarda nunca. Las preguntas del cuestionario se almacenan como booleanos, no como texto libre.
15.2 · Pseudonimización
Los identificadores son derivados (no aleatorios), lo que permite reconocer a la persona sin revelar sus datos personales en pantalla:
- Migrante:
NNNNN + LL + LL + AAAA(13 caracteres). - Técnico:
LL + LL + AAAA(8 caracteres).
15.3 · Confidencialidad de claves
Todas las claves (de migrantes y técnicos) se almacenan como hash bcrypt de 60 caracteres, nunca en claro. Para verificar una clave se compara el hash con el resultado de hashear el valor introducido.
15.4 · Control de acceso
Las tablas con datos personales tienen Row Level Security activada y sin políticas para roles públicos. Solo el rol de servicio (usado por las Edge Functions) puede leer y escribir, aplicando el principio de mínimo privilegio.
15.5 · Consentimiento explícito
Tanto el alta de técnicos como la de migrantes exigen marcar una casilla con la información sobre el tratamiento de datos. La API valida que ese consentimiento haya sido marcado y rechaza el envío en caso contrario (HTTP 400).
15.6 · Derechos ARSULIPO
El coordinador puede atender las solicitudes de acceso, rectificación, supresión, limitación, portabilidad y oposición ejecutando consultas SQL directas sobre las tablas. Conviene mantener un registro de las solicitudes recibidas.
15.7 · Cifrado en reposo y en tránsito
La plataforma Supabase cifra automáticamente todas las comunicaciones con TLS y los datos almacenados en disco. La aplicación añade el cifrado de las claves de usuario a nivel aplicativo (bcrypt).
16 · URLs y enlaces útiles
16.1 · Web pública (para entidades, técnicos y migrantes)
- Inicio: https://redeourense.com
- Alta de entidad: https://redeourense.com/alta-entidad
- Alta de técnico: https://redeourense.com/alta-tecnico
- Alta de persona migrante: https://redeourense.com/alta-migrante
- Portal del técnico: https://redeourense.com/portal-tecnico
16.2 · API (para integraciones técnicas)
- https://ouixxnmqqbbaimgopmmh.supabase.co/functions/v1/alta-entidad
- https://ouixxnmqqbbaimgopmmh.supabase.co/functions/v1/alta-tecnico
- https://ouixxnmqqbbaimgopmmh.supabase.co/functions/v1/alta-migrante
- https://ouixxnmqqbbaimgopmmh.supabase.co/functions/v1/portal-tecnico
16.3 · Panel de administración
- Tablas: https://supabase.com/dashboard/project/ouixxnmqqbbaimgopmmh/editor
- SQL: https://supabase.com/dashboard/project/ouixxnmqqbbaimgopmmh/sql/new
- Edge Functions: https://supabase.com/dashboard/project/ouixxnmqqbbaimgopmmh/functions
- Despliegue web (Netlify): https://app.netlify.com/projects/migrantes-regularizacion
16.4 · Códigos compartidos
| Para qué | Código |
|---|---|
| Alta de entidades | 2027 |
| Alta de técnicos | 2027 |
| Alta de migrantes | 2027 |
17 · Casos de uso completos
17.1 · Caso A · Persona migrante con vía laboral acreditada
Situación: Carmen llega a una entidad de la red con un contrato de trabajo de 6 meses ya firmado. Lleva 7 meses en España, no ha tenido autorización previa, no es de Ucrania.
- El técnico abre
https://redeourense.com/alta-migranteen el ordenador de la entidad. - Pide a Carmen las dos primeras letras de su nombre y apellido y su año de nacimiento. Rellena los campos. Selecciona “Colombia” en el desplegable.
- Carmen elige una clave de 4 dígitos.
- En el Apartado 1 marca SÍ a las seis preguntas (todos los criterios cumplidos).
- En el Apartado 2 marca SÍ a la 2.2 (oferta de trabajo > 90 días).
- El sistema clasifica la solicitud como Apto normal. El paso 4 no aparece (no hace falta certificado de vulnerabilidad).
- Introduce el código
2027, marca el consentimiento y envía. - El sistema devuelve un identificador como
00017COCA1990. Carmen lo apunta junto con su clave.
17.2 · Caso B · Persona migrante en situación de vulnerabilidad
Situación: Idris no tiene contrato ni oferta, no tiene unidad familiar acreditada, no es solicitante de protección internacional.
- Mismo punto de partida que en el caso A.
- En el Apartado 1, todas SÍ.
- En el Apartado 2, todas NO. El sistema concluye Precisa vulnerabilidad y muestra el paso 4.
- El técnico ayuda a Idris a elegir, en el desplegable, una entidad de la red que tenga la acción 4. La lista se carga en directo.
- Selecciona una fecha en el calendario y, automáticamente, el sistema muestra los slots disponibles ese día (solo los días con horario configurado en el puesto).
- Idris elige un slot, por ejemplo el lunes a las 10:00 en bloque de 30 minutos.
- Envía. El sistema confirma el alta, el identificador y la cita.
- El día de la cita, en el portal del técnico de la entidad citada, aparecerá una fila programada con el ID de Idris.
17.3 · Caso C · Cadena de derivación tras vulnerabilidad
Continuación del caso B. Idris acude a su cita.
- El técnico de la entidad emisora del certificado abre el portal y busca su cita en la sección “Próximas citas”.
- Pulsa el botón verde “Atender”.
- En el modal, elige resultado “Certificado emitido” y añade observaciones.
- Marca la casilla “Crear cita de seguimiento para esta persona”.
- El motivo se autopreselecciona como “3 · Digitalización de documentación”. El desplegable de entidades se filtra automáticamente para mostrar solo entidades con la acción 3.
- Elige una entidad próxima al domicilio de Idris, una fecha y un slot disponible.
- Pulsa “Guardar”. La cita actual queda asistida y se crea una cita nueva con
cita_anterior_idapuntando a la primera. - El día de la digitalización, el técnico de esa segunda entidad repetirá el proceso y, al cerrarla con resultado “documentación digitalizada”, podrá encadenar una tercera cita para la presentación de la solicitud.
17.4 · Caso D · Persona que aún no cumple los 5 meses
Situación: Yulia llegó a España hace 3 meses, todo lo demás cumple.
- En el Apartado 1 contesta SÍ a las preguntas 1.1, 1.3, 1.4, 1.5, 1.6.
- Contesta NO a la 1.2 (lleva menos de 5 meses).
- El sistema detecta el caso especial y devuelve Esperar 5 meses.
- Yulia se registra igualmente para que la entidad pueda contactarla cuando cumpla el plazo.
18 · Problemas frecuentes
18.1 · El navegador muestra el código fuente del formulario
Significa que estás abriendo la URL desde el chat o un visor que no renderiza HTML. Cópiala y pégala en la barra de direcciones de un navegador real (Chrome, Safari, Firefox, Edge).
18.2 · El despliegue en Netlify dice “All files already uploaded”
El despliegue desde el script local (desplegar-en-netlify.command) puede usar una caché incorrecta. La solución más fiable es arrastrar la carpeta Migrantes Regularizacion entera a la zona de drag-and-drop del panel de Netlify, en https://app.netlify.com/projects/migrantes-regularizacion/deploys.
18.3 · El alta de un técnico falla con “Ya existe un técnico con ese identificador”
Dos técnicos con las mismas iniciales y mismo año de nacimiento en la misma entidad chocan. La solución es revisar las iniciales (a veces alguien tiene un primer nombre compuesto o varios apellidos) o desactivar el técnico antiguo si era una persona distinta.
18.4 · La lista de países no se carga
El formulario hace una petición REST a /rest/v1/paises con la clave publishable embebida. Si Supabase está temporalmente saturado puede tardar unos segundos. Si el problema persiste, comprobar en el panel de Supabase que la tabla paises exista y tenga la política de lectura pública activa.
18.5 · El portal devuelve “Sesión inválida o expirada”
Las sesiones duran 12 horas desde el último uso. Volver a iniciar sesión con el identificador y la clave personal.
18.6 · El dashboard muestra “Error al cargar los datos”
Pulsar el botón ⚙ Debug, copiar la respuesta cruda y enviarla al coordinador. El parser está preparado para todos los formatos conocidos, pero si Cowork cambia el contrato, ese diagnóstico permite actualizarlo en minutos.
19 · Glosario
Acción · Una de las 7 funciones que una entidad puede asumir en la red (códigos 0, 1, 2, 3, 4, 5, 8).
bcrypt · Algoritmo de hash criptográfico utilizado para almacenar las claves de forma irrecuperable. Cada hash es de 60 caracteres y empieza por $2.
Cita · Programación de una atención entre una persona migrante y una entidad para realizar una acción concreta.
Cita anterior · La cita previa en una cadena de derivación; permite reconstruir el recorrido completo de una persona por la red.
Edge Function · Función serverless de Supabase escrita en TypeScript/Deno que recibe peticiones HTTPS, valida y consulta o modifica la base de datos.
Iniciales · Las dos primeras letras del primer nombre o del primer apellido. El sistema solo guarda eso, nunca el nombre completo.
Motivo de cita · La acción que se va a realizar en una cita concreta (derivación, asesoramiento, validación, digitalización, certificado de vulnerabilidad, presentación normal, presentación urgente).
PostgREST · La API REST automática que Supabase genera a partir del esquema de la base de datos. Se usa para los desplegables y vistas que se cargan en los formularios.
Puesto de asesoramiento · Cada punto físico de atención de una entidad, con horario propio y duración estándar de cita propia.
RLS · Row Level Security · Mecanismo de PostgreSQL para denegar lecturas y escrituras a roles concretos a nivel de fila. Se usa para proteger los datos personales.
Service role · Rol de servicio de Supabase que ignora las restricciones de RLS. Solo lo usan las Edge Functions, nunca las páginas web públicas.
Slot · Bloque horario disponible para reservar cita. Se calcula dividiendo cada franja horaria del puesto en segmentos de la duración estándar configurada.
Solicitud · Conjunto de respuestas al cuestionario y estado calculado de una persona migrante.
Trigger · Función SQL que se ejecuta automáticamente al insertar o actualizar una fila. Se usa para mantener el campo estado de las solicitudes siempre coherente con las respuestas.