Portales de empleo

Publica las ofertas, no las estafas disfrazadas de oferta

Ofertas de empleo y mensajes entre empresas y candidatos, revisados antes de que nadie los lea. ToxicFilter detecta la oferta que cobra al candidato por empezar, el cheque que hay que ingresar y devolver, los paquetes que hay que reenviar y el anuncio que deja fuera a la gente por su sexo o su edad, y te dice por qué con una frase que puedes enseñarle a la empresa.

Lo que falla en plataformas como la tuya

Trabajos que le cuestan dinero al candidato

Un kit de formación que hay que comprar antes del primer día, una cuota de inscripción "reembolsable", un cheque que ingresas para devolver la diferencia, paquetes que recibes en casa y reenvías al extranjero. Estas ofertas llegan a quien más necesita que el trabajo sea de verdad, y se entera de que no lo era después de pagar.

Anuncios que dejan fuera a candidatos

"Solo hombres", "menores de 30 años", "no extranjeros", "sin cargas familiares". Excluir a alguien por lo que es está prohibido en la UE, y quien lo publica es tu portal, por normal que parezca el resto del anuncio.

Estafas que parecen teletrabajo honrado

"Sin experiencia" y una entrevista por chat son la forma en que se anuncian muchísimos trabajos de reparto y hostelería de verdad. Un filtro que los rechaza le quita trabajos reales a candidatos reales; uno que los ignora deja pasar la estafa que empieza justo así.

Explicar cada retirada

La empresa a la que le desaparece una oferta quiere saber por qué, y en la UE le debes una declaración que diga qué se hizo, con qué fundamento y cómo recurrirlo. Escribirla a mano para cada oferta rechazada no hay quien lo sostenga.

Qué decide con contenido como el tuyo

Juzgado ahora mismo por el mismo motor que usa la API, con la plantilla de este tipo de plataforma y sin intervención del modelo.

  1. 01 Un trabajo que cobra por empezar
  2. 02 Paquetes que reenviar y un cheque que cobrar
  3. 03 Un anuncio que excluye por sexo y edad
  4. 04 El mismo anuncio con la coletilla de igualdad
  5. 05 Una oferta honrada

Un trabajo que cobra por empezar POST /v1/text

Auxiliar de grabación de datos en remoto, sin experiencia. Antes de empezar pagas una cuota reembolsable de 60 € por el kit de inicio, y la entrevista es por Telegram.

block 41 ms
  • Reads like a job scam: it asks the applicant to pay before starting, promises easy pay with no experience and holds the interview over a chat app.

