Registros falsos

Distingue qué cuentas nuevas son personas

Envía el formulario de registro tal como llega: el nombre, el correo y la biografía. ToxicFilter revisa cada campo con sus propias reglas y te da una sola respuesta, con el motivo de cada hallazgo y los datos que necesitas para decidir tú, como la forma canónica del correo y si su dominio puede recibir mensajes.

Cómo funciona

  1. Envía el formulario tal cual

    Una llamada a POST /v1/signup con el nombre, el correo y la biografía, todos opcionales, y los idiomas de tu web. Por defecto no lo lee ningún modelo, así que un registro cuesta un crédito.

  2. Cada campo tiene sus reglas

    El correo se compara con una lista de proveedores desechables, con las pasarelas de correo a SMS y con los trucos de alias de Gmail. Del nombre solo se mira lo que no puede ser un nombre. La biografía pasa por las mismas comprobaciones que un comentario.

  3. Una respuesta por persona

    Todo lo encontrado en los tres campos vuelve junto, cada cosa con su frase: un correo desechable al lado de un nombre tecleado a lo loco y de una biografía de enlaces se lee como lo que es.

  4. Los datos son tuyos

    La respuesta trae el correo en su forma canónica y, si se ha consultado, si el dominio puede recibir correo. Cruzarlo con las cuentas que ya tienes lo decides tú.

Míralo en acción

  1. 01 Una biografía que solo son enlaces
  2. 02 Una biografía que te manda a otro sitio
  3. 03 Una biografía en otro alfabeto
  4. 04 La biografía de alguien de verdad

Una biografía que solo son enlaces POST /v1/signup (bio)

https://bit.ly/pastillas-baratas mejores precios, ofertas-baratas.example.com y bono-casino.example.net

review 10 ms
  • Opens with a link. People answering a question write first and link after.
  • 3 links in about 13 words: mostly links, barely a message.
  • Uses a link shortener, which hides where the link goes.

Empieza con un enlace, mete tres en trece palabras y esconde uno tras un acortador. Con las líneas de serie queda en revisión; la plantilla de citas, con el spam en 0,65, la rechaza.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.75
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "Opens with a link. People answering a question write first and link after.",
      "evidence": [
        "https://bit.ly/pastillas-baratas mejores precios, ofertas-baratas.example.com y "
      ]
    },
    {
      "category": "spam",
      "score": 0.75,
      "reason": "3 links in about 13 words: mostly links, barely a message.",
      "evidence": [
        "https://bit.ly/pastillas-baratas",
        "example.com",
        "example.net"
      ]
    },
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "https://bit.ly/pastillas-baratas"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 10
}

Una biografía que te manda a otro sitio POST /v1/signup (bio)

Trader de cripto. Escríbeme por Telegram @fastprofits para señales diarias, enlace: bit.ly/x9k2

review 14 ms
  • Uses a link shortener, which hides where the link goes.
  • Points the reader to a private chat app, which is where a deal leaves the platform.
  • Proposes continuing outside the platform.

Un usuario de Telegram y un enlace acortado: el perfil está para llevarse a la gente fuera. Queda en revisión, no se rechaza.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.7
  },
  "topics": {
    "crypto": 0.328
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "bit.ly/x9k2"
      ]
    },
    {
      "category": "spam",
      "score": 0.65,
      "reason": "Points the reader to a private chat app, which is where a deal leaves the platform.",
      "evidence": [
        "Telegram @fastprofits"
      ]
    },
    {
      "category": "spam",
      "score": 0.45,
      "reason": "Proposes continuing outside the platform.",
      "evidence": [
        "escribeme por telegram"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 14
}

Una biografía en otro alfabeto POST /v1/signup (bio)

Привет, я продаю аккаунты и подписчиков, пишите в личку, быстро и дешево

review 18 ms
  • Written mostly in cyrillic (58 letters, 100% of the text) on a site set to es.
  • Reads as ru on a site set to es, and by a clear margin (0.41).

Escrita entera en cirílico en una web que ha dicho que está en español. Es corta y no lleva enlace, así que podría ser alguien escribiendo en su idioma: se retiene para que la mire una persona en lugar de rechazarla. Un texto largo o con un enlace sí se rechaza. Con menos de quince letras de otro alfabeto, como un nombre o una palabra suelta, no salta.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "off_topic",
    "spam"
  ],
  "scores": {
    "off_topic": 0.9,
    "spam": 0.75
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "Written mostly in cyrillic (58 letters, 100% of the text) on a site set to es.",
      "evidence": [
        "я продаю аккаунты и подписчиков"
      ]
    },
    {
      "category": "off_topic",
      "score": 0.9,
      "reason": "Reads as ru on a site set to es, and by a clear margin (0.41).",
      "evidence": [
        "Привет, я продаю аккаунты и подписчиков, пишите в личку, быстро и дешево"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 18
}

La biografía de alguien de verdad POST /v1/signup (bio)

Jardinera en Valencia. Entro sobre todo por las fotos de pájaros y el intercambio de semillas.

allow 13 ms

Casi todas son así. Lo resuelven las comprobaciones gratuitas en más o menos un milisegundo.

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

Míralo en acción

Una biografía que solo son enlaces POST /v1/signup (bio)

https://bit.ly/pastillas-baratas mejores precios, ofertas-baratas.example.com y bono-casino.example.net

review 10 ms
  • Opens with a link. People answering a question write first and link after.
  • 3 links in about 13 words: mostly links, barely a message.
  • Uses a link shortener, which hides where the link goes.

Empieza con un enlace, mete tres en trece palabras y esconde uno tras un acortador. Con las líneas de serie queda en revisión; la plantilla de citas, con el spam en 0,65, la rechaza.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.75
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "Opens with a link. People answering a question write first and link after.",
      "evidence": [
        "https://bit.ly/pastillas-baratas mejores precios, ofertas-baratas.example.com y "
      ]
    },
    {
      "category": "spam",
      "score": 0.75,
      "reason": "3 links in about 13 words: mostly links, barely a message.",
      "evidence": [
        "https://bit.ly/pastillas-baratas",
        "example.com",
        "example.net"
      ]
    },
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "https://bit.ly/pastillas-baratas"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 10
}

