← Volver al inicio

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.

Filosofía del sistema La herramienta no sustituye al criterio profesional del personal técnico. Su función es organizar la red, evitar duplicidades, derivar a la persona migrante a la entidad adecuada en cada paso del proceso, y respetar de forma estricta la protección de datos personales.

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:

CAPA WEB · formularios públicos y portal alta-entidad · alta-tecnico · alta-migrante · portal-tecnico · dashboard CAPA API · funciones serverless (Edge Functions) validan código, hashean claves, llaman a la base de datos con privilegios CAPA DATOS · PostgreSQL en Supabase tablas, vistas, funciones, RLS estricta, hashes bcrypt

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.NombreQué hace la entidad cuando asume esta acción
0DerivarIncorpora 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.
1AsesoramientoAtiende la cita o incorpora los datos, completa las preguntas, asesora sobre aspectos básicos y le crea una cita con otra entidad.
2Validación de documentaciónLo 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.
3Digitalización de documentaciónLo anterior + digitaliza los documentos, se los entrega y le crea una cita con otra entidad.
4Emisión del certificado de vulnerabilidadAtiende, completa el cuestionario, valida la documentación y emite el certificado de vulnerabilidad.
5Presentación de la solicitudHace todo lo anterior incluyendo la emisión del certificado y presenta la solicitud por la vía ordinaria.
8Presentación de la solicitud por urgenciaIgual que la anterior pero presentando la solicitud por el procedimiento de urgencia.
Una entidad puede asumir cualquier combinación Una misma entidad puede declarar 1, varias o todas las acciones. Una entidad pequeña puede dedicarse solo a derivar (acción 0); una entidad grande puede asumir desde el primer asesoramiento hasta la presentación de la solicitud.

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

TablaContenido
accionesLas 7 acciones de la red (0,1,2,3,4,5,8) con código, nombre y descripción completa del flujo.
paisesCatálogo de 159 países (excluida la UE) ordenados por presencia en España. Sirve para el desplegable de nacionalidad.

5.2 · Tablas operativas

TablaContenido principal
entidadesDatos de cada organización: nombre, tipo, dirección, geolocalización, contacto, persona responsable, idiomas de atención.
entidad_accionesTabla puente: qué acciones del catálogo asume cada entidad.
puestos_asesoramientoCada puesto físico de una entidad, con su dirección, contacto, duración estándar de cita y bandera de cita previa.
horarios_puestoLas franjas horarias semanales de cada puesto (día + hora inicio + hora fin + observaciones).
tecnicosPersonal técnico de las entidades. Identificador pseudonimizado, hash bcrypt de la clave de 4 dígitos, contacto profesional opcional.
sesiones_tecnicosTokens de sesión activos para el portal del técnico (caducidad 12 h).
migrantesPersonas registradas. Solo iniciales y año de nacimiento — nunca el nombre completo. Hash bcrypt de la clave personal.
solicitudes_migranteCuestionario respondido por cada persona (11 binarias) y estado calculado por trigger.
citasLa agenda. Programación, atención y cadena de derivación (cada cita puede tener una cita anterior).

5.3 · Diagrama de relaciones simplificado

acciones catálogo (7 filas) entidades puestos (1:N) técnicos (1:N) acciones (N:M) migrantes solo iniciales solicitudes_migrante 11 binarias + estado citas migrante + entidad puesto + técnico fecha + hora + motivo estado · cita anterior tecnicos id pseudonimizado

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.

Cambio del código de acceso El código 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.

  1. Acceder a https://redeourense.com/alta-entidad.
  2. 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).
  3. 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.
  4. Introducir la dirección postal, municipio, código postal y, si se conoce, latitud y longitud (formato decimal, por ejemplo 40.4168 y -3.7038).
  5. Datos de contacto generales (teléfono, email, web) y datos de la persona responsable.
  6. 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.
  7. Introducir el código de acceso facilitado por el coordinador.
  8. Pulsar “Guardar entidad en la base de datos”.
Cómo se procesa el alta La API recibe los datos, valida el código, inserta la entidad, sus acciones, sus puestos y sus horarios en una operación lógicamente atómica. Si falla cualquiera de los pasos posteriores al de la entidad (un puesto, un horario), se borra la entidad para no dejar registros huérfanos.

8 · Flujo · alta de técnico/a

Una vez la entidad está dada de alta, su personal puede registrarse para acceder al portal privado.

  1. Acceder a https://redeourense.com/alta-tecnico.
  2. En el desplegable, seleccionar la entidad a la que se pertenece. Se cargan automáticamente todas las entidades activas de la red.
  3. Introducir email profesional y, opcionalmente, teléfono.
  4. 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).
  5. 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.
  6. Introducir el código de acceso de la red.
  7. Marcar la casilla de aceptación del tratamiento de datos (LOPD/RGPD).
  8. Pulsar “Registrar técnico”. La pantalla mostrará el identificador asignado: apuntarlo y guardarlo junto con la clave.
Si pierdes la clave La clave nunca se almacena en claro: ni siquiera el administrador la puede recuperar. En caso de pérdida, el coordinador deberá desactivar el técnico y dar de alta uno nuevo (el sistema permite distinguir activos e inactivos).

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.

