v0.4.2Versión espejo de producción — mismo commit que noplag.com hoy

Detector de plagio de código abierto.

El único software de detección de plagio con un nivel en la nube para producción y un motor completamente open source. El mismo código que opera en noplag.com está disponible en GitHub en github.com/NoplagLabs/noplag-engine — puedes auditarlo, bifurcarlo o desplegarlo en tu propia infraestructura.

github.com/NoplagLabs/noplag-engineApache 2.012.400 estrellas
EL REPOSITORIO

El mismo commit que revisa en noplag.com es el commit en GitHub.

Sin ambigüedades de 'código abierto a medias'. Sin repositorio solo SDK con el motor cerrado. El chunker, el fingerprinter, la cascada de recuperación y el generador de informes están todos en el mismo repositorio Apache 2.0 que compila nuestro contenedor de producción.

noplag/enginePúblico
Estrella12.4kBifurcar892

El motor de detección de plagio que impulsa noplag.com — chunking, huellas winnowing, cascada de recuperación, alineación y ensamblaje de reportes. Apache 2.0.

LENGUAJE
Python · Rust
LICENCIA
Apache 2.0
CONTRIBUIDORES
38
COMMITS
2.847
ÚLTIMA VERSIÓN
v0.4.2 · hace 3 días
CI
passing · 412 tests
EL APUESTO

El código cerrado era un error, no una ventaja.

Todos los detectores de plagio antes de nosotros le pedían confiar en una caja negra. Confiar en el puntaje. Confiar en la metodología que no puede ver. Confiar en que el algoritmo no fue ajustado para sobredetectar su estilo de escritura. Nosotros tomamos la apuesta contraria.

01

Lo que no ve, no puede confiar

Un puntaje de similitud es un número sin procedencia adjunta. ¿Fue una coincidencia por solapamiento de frases, una suposición de paráfrasis, una alucinación del detector de IA? ¿Se calibró su estilo de escritura ESL? Los detectores cerrados no lo aclaran — porque su ventaja ES que usted no puede preguntar. No aceptamos eso como precio por la detección de plagio.

02

Producto de código abierto, no solo marketing de código abierto

El repositorio Apache 2.0 en github.com/NoplagLabs/noplag-engine no es solo un SDK cliente limitado con el algoritmo de comparación cerrado. El segmentador, el generador de huellas digitales winnowing, la cascada de recuperación, la alineación, la deduplicación y la generación de informes construyen el mismo contenedor Docker que se ejecuta en noplag.com. El nivel en la nube añade el corpus y los adaptadores de búsqueda web, no el motor.

03

Qué significa eso para usted

Lea el algoritmo antes de confiar en el resultado. Autoalbergue el motor en su propia infraestructura si sus documentos no pueden salir. Bifúrcalo si nuestra hoja de ruta no coincide con la suya. Audite cómo los intervalos de nivel de chunk se fusionan en una cifra de similitud — y disienta públicamente si encuentra un error.

LA ARQUITECTURA

Cascada de recuperación en cuatro capas. Diagrama, no metáfora.

Cada capa reduce el conjunto de candidatos con un equilibrio de coste-precisión de menos a más costoso. Cada capa está en el repo abierto. La nube suma el corpus + los adaptadores de búsqueda web.

L1ABIERTO

Huellas winnowing

Superposición de 64 bits indexada con GIN en columnas bigint[] en Postgres. Filtra miles de millones de fragmentos candidatos a los top-K en O(log n) por consulta.

latencia~12ms / chunk
dóndeengine/retrieval/l1_winnowing.py
L2ABIERTO

MinHash LSH — hoja de ruta v1.1

Jaccard aproximado para detectar copias parafraseadas o con cambios leves, cubriendo lo que L1 no detecta tras un reescrito real. Ya diseñado, aún no implementado — no está en el repositorio público.

latenciav1.1
dóndeaún no está en el repositorio público
L3ABIERTO

Embeddings de oraciones — hoja de ruta v1.2

Vectores SBERT multilingües con pgvector ANN, para detectar reescrituras semánticamente equivalentes y copias entre idiomas. Ya diseñado, aún no implementado — no está en el repositorio público.

latenciav1.2
dóndeaún no está en el repositorio público
LWABIERTO

Verificación web en vivo

Los adaptadores de Google y Brave resuelven los candidatos top-N en la web en tiempo real. Esta función se ejecuta en la capa cloud para los planes de pago; los adaptadores no están incluidos en el paquete open source.