Una biografía que te manda a otro sitio POST /v1/signup (bio)

Trader de cripto. Escríbeme por Telegram @fastprofits para señales diarias, enlace: bit.ly/x9k2

review 14 ms
  • Uses a link shortener, which hides where the link goes.
  • Points the reader to a private chat app, which is where a deal leaves the platform.
  • Proposes continuing outside the platform.

Un usuario de Telegram y un enlace acortado: el perfil está para llevarse a la gente fuera. Queda en revisión, no se rechaza.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "spam"
  ],
  "scores": {
    "spam": 0.7
  },
  "topics": {
    "crypto": 0.328
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.7,
      "reason": "Uses a link shortener, which hides where the link goes.",
      "evidence": [
        "bit.ly/x9k2"
      ]
    },
    {
      "category": "spam",
      "score": 0.65,
      "reason": "Points the reader to a private chat app, which is where a deal leaves the platform.",
      "evidence": [
        "Telegram @fastprofits"
      ]
    },
    {
      "category": "spam",
      "score": 0.45,
      "reason": "Proposes continuing outside the platform.",
      "evidence": [
        "escribeme por telegram"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 14
}

Una biografía en otro alfabeto POST /v1/signup (bio)

Привет, я продаю аккаунты и подписчиков, пишите в личку, быстро и дешево

review 18 ms
  • Written mostly in cyrillic (58 letters, 100% of the text) on a site set to es.
  • Reads as ru on a site set to es, and by a clear margin (0.41).

Escrita entera en cirílico en una web que ha dicho que está en español. Es corta y no lleva enlace, así que podría ser alguien escribiendo en su idioma: se retiene para que la mire una persona en lugar de rechazarla. Un texto largo o con un enlace sí se rechaza. Con menos de quince letras de otro alfabeto, como un nombre o una palabra suelta, no salta.

La respuesta, resumida
{
  "decision": "review",
  "flagged": [
    "off_topic",
    "spam"
  ],
  "scores": {
    "off_topic": 0.9,
    "spam": 0.75
  },
  "signals": [
    {
      "category": "spam",
      "score": 0.75,
      "reason": "Written mostly in cyrillic (58 letters, 100% of the text) on a site set to es.",
      "evidence": [
        "я продаю аккаунты и подписчиков"
      ]
    },
    {
      "category": "off_topic",
      "score": 0.9,
      "reason": "Reads as ru on a site set to es, and by a clear margin (0.41).",
      "evidence": [
        "Привет, я продаю аккаунты и подписчиков, пишите в личку, быстро и дешево"
      ]
    }
  ],
  "model": {
    "read": false
  },
  "took_ms": 18
}

La biografía de alguien de verdad POST /v1/signup (bio)

Jardinera en Valencia. Entro sobre todo por las fotos de pájaros y el intercambio de semillas.

allow 13 ms

Casi todas son así. Lo resuelven las comprobaciones gratuitas en más o menos un milisegundo.

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

Registros falsos, campo a campo

Lo que delata cada parte de un formulario de registro y lo que ToxicFilter revisa en ella.

Cómo detectar registros falsos

Un bot que rellena tu formulario de registro deja rastro en todos los campos, y cada rastro por separado dice poco: mucha gente honrada usa una etiqueta con más, un nombre corto o un enlace a su web. Si revisas los campos de uno en uno, pierdes el dato de que llegaron juntos. POST /v1/signup recibe el nombre, el correo y la biografía en una llamada, juzga cada uno con sus reglas y devuelve una sola decisión con cada hallazgo junto a su motivo.

Bloquear correos desechables

Los servicios de correo desechable existen para que una dirección pase el correo de confirmación y desaparezca. ToxicFilter mantiene una lista y rechaza las direcciones que están en ella. No se publica, y no es la única comprobación: un dominio que no puede recibir correo se señala esté o no en una lista.

Alias de Gmail con puntos y con más: un buzón, muchas cuentas

Para una columna única, nombre@gmail.com, n.o.m.b.r.e@gmail.com y nombre+2@gmail.com son tres cuentas. Para Gmail son un solo buzón. Cada respuesta sobre un correo trae su forma canónica, para que la busques entre tus usuarios antes de crear una segunda cuenta a la misma persona. Un alias de Gmail, además, se señala en spam con 0,45, justo por debajo de la línea de revisión de serie: si bajas el spam a 0,45 en tu política, queda retenido.

Comprobar si un dominio puede recibir correo

Un dominio sin servidor de correo no puede recibir la confirmación que vas a enviar. ToxicFilter busca un registro MX, o uno A, porque los dominios pequeños a menudo reciben el correo ahí, y guarda la respuesta un día. Así salen la errata y el dominio inventado, que son la mayoría de los correos malos que no están en ninguna lista.

Nombres que no son nombres

Rechazar un nombre real es decirle a alguien que su nombre no es un nombre, así que esta comprobación es estrecha a propósito. Busca rellenos, teclas seguidas, ristras de consonantes y enlaces escritos en el campo del nombre. Todo lo demás pasa, sea cual sea el alfabeto o la longitud.

Biografías llenas de enlaces, o en otro alfabeto

La biografía se revisa como cualquier comentario: enlaces al principio, muchos enlaces en pocas palabras, acortadores, usuarios de apps de mensajería, teléfonos y correos. Si le dices en qué idiomas está tu web, también avisa de una biografía escrita en otro alfabeto o claramente en otro idioma.

Cómo se reparte el trabajo

Las comprobaciones instantáneas resuelven los casos claros en torno a un milisegundo, el modelo lee lo que depende del contexto, y tus reglas y tu equipo tienen la última palabra.

  • Tu tabla de usuarios sigue siendo tuya

    Cada respuesta trae la forma canónica del correo, así que puedes buscarla entre tus usuarios antes de crear una segunda cuenta para la misma persona. Del registro no se guarda nada más que el veredicto y un hash.

  • Dos comprobaciones en cada correo

    Una lista mantenida de proveedores desechables, y una consulta de si el dominio puede recibir correo, que se recuerda un día. Un correo no tiene que estar en ninguna lista para que se señale.

  • Los nombres reales pasan

    Sin longitud mínima, sin reglas de alfabeto, sin diccionario: Ng, Li o un nombre en cualquier escritura pasan. Busca nombres de relleno, teclas seguidas, letras latinas sin ninguna vocal y enlaces, y un nombre de relleno o tecleado a lo loco, por sí solo, queda en revisión y nunca se rechaza.

Preguntas frecuentes

¿Cómo se detectan los registros falsos?

Envía el registro entero a POST /v1/signup: nombre, correo y biografía juntos, para que la respuesta reúna todo lo encontrado sobre esa persona. También puedes revisar cada campo por separado con POST /v1/email y POST /v1/name. Ninguno llama a un modelo por defecto, y /v1/email nunca lo hace: un correo está en una lista o no lo está.

¿Puedo bloquear los correos desechables?

Sí. Un correo de un proveedor desechable puntúa 0,9 en spam, que con las líneas de serie es un block, con el motivo (en inglés, como todos los de la API) "Throwaway email provider: the address will not exist in an hour." La lista se mantiene con la instalación y no se publica, porque publicarla es dar el mapa de lo que pasa.

¿Detecta los alias de Gmail con puntos y con el signo más?

Gmail ignora los puntos y todo lo que va detrás de un más, así que n.o.m.b.r.e+1@gmail.com y nombre@gmail.com son el mismo buzón. Ese alias puntúa 0,45 en spam, justo por debajo de la línea de revisión de serie (0,50), así que se señala sin retener el registro; una política con el spam en 0,45 lo retiene. La respuesta da la forma canónica en facts.email.canonical. Los puntos solo se quitan en Google: en otros proveedores son dos personas distintas. La etiqueta con más se quita siempre en la forma canónica, y en otros proveedores puntúa todavía menos (0,40), porque la gente cuidadosa también la usa.

¿Comprueba que el dominio pueda recibir correo?

Busca un registro MX o A y guarda la respuesta un día. Un dominio sin ninguno de los dos puntúa 0,75 en spam y queda en revisión. La respuesta dice facts.email.mx true o false, y no lo incluye cuando no ha mirado, por ejemplo si el DNS no respondió: no haber mirado nunca se presenta como un no.

¿Qué es una pasarela de correo a SMS y por qué se rechaza?

Es una dirección con un número de teléfono en el dominio de una operadora: lo que se envía ahí llega como SMS a ese móvil. Nadie se registra con una. Un bot la escribe en un formulario que manda un código por correo, y tu formulario se convierte en un envío gratuito de SMS a un desconocido. Puntúa 0,85 en spam y se rechaza.

¿Rechazará nombres reales que parecen raros?

Está hecho para no hacerlo. No hay longitud mínima más allá de un carácter, ni reglas de alfabeto, ni obligación de poner dos palabras, ni diccionario, así que Ng, Li o un nombre en cualquier escritura pasan. Lo que detecta es un relleno como test o asdf, teclas seguidas, seis o más letras latinas sin vocal y un enlace o un correo metido en el campo del nombre, que sí se rechaza.

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.