1. Identificación 2. Apartado 1 (criterios) 3. Apartado 2 (vías) 4. Cita (si procede) 5. Confirmación

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.

Identificador resultante El sistema asigna un número correlativo de 5 dígitos (00001, 00002, …) y lo concatena con las iniciales en mayúscula y el año, formando una cadena de 13 caracteres. Por ejemplo, la decimosexta persona dada de alta con iniciales “MA”/“GA” nacida en 1990 obtendrá el identificador 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).

Pregunta · Cumple que…
1.1entró en España antes del 1 de enero de 2026.
1.2lleva un mínimo de 5 meses en España antes de presentar la solicitud (plazo hasta 30/06/2026).
1.3no es titular de autorización de estancia/residencia en vigor (ni en fase de concesión, prórroga, renovación o modificación).
1.4no procede de Ucrania con autorización conforme a la Decisión de Ejecución (UE) 2022/382.
1.5no figura como rechazable en el espacio territorial de países con convenio firmado con España.
1.6no 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.

Pregunta
2.1Ha trabajado por cuenta ajena o propia durante su permanencia en España (con documentación acreditativa).
2.2Acredita intención de trabajar por cuenta ajena (oferta con duración acumulada superior a 90 días en 1 año).
2.3Acredita intención de trabajar por cuenta propia (declaración responsable mediante modelo específico).
2.4Está en España junto con su unidad familiar con menores, mayores con discapacidad que requieran apoyo, o ascendientes de primer grado.
2.5Es 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:

EstadoCuándo se asignaQué significa para la persona
PendienteFalta alguna respuesta.Hay que completar el cuestionario.
No procedeAlguna del Apartado 1 = NO (excepto solo 1.2).No puede acogerse al procedimiento extraordinario. La entidad puede asesorar sobre alternativas.
Esperar 5 mesesTodas 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 vulnerabilidadApartado 1 todo SÍ + Apartado 2 todo NO.Cumple los criterios pero no encaja en ninguna vía. Necesita un certificado de vulnerabilidad.
Apto normalApartado 1 todo SÍ + alguna del Apartado 2 = SÍ.Apto por vía normal. La entidad le asesorará sobre la documentación a presentar.
El cálculo es automático No hay que marcar el estado a mano. Un trigger de la base de datos lo recalcula cada vez que se inserta o actualiza el cuestionario. Esto garantiza que el estado siempre coincide con las respuestas vigentes.

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 citaOpciones de resultado
Certificado de vulnerabilidadcertificado emitido · certificado denegado · documentación incompleta
Digitalizacióndigitalizada · parcial · no procede
Presentación (normal o urgente)solicitud presentada · pendiente de corrección · rechazada
Otros motivoscompletada · 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

Cita 1
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.

Trazabilidad completa Cada cita conoce su cita anterior. Eso permite reconstruir el recorrido completo de cualquier persona migrante por la red, desde la primera derivación hasta la presentación final.

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).

Pendiente de definir Política de retención de datos. Recomendación: borrar técnicos inactivos tras X meses sin actividad y solicitudes cerradas tras X años.

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 entidades2027
Alta de técnicos2027
Alta de migrantes2027

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.

  1. El técnico abre https://redeourense.com/alta-migrante en el ordenador de la entidad.
  2. 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.
  3. Carmen elige una clave de 4 dígitos.
  4. En el Apartado 1 marca SÍ a las seis preguntas (todos los criterios cumplidos).
  5. En el Apartado 2 marca SÍ a la 2.2 (oferta de trabajo > 90 días).
  6. El sistema clasifica la solicitud como Apto normal. El paso 4 no aparece (no hace falta certificado de vulnerabilidad).
  7. Introduce el código 2027, marca el consentimiento y envía.
  8. 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.

  1. Mismo punto de partida que en el caso A.
  2. En el Apartado 1, todas SÍ.
  3. En el Apartado 2, todas NO. El sistema concluye Precisa vulnerabilidad y muestra el paso 4.
  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.
  5. 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).
  6. Idris elige un slot, por ejemplo el lunes a las 10:00 en bloque de 30 minutos.
  7. Envía. El sistema confirma el alta, el identificador y la cita.
  8. 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.

  1. El técnico de la entidad emisora del certificado abre el portal y busca su cita en la sección “Próximas citas”.
  2. Pulsa el botón verde “Atender”.
  3. En el modal, elige resultado “Certificado emitido” y añade observaciones.
  4. Marca la casilla “Crear cita de seguimiento para esta persona”.
  5. 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.
  6. Elige una entidad próxima al domicilio de Idris, una fecha y un slot disponible.
  7. Pulsa “Guardar”. La cita actual queda asistida y se crea una cita nueva con cita_anterior_id apuntando a la primera.
  8. 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.

  1. En el Apartado 1 contesta SÍ a las preguntas 1.1, 1.3, 1.4, 1.5, 1.6.
  2. Contesta NO a la 1.2 (lleva menos de 5 meses).
  3. El sistema detecta el caso especial y devuelve Esperar 5 meses.
  4. 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.