v0.4.2Productie-mirror-release — zelfde commit als noplag.com vandaag

Open-source plagiaatcontrole.

Het enige plagiaatdetectieproduct met een productiecloudlaag en een volledig open-source engine. Dezelfde code die draait op noplag.com staat op GitHub via github.com/NoplagLabs/noplag-engine — controleer, fork of self-host het.

github.com/NoplagLabs/noplag-engineApache 2.012.400 sterren
DE REPOSITORY

Zelfde commit als bij noplag.com is de commit op GitHub.

Geen ‘open-source-achtig’ compromis. Geen repo met alleen een SDK terwijl de engine gesloten blijft. De chunker, fingerprinter, retrieval cascade en rapportgenerator zitten allemaal in dezelfde Apache 2.0-repo die onze productiecontainer bouwt.

noplag/enginePubliek
Ster12.4kFork892

De plagiaatdetectie-engine achter noplag.com — chunking, winnowing fingerprints, retrieval-laag, alignment en rapportage. Apache 2.0.

TAAL
Python · Rust
LICENTIE
Apache 2.0
CONTRIBUTOREN
38
COMMITS
2.847
LAATSTE RELEASE
v0.4.2 · 3 dagen geleden
CI
passing · 412 tests
DE WEDENSCHAP

Gesloten bron was een fout, geen feature.

Elke plagiaatchecker voor ons vroeg u een black box te vertrouwen. Vertrouw op de score. Vertrouw de methodiek die u niet kunt zien. Vertrouw dat het algoritme niet op uw schrijfstijl is getuned. Wij kozen het tegenovergestelde.

01

Wat u niet kunt zien, kunt u niet vertrouwen

Een similariteitsscore is een getal zonder herkomst. Was het een zin-overlap, een parafrase-inschatting, een AI-detectorhallucinatie? Is uw ESL-schrijfstijl meegenomen? Gesloten checkers zeggen het niet — hun voordeel ís dat u het niet kunt vragen. Wij accepteren dat niet als prijs voor plagiaatdetectie.

02

Open-source product, geen open-source marketing

De Apache 2.0-repository op github.com/NoplagLabs/noplag-engine is geen uitgeklede client-SDK waarbij het matching-algoritme gesloten blijft. De chunker, winnowing-fingerprinter, retrieval-cascade, alignering, deduplicatie en rapportopbouw zitten allemaal in dezelfde Docker-container als op noplag.com. De cloudlaag voegt het corpus en de webzoekadapters toe, niet de engine.

03

Wat dat voor u betekent

Lees het algoritme voor u de score vertrouwt. Self-host de engine als uw documenten niet de deur uit mogen. Fork als onze roadmap niet aansluit. Bekijk hoe chunk-intervals tot een similarity-getal samenkomen — en spreek ons publiek tegen als u een bug vindt.

DE ARCHITECTUUR

Retrieval-cascade met vier lagen. Diagram, geen metafoor.

Elke laag beperkt de kandidaten met een trade-off tussen kosten en nauwkeurigheid. Elke laag staat in de open repo. De cloud voegt het corpus en de web-search adapters toe.

L1OPEN

Winnowing fingerprints

GIN-geïndexeerde 64-bit overlap op bigint[]-kolommen in Postgres. Filtert miljarden chuncks tot top-K in O(log n) per query.

latentie~12ms / chunk
locatieengine/retrieval/l1_winnowing.py
L2OPEN

MinHash LSH — v1.1 roadmap

Benadering van Jaccard voor parafrases en licht aangepaste kopieën, om te vinden wat L1 mist na echt herschrijven. Ontworpen, nog niet geïmplementeerd — staat niet in de publieke repository.

latentiev1.1
locatienog niet in de publieke repository
L3OPEN

Sentence embeddings — v1.2 roadmap

Meertalige SBERT-vectoren met pgvector ANN, voor semantisch gelijke herschrijvingen en kopiëren tussen talen. Ontworpen, nog niet geïmplementeerd — staat niet in de publieke repository.

latentiev1.2
locatienog niet in de publieke repository
LWOPEN

Live web-verificatie

Google- en Brave-adapters zoeken top-N kandidaten in real time op het live web. Draait in de cloudlaag voor betaalde abonnementen; de adapters maken geen deel uit van het open-sourcepakket.