latencia~2.2s / doc
dóndenivel en la nube — no está en el repositorio público
v1.0 incluye L1 + LW. L2 sigue en v1.1. L3 en v1.2. El orden de la cascada es configurable en noplag.toml.
EL NÚCLEO ABIERTO

Qué está realmente en el repo.

No es un SDK. No es solo un cliente. El algoritmo de detección completo — misma estructura de paquetes que genera nuestro contenedor de producción.

engine/main
  • src/noplag_engine/el paquete
  • chunking/chunkers por oración y ventana deslizante
  • fingerprinting/hashes winnowing 64-bit
  • retrieval/L1 disponible hoy; L2 / L3 / LW aún no incluidos en este paquete
  • l1_winnowing.pyGIN-overlap top-K
  • fingerprint_df.pyestadísticas de frecuencia de documento
  • stop_list.pyfiltro de huellas digitales no discriminativas
  • alignment/fusión de intervalos seed-and-extend
  • workflows/Pipeline de revisión orquestado por Temporal
  • api/Superficie HTTP FastAPI
  • reports/ensamblaje de resaltado + exportación a PDF
  • tests/412 pruebas · pytest + property + integración
  • migrations/Migraciones de esquema Alembic
  • Dockerfilemisma imagen que en producción
  • docker-compose.ymlGuía rápida para autoalojar
  • LICENSEApache 2.0
  • README.mdarquitectura + guía rápida
QUÉ ESTÁ ABIERTO
Chunking + fingerprintingcada algoritmo, cada umbral
Recuperación L1 / L2 / L3lógica de puntuación + indexado
Adaptadores web en vivolimitación de tasa + parsing + ranking
Alineaciónseed-and-extend, fusión de intervalos, deduplicado
Ensamblado de reportesintervalos resaltados, matemática de similitud
HTTP API + esquemasmodelos Pydantic, rutas FastAPI
QUÉ ES SOLO CLOUD
El corpusOpenAlex + Common Crawl + Noplag Database (más de 250M docs)
Claves API de búsqueda webGoogle y Brave; BYO en autohospedado
Facturación + autenticaciónStripe + Better Auth; reemplazable en autoalojado
Postgres gestionado + TemporalHetzner + operaciones Coolify
  • 12.4kEstrellas GitHub
  • 38contribuidores
  • 2.847commits
  • 412tests en CI
  • 1:1paridad cloud / repo
AUDITORÍA

Tres cosas que un verificador cerrado no le deja revisar.

01 · EL ALGORITMO

Los detectores cerrados devuelven un número. El umbral de “plagio vs. paráfrasis”, el peso entre n-gram y similitud semántica, cómo los fragmentos cortos se descartan — todo en código cerrado. No puede reproducirlo, su auditor no lo puede revisar, y un error nunca tiene commit de referencia.

Lo que sí puede verificar: cada umbral, peso y regla de deduplicado está en src/noplag_engine/. Abra una versión etiquetada en GitHub, encuentre el commit exacto que corrió su revisión (devuelto en el header X-Engine-Commit) y revise la matemática línea a línea.

02 · EL FLUJO DE DATOS

¿A dónde fue su documento al enviarlo? ¿Fue almacenado? ¿Se sumó a una base de envíos que otros pueden consultar? ¿Se mandó a una IA de terceros? Los detectores cerrados responden esto en marketing. No le muestran la ruta de código.

Lo que sí puede verificar: el paquete workflows/ muestra cada punto donde se lee, hashea, persiste y borra un envío. La carpeta migrations/ indica cada columna tocada. El paquete api/ expone lo que sale del motor en red — y dónde puede cambiarlo en su fork.

03 · EL PUNTAJE DE SIMILITUD

Un “63% similar” de caja negra es un veredicto sin procedencia. ¿Fue un 63% en 12 fragmentos cortos? ¿Un solo párrafo largo? ¿Un fallo de recuperación? ¿Su estilo ESL se pondera distinto? Llega la cifra, pero no la matemática que la generó.

Lo que sí puede verificar: alignment/ expone la fusión de intervalos seed-and-extend. reports/ muestra el colapso de matches por fragmento al porcentaje global. Puede volver a ejecutar el mismo documento contra el mismo commit, mirar cada intervalo y cuestionar la matemática en un issue público.

CLOUD vs AUTOALOJADO

Dos formas de correr el mismo motor.

La mayoría de los usuarios elige la capa cloud en noplag.com: Postgres gestionado, Temporal y Coolify, el corpus ya está indexado y los adaptadores de búsqueda web incluyen claves API válidas. La opción autohospedada es para organizaciones cuyos documentos no pueden salir de su infraestructura: clona el repositorio, usa tu propio Postgres y Redis, conecta el motor a tu propio corpus (o importa OpenAlex y Common Crawl desde nuestro manifiesto) y configura tus propias claves de Google/Brave. Mismo motor, mismos algoritmos, mismo formato de informe; solo cambia el límite operativo.

Lea la guía de autoalojado
PREGUNTAS FRECUENTES

Las preguntas reales que recibimos sobre código abierto.

¿El motor es realmente el mismo código que noplag.com?
Sí. El Dockerfile del repo construye la imagen de contenedor que desplegamos. Toda revisión en noplag.com ejecuta ese commit, y el hash del commit está en la cabecera X-Engine-Commit para fijar la revisión a una versión etiquetada. La capa cloud suma el corpus y las claves API web — no cambia el algoritmo.
¿Por qué Apache 2.0 y no AGPL o BSL?
Apache 2.0 permite a las organizaciones autoalojar sin carga legal. AGPL nos obligaría a usar la licencia como barrera, lo opuesto a nuestra apuesta — queremos que auditores y bifurcadores usen esto. Lo defendible es el corpus y la operación, no el algoritmo.
¿Puedo autoalojar sin usar la capa cloud?
Sí. Clona el repositorio, ejecuta `docker compose up`, usa tu propio Postgres y Redis, e importa el manifiesto de corpus público (OpenAlex, Common Crawl y Wikipedia). Los adaptadores de Layer W son modulares: puedes añadir tus propias claves API de Google/Brave o prescindir de Layer W si solo necesitas coincidencias en corpus indexados.
¿Noplag Database (documentos enviados por usuario) es abierto?
No. Noplag Database contiene envíos de usuarios y se mantiene solo en la nube — liberar bajo Apache-2.0 documentos ajenos sería incorrecto. Los envíos van por defecto; puede rechazarlo y desactivar. El código de consulta del motor es abierto; los datos no.
¿El detector de IA será abierto también?
Sí. La detección de IA llegará pronto — está en la hoja de ruta v1.2, no disponible en el lanzamiento — y se publicará abierta como todo lo demás: la integración del modelo de perplexity, la calibración, el ajuste de sesgo ESL y las bandas de veredicto estarán en src/noplag_engine/ai_detection/. Los pesos del modelo también son de código abierto (Qwen 2.5 1.5B 4-bit en el nivel CPU, Mistral 7B opcional en el nivel GPU). No hay ningún detector de terceros cerrado en el grafo de llamadas.
¿Cómo reporto errores en el algoritmo de comparación?
Abra un issue público de GitHub con un documento reproducible (o describa el falso positivo). Triage abierto. Temas de seguridad a security@noplag.com.
¿La capa cloud siempre tendrá el mismo algoritmo que el repo?
Sí, por política. Si alguna vez necesitáramos implementar una función exclusiva en la nube para un experimento, estaría detrás de un feature flag con valor predeterminado de código abierto; el algoritmo principal permanece en main. Si eso cambiara, lo verías en el header de respuesta y en las notas públicas de la versión.
¿Cuál es el modelo de contribución?
Issues y PR pequeños bienvenidos. Cambios grandes — nuevas capas, corpus o idiomas — comience con un RFC publico para hablar arquitectura. No aceptamos PR que añadan dependencias cerradas, telemetría u obligaciones de proveedor.
¿Hay self-host gestionado? (Apache 2.0 gestionado)
No por ahora. El plan Enterprise en cloud ofrece infraestructura dedicada y BYO-corpus, que cubre la mayoría de motivos. Un self-host gestionado está en la hoja v1.2.
¿Esto cambia el precio?
No. Cloud se tarifa por corpus + operación (Hetzner + Coolify + Stripe + Lago + uso de API búsqueda web), no por licencia del motor. Autoalojado es gratis. Ambos siguen así.

Lea el algoritmo. Luego ejecútelo usted mismo.

github.com/NoplagLabs/noplag-engine está bajo Apache 2.0. La nube en noplag.com ejecuta el mismo commit. Ambos caminos ofrecen el mismo motor: elige el límite operativo que se adapte a tus datos.

Detector de plagio de código abierto — Motor Apache 2.0 — Noplag