Pagar antes de empezar junto a la promesa de que no hace falta experiencia es la forma de la estafa, y la plantilla de portal de empleo la rechaza. "Sin experiencia" a secas está en cualquier oferta honrada de camarero y pasa.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "scam"
  ],
  "scores": {
    "scam": 0.7
  },
  "signals": [
    {
      "category": "scam",
      "score": 0.7,
      "reason": "Reads like a job scam: it asks the applicant to pay before starting, promises easy pay with no experience and holds the interview over a chat app.",
      "evidence": [
        "cuota reembolsable",
        "sin experiencia",
        "la entrevista es por telegram"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 41
}

Paquetes que reenviar y un cheque que cobrar POST /v1/text

Gestor de paquetería desde casa. Tendrás que recibir paquetes en casa y reenviar los paquetes a nuestros clientes en el extranjero. Te enviaremos un cheque: lo ingresas y nos devuelves la diferencia.

block 8 ms
  • Reads like a job scam: it involves a cheque to cash and money to send back and asks the applicant to receive and forward parcels.

Dos de las familias fuertes a la vez: mercancía y dinero yendo en sentido contrario. Con esta plantilla, cualquiera de las dos junto a una señal débil ya se rechaza.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "scam"
  ],
  "scores": {
    "scam": 0.9
  },
  "signals": [
    {
      "category": "scam",
      "score": 0.9,
      "reason": "Reads like a job scam: it involves a cheque to cash and money to send back and asks the applicant to receive and forward parcels.",
      "evidence": [
        "te enviaremos un cheque",
        "recibir paquetes en casa",
        "reenviar los paquetes"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Un anuncio que excluye por sexo y edad POST /v1/text con surface: job

Mozo de almacén en Zaragoza. Solo hombres menores de 30 años. Jornada completa, turno de mañana.

review 12 ms
  • Excludes candidates by sex and age.

Queda retenido para una persona y nunca se rechaza por sí solo. Existen requisitos profesionales legítimos (una actriz para un papel femenino, personal para una casa de acogida de mujeres), y distinguirlos de una exclusión le corresponde a una persona.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "hate"
  ],
  "scores": {
    "hate": 0.65
  },
  "signals": [
    {
      "category": "hate",
      "score": 0.65,
      "reason": "Excludes candidates by sex and age.",
      "evidence": [
        "solo hombres",
        "menores de 30 anos",
        "hombres menores de 30 anos"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 12
}

El mismo anuncio con la coletilla de igualdad POST /v1/text con surface: job

Mozo de almacén en Zaragoza. Solo hombres menores de 30 años. Jornada completa, turno de mañana. Somos una empresa comprometida con la igualdad de oportunidades y no discriminamos por edad ni por sexo.

review 9 ms
  • Excludes candidates by sex and age.

El anuncio se lee frase a frase, y la fórmula de igualdad de oportunidades solo neutraliza la frase en la que está. La coletilla que se añade a todas las ofertas no blanquea la exclusión de dos líneas más arriba.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "hate"
  ],
  "scores": {
    "hate": 0.65
  },
  "signals": [
    {
      "category": "hate",
      "score": 0.65,
      "reason": "Excludes candidates by sex and age.",
      "evidence": [
        "solo hombres",
        "menores de 30 anos",
        "hombres menores de 30 anos"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 9
}

Una oferta honrada POST /v1/text con surface: job

Contable junior en Valencia, 28.000 € brutos al año y seguro médico. Se piden al menos dos años de experiencia en nóminas. Envía tu currículum antes del 30 de octubre.

allow 8 ms

Así son casi todas las ofertas: un sueldo, la experiencia que se pide y una fecha límite. Lo resuelven las comprobaciones gratuitas en torno a un milisegundo, y "30 de octubre" no se lee como una edad.

La respuesta, resumida
{
  "decision": "allow",
  "flagged": [],
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Qué decide con contenido como el tuyo

Juzgado ahora mismo por el mismo motor que usa la API, con la plantilla de este tipo de plataforma y sin intervención del modelo.

Un trabajo que cobra por empezar POST /v1/text

Auxiliar de grabación de datos en remoto, sin experiencia. Antes de empezar pagas una cuota reembolsable de 60 € por el kit de inicio, y la entrevista es por Telegram.

block 41 ms
  • Reads like a job scam: it asks the applicant to pay before starting, promises easy pay with no experience and holds the interview over a chat app.

Pagar antes de empezar junto a la promesa de que no hace falta experiencia es la forma de la estafa, y la plantilla de portal de empleo la rechaza. "Sin experiencia" a secas está en cualquier oferta honrada de camarero y pasa.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "scam"
  ],
  "scores": {
    "scam": 0.7
  },
  "signals": [
    {
      "category": "scam",
      "score": 0.7,
      "reason": "Reads like a job scam: it asks the applicant to pay before starting, promises easy pay with no experience and holds the interview over a chat app.",
      "evidence": [
        "cuota reembolsable",
        "sin experiencia",
        "la entrevista es por telegram"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 41
}

Paquetes que reenviar y un cheque que cobrar POST /v1/text

Gestor de paquetería desde casa. Tendrás que recibir paquetes en casa y reenviar los paquetes a nuestros clientes en el extranjero. Te enviaremos un cheque: lo ingresas y nos devuelves la diferencia.

block 8 ms
  • Reads like a job scam: it involves a cheque to cash and money to send back and asks the applicant to receive and forward parcels.

Dos de las familias fuertes a la vez: mercancía y dinero yendo en sentido contrario. Con esta plantilla, cualquiera de las dos junto a una señal débil ya se rechaza.

La respuesta, resumida
{
  "decision": "block",
  "flagged": [
    "scam"
  ],
  "scores": {
    "scam": 0.9
  },
  "signals": [
    {
      "category": "scam",
      "score": 0.9,
      "reason": "Reads like a job scam: it involves a cheque to cash and money to send back and asks the applicant to receive and forward parcels.",
      "evidence": [
        "te enviaremos un cheque",
        "recibir paquetes en casa",
        "reenviar los paquetes"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Un anuncio que excluye por sexo y edad POST /v1/text con surface: job

Mozo de almacén en Zaragoza. Solo hombres menores de 30 años. Jornada completa, turno de mañana.

review 12 ms
  • Excludes candidates by sex and age.

Queda retenido para una persona y nunca se rechaza por sí solo. Existen requisitos profesionales legítimos (una actriz para un papel femenino, personal para una casa de acogida de mujeres), y distinguirlos de una exclusión le corresponde a una persona.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "hate"
  ],
  "scores": {
    "hate": 0.65
  },
  "signals": [
    {
      "category": "hate",
      "score": 0.65,
      "reason": "Excludes candidates by sex and age.",
      "evidence": [
        "solo hombres",
        "menores de 30 anos",
        "hombres menores de 30 anos"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 12
}

El mismo anuncio con la coletilla de igualdad POST /v1/text con surface: job

Mozo de almacén en Zaragoza. Solo hombres menores de 30 años. Jornada completa, turno de mañana. Somos una empresa comprometida con la igualdad de oportunidades y no discriminamos por edad ni por sexo.

review 9 ms
  • Excludes candidates by sex and age.

El anuncio se lee frase a frase, y la fórmula de igualdad de oportunidades solo neutraliza la frase en la que está. La coletilla que se añade a todas las ofertas no blanquea la exclusión de dos líneas más arriba.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "hate"
  ],
  "scores": {
    "hate": 0.65
  },
  "signals": [
    {
      "category": "hate",
      "score": 0.65,
      "reason": "Excludes candidates by sex and age.",
      "evidence": [
        "solo hombres",
        "menores de 30 anos",
        "hombres menores de 30 anos"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 9
}

Una oferta honrada POST /v1/text con surface: job

Contable junior en Valencia, 28.000 € brutos al año y seguro médico. Se piden al menos dos años de experiencia en nóminas. Envía tu currículum antes del 30 de octubre.

allow 8 ms

Así son casi todas las ofertas: un sueldo, la experiencia que se pide y una fecha límite. Lo resuelven las comprobaciones gratuitas en torno a un milisegundo, y "30 de octubre" no se lee como una edad.

La respuesta, resumida
{
  "decision": "allow",
  "flagged": [],
  "signals": [],
  "model": {
    "read": false
  },
  "took_ms": 8
}

Qué busca

Cada cosa con su propia puntuación y sus propios umbrales, y el motivo explicado en una frase cada vez que actúa.

La plantilla con la que empiezas

Elígela al crear una política y estas reglas se escriben por ti, listas para editar. Todo lo que no menciona sigue nuestros valores por defecto.

  • Estafa retiene desde 0,30 · rechaza desde 0,60
  • Toxicidad retiene desde 0,30 · nunca rechaza
  • Acoso retiene desde 0,30 · rechaza desde 0,65
  • Discurso de odio retiene desde 0,25 · rechaza desde 0,70
  • Violencia retiene desde 0,25 · rechaza desde 0,60

Lo fija la plantilla

Una llamada antes de publicar

Envía el texto indicando dónde va a aparecer y actúa según la decisión.

La petición

curl https://toxicfilter.com/api/v1/text \
  -H "Authorization: Bearer $TOXICFILTER_KEY" \
  -d content="Auxiliar de grabación de datos en remoto, sin experiencia. Antes de empezar pagas una cuota reembolsable de 60 € por el kit de inicio, y la entrevista es por Telegram." \
  -d surface=job
La referencia completa →

Un mes de ejemplo, en cifras

Elementos revisados
80.000
Leídos por el modelo
6.000
Imágenes
2.000
Créditos, aproximadamente
142.000

Entra en el plan Pro. Ver los planes →

Guía para moderar un portal de empleo

Qué revisar, cuándo hacerlo y cómo fijar las reglas, en ofertas de empleo y en los mensajes entre empresas y candidatos.

Cómo moderar ofertas de empleo antes de publicarlas

Llama a la API cuando una empresa envía una oferta, con surface: job, y actúa según una de tres respuestas: publicarla, retenerla para que la vea una persona o rechazarla. La superficie importa: la comprobación de lenguaje discriminatorio solo se aplica a ofertas, porque "solo chicas" en un piso compartido o "solo hombres" en un coro no excluyen a nadie de un trabajo. Casi todas las ofertas son un sueldo, unas tareas y una fecha, y eso lo resuelven las comprobaciones gratuitas en torno a un milisegundo. Lo que llega como review espera en una cola, en tu panel o por la API, y un webhook firmado avisa a tu web cuando alguien lo aprueba.

Cómo detectar ofertas de empleo falsas

Una estafa de empleo necesita el dinero o la ayuda del candidato antes de pagarle nada. ToxicFilter lee tres familias fuertes (pagar la formación, el material o una cuota antes de empezar; ingresar un cheque y devolver la diferencia; recibir paquetes en casa y reenviarlos) y dos débiles ("sin experiencia", una entrevista por Telegram o WhatsApp). Con la plantilla de portal de empleo, dos familias fuertes, o una fuerte y una débil, se rechazan como scam. Dos débiles juntas quedan retenidas y nunca se rechazan, porque así es también una oferta honrada de reparto. Las mismas comprobaciones se aplican a los mensajes entre empresa y candidato, así que también se ve la cuota que se pide cuando la oferta ya estaba aprobada.

Anuncios de empleo discriminatorios: a una persona, nunca rechazo automático

"Solo hombres", "menores de 30 años", "no extranjeros", "sin cargas familiares": cada una excluye a alguien por lo que es, y va a hate con un motivo que dice por qué excluye el anuncio. Una característica excluida puntúa 0,60, varias 0,65, y dos sustitutos como "buena presencia" y "equipo joven" 0,45. Todo queda por debajo de la línea de bloqueo de 0,70, a propósito: hay requisitos profesionales legítimos, y distinguirlos le corresponde a una persona. La plantilla de portal de empleo deja esa línea donde está, así que estos anuncios siempre llegan a una persona.

Por qué la coletilla de igualdad no tapa una exclusión

El anuncio se lee frase a frase. La fórmula de igualdad de oportunidades ("no discriminamos por edad ni por sexo") solo neutraliza la frase en la que aparece, así que la coletilla que tu portal añade a todas las ofertas no blanquea un "solo hombres" escrito dos líneas antes. Las expresiones que vuelven inclusiva una frase ("chico o chica", "con o sin discapacidad") se tapan antes de buscar nada, y "nacionalidad española o permiso de trabajo" dice a quién se puede contratar legalmente, así que no se marca.

Cómo se leen las edades

Una edad escrita con números solo cuenta como edad: un límite o un rango sobre una edad adulta, y no "30 años de experiencia", "hipoteca hasta 30 años" ni "30 kg". Sin la palabra años, cuenta detrás de a quién se busca ("mujeres menores de 30"). Las comprobaciones instantáneas lo resuelven en torno a un milisegundo, en ocho idiomas; lo que depende del contexto lo lee el modelo con effort: high y, como una exclusión se retiene en lugar de rechazarse, la última palabra la tiene siempre una persona de tu lado.

Cómo elegir los umbrales de tu portal

Empieza por la plantilla de portal de empleo, que baja las líneas de estafa, acoso y amenazas y deja los anuncios discriminatorios en revisión. Después, prueba cualquier cambio como una segunda política que funciona en paralelo con la que está activa: se calculan los dos veredictos sobre tu propio tráfico, solo uno decide, y el panel te enseña en qué no coinciden antes de que cambies.

Preguntas frecuentes

¿Cómo se detectan las ofertas de empleo falsas?

Por la forma de la oferta, no por una palabra suelta. ToxicFilter busca familias fuertes (pagar antes de empezar, un cheque que ingresar y una diferencia que devolver, paquetes que recibir y reenviar) y débiles (sin experiencia, entrevista por una app de mensajería). Dos familias fuertes, o una fuerte y una débil, se rechazan con la plantilla de portal de empleo. Dos débiles quedan retenidas para revisión y nunca se rechazan, porque así se escriben también muchas ofertas honradas de reparto y hostelería.

¿Detecta anuncios de empleo discriminatorios?

Sí, si mandas la oferta con la superficie job. Reconoce exclusiones por sexo, edad, origen o nacionalidad, religión, situación familiar y discapacidad, y dos de los sustitutos habituales juntos ("buena presencia" y "equipo joven y dinámico"). Una edad solo cuenta como edad: "menores de 30 años" lo es, "30 años de experiencia" no. Una nacionalidad en la misma frase que el permiso de trabajo dice a quién se puede contratar legalmente y no se marca.

¿Por qué los anuncios discriminatorios se retienen y no se rechazan?

Porque existen requisitos profesionales legítimos que se escriben con las mismas palabras: una actriz para un papel femenino, personal para una casa de acogida de mujeres, un límite de edad legal en un contrato de aprendizaje. Todas las puntuaciones quedan por debajo de la línea de bloqueo, así que decide una persona de tu equipo. La plantilla de portal de empleo deja esa línea donde está para que estos anuncios siempre lleguen a alguien.

¿Si un candidato denuncia una estafa, se marca como estafa?

No. Un mensaje que pregunta "¿esto es una estafa?" sobre una empresa que pide una cuota de inscripción desactiva por completo la comprobación de estafas de empleo, porque avisar de una estafa nunca puede parecer cometerla.

¿Funciona con ofertas en español y en otros idiomas?

Las comprobaciones instantáneas llevan listas de frases para estafas de empleo y anuncios discriminatorios en inglés, español, portugués, francés, italiano, alemán, catalán y neerlandés. El modelo lee muchos más. Fuera de esos ocho, con effort high el modelo lee cada anuncio.

¿Tengo que explicarle a una empresa por qué he retirado su oferta?

En la UE, sí: el artículo 17 del Reglamento de Servicios Digitales exige una declaración de motivos por cada retirada o restricción, sea cual sea el tamaño de la plataforma. ToxicFilter puede redactarla con cada oferta bloqueada y recoger el recurso de la empresa.

Pruébalo con tu tráfico real

2.000 créditos al mes en el plan gratuito, sin tarjeta. Suficiente para pasarle una semana de tu propio contenido y ver qué opina de él.