latentie~2,2s / doc
locatiecloudlaag — niet in de publieke repository
v1.0 levert L1 + LW. L2 volgt in v1.1. L3 in v1.2. Cascadevolgorde instelbaar in noplag.toml.
DE OPEN CORE

Wat daadwerkelijk in de repo zit.

Geen SDK-wrapper. Geen uitgeklede client. Het detectie-algoritme volledig — zelfde packagestructuur als onze productiecontainer.

engine/main
  • src/noplag_engine/het pakket
  • chunking/zin- en sliding-window-chunkers
  • fingerprinting/winnowing 64-bit hashes
  • retrieval/L1 nu; L2 / L3 / LW nog niet in dit pakket
  • l1_winnowing.pyGIN-overlap top-K
  • fingerprint_df.pydocumentfrequentiestatistieken
  • stop_list.pyfilter voor niet-discriminatieve fingerprints
  • alignment/seed-and-extend-intervalsamenvoeging
  • workflows/Tijdgestuurde check-pijplijn
  • api/FastAPI HTTP-interface
  • reports/highlight-samenstelling + PDF-export
  • tests/412 tests · pytest + property-based + integratie
  • migrations/Alembic-schema-migraties
  • Dockerfiledezelfde image als productie
  • docker-compose.ymlsnelle zelf-host startgids
  • LICENSEApache 2.0
  • README.mdarchitectuur + snelle start
WAT IS OPEN
Chunking + fingerprintingelke algoritme, elke drempel
L1 / L2 / L3 retrievalscoring + indexeerlogica
Live-web adaptersrate-limit + parsing + ranking
Alignmentseed-and-extend, interval merge, dedupe
Rapportagehighlight-intervallen, similariteitsberekening
HTTP API + schemasPydantic-modellen, FastAPI-routes
WAT IS ENKEL VOOR CLOUD
Het corpusOpenAlex + Common Crawl + Noplag Database (150M+ docs)
Web-search API-sleutelsGoogle + Brave; BYO bij self-hosting
Billing + authStripe + Better Auth; vervangbaar bij self-host
Managed Postgres + TemporalHetzner + Coolify-ops
  • 12.4kGitHub-sterren
  • 38contributors
  • 2.847commits
  • 412tests in CI
  • 1:1cloud / repo pariteit
DE AUDIT TRAIL

Drie dingen die een gesloten checker u niet laat controleren.

01 · HET ALGORITME

Gesloten checkers leveren een getal. De grens tussen ‘plagiaat’ en parafrase, de weging n-gram-overlap / semantiek, hoe korte matches afvallen — allemaal achter gesloten code. Niet te reproduceren, niet te auditen, bugs zonder referentiecommit.

Wat u wel kunt verifieren: elke drempel, elke weging, elke dedupe-regel leeft in src/noplag_engine/. Open een getagde release op GitHub, vind de commit die bij uw check hoort (X-Engine-Commit header), en lees de berekening regel voor regel.

02 · DE DATAFLOW

Waar ging uw document na inzenden heen? Werd het opgeslagen? In een gedeelde DB geplaatst? Naar een externe AI-detector gestuurd? Gesloten checkers noemen het in marketing, niet in code.

Wat u kunt verifieren: package workflows/ toont alle plekken waar een inzending wordt gelezen, gehasht, opgeslagen, verwijderd. De map migrations/ toont elke kolom. Package api/ laat zien wat het netwerk uitgaat — en waar u het kunt aanpassen.

03 · DE SIMILARITEITSSCORE

Een black-box ‘63% gelijk’ is een oordeel zonder herkomst. Was het door 12 fragmenten? Of een lange paragraaf? Een retrieval-fout? Krijgt uw ESL-stijl een andere weging? Het getal komt, de logica niet.

Wat u kunt verifieren: alignment/ toont het seed-and-extend samensmelten van intervallen. reports/ toont hoe per-chunk-matches in de percentage uitvallen. U kunt hetzelfde document, op dezelfde commit, natesten, elke interval inzien, en publiek beargumenteren.

CLOUD vs SELF-HOST

Twee manieren om dezelfde engine te draaien.

De meeste gebruikers kiezen voor de cloudlaag op noplag.com — beheerde Postgres + Temporal + Coolify, het corpus is al geïndexeerd en de webzoek-adapters zijn voorzien van geldige API-sleutels. De self-host-optie is bedoeld voor organisaties waarvan documenten het eigen netwerk niet mogen verlaten: kloon de repo, gebruik eigen Postgres en Redis, wijs de engine naar het eigen corpus (of importeer OpenAlex + Common Crawl via onze manifest), en koppel eigen Google/Brave-sleutels. Zelfde engine, zelfde algoritmes, zelfde rapportvorm — alleen de operationele grens verschuift.

Lees de self-host-gids
FAQ

De open-sourcevragen die wij daadwerkelijk krijgen.

Is de engine daadwerkelijk dezelfde code als noplag.com?
Ja. De Dockerfile in de repo bouwt het containerimage dat we uitrollen. Elke check bij noplag.com draait die commit; de commit-hash verschijnt in de X-Engine-Commit response header zodat u een check aan een release kunt koppelen. De cloudlaag voegt het corpus en de web-search API-sleutels toe — geen ander algoritme.
Waarom Apache 2.0 en geen AGPL of BSL?
Apache 2.0 stelt organisaties in staat zelf te hosten zonder juridische ballast. AGPL zou leiden tot license-as-moat, en dat past niet bij de wedenschap: we willen juist dat auditors en forkers het gebruiken. Wat beschermt, is het corpus en de operationele laag; niet het algoritme.
Kan ik volledig self-hosten zonder cloud-laag?
Ja. Kloon de repo, voer `docker compose up` uit, gebruik eigen Postgres + Redis en importeer het public-corpus manifest (OpenAlex + Common Crawl + Wikipedia). De Layer-W-adapters zijn verwisselbaar — voeg eigen Google/Brave API-sleutels toe, of sla Layer W over als alleen matching op geïndexeerd corpus nodig is.
Is de Noplag Database (ingediende gebruikersdocumenten) open?
Nee. Noplag Database bevat gebruikersinzendingen en blijft op cloud — Apache 2.0 op andermans documenten zou fout zijn. Documenten worden standaard toegevoegd; u kunt dat uitzetten. De enginecode die het benadert is open; de data niet.
Komt de AI-detector ook open?
Ja. AI-detectie komt binnenkort — staat op de v1.2-roadmap, niet direct bij lancering — en wordt net als de rest open-source geleverd: de perplexity-modelkoppeling, de calibratie, de ESL-biascorrectie en de verdictbands zijn allemaal te vinden in src/noplag_engine/ai_detection/. De modelgewichten zelf zijn open-source (Qwen 2.5 1.5B 4-bit op het CPU-niveau, optioneel Mistral 7B op het GPU-niveau). Geen gesloten detector van derden in de call graph.
Hoe meld ik een bug in het matching-algoritme?
Open een publiek GitHub-issue met een minimal-reproducer (of omschrijf de false-positive interval). We triageren open. Security-issues naar security@noplag.com eerst.
Zal de cloud altijd hetzelfde algoritme als de repo gebruiken?
Ja, volgens beleid. Als we ooit cloud-only functionaliteit voor een experiment zouden moeten leveren, gebeurt dat achter een feature flag met een open-source standaard; het hoofdalgoritme blijft in main. Als we daarvan afwijken, zie je dat in de response header en in de openbare releasenotes.
Wat is het contributiemodel?
Issues en kleine PRs zijn welkom. Hebt u iets groots — nieuwe laag, corpusadapter, nieuwe taal? Start een RFC-issue zodat architectuuroverleg openbaar gebeurt. We accepteren geen PRs met gesloten dependencies, phone-home-telemetrie of vendor lock-in.
Is er een hosted self-host? (Managed Apache 2.0-deployment)
Nog niet. Het Enterprise cloud-abonnement biedt dedicated infrastructuur en BYO-corpus, wat de meeste vragen afvangt. Een managed-self-host staat voor v1.2 op de roadmap.
Wat betekent dit voor de prijs?
Niets. Cloud wordt geprijsd op corpus + operationeel (Hetzner + Coolify + Stripe + Lago + web-search API-kosten), niet engine-licentie. Self-host is gratis. Beide blijven zo.

Lees het algoritme. Draai het zelf.

github.com/NoplagLabs/noplag-engine is Apache 2.0. De cloud op noplag.com draait op exact dezelfde commit. Beide opties leveren dezelfde engine — kies de operationele grens die past bij jouw data.

Open-source plagiaatcontrole — Apache 2.0-engine — Noplag