v0.4.2Produktiv-Mirror Release — gleicher Commit wie noplag.com heute

Open-Source-Plagiatsprüfer.

Das einzige Plagiatserkennungsprodukt mit einer produktiven Cloud-Stufe und einer vollständig Open-Source-Engine. Der gleiche Code, der auf noplag.com läuft, ist auf GitHub unter github.com/NoplagLabs/noplag-engine verfügbar — prüfen, forken, selbst hosten.

github.com/NoplagLabs/noplag-engineApache 2.012.400 Stars
DAS REPOSITORY

Der Commit, den Sie bei noplag.com prüfen, ist der Commit auf GitHub.

Kein „Open-Source-ähnliches“ Taktieren. Kein reines SDK-Repository mit geschlossener Engine. Chunker, Fingerprinter, Retrieval-Kaskade und Report-Assembler sind alle im selben Apache 2.0 Repository enthalten, das unseren Produktionscontainer baut.

noplag/engineÖffentlich
Star12.4kFork892

Die Plagiatserkennungs-Engine hinter noplag.com — Chunking, Winnowing Fingerprints, Retrieval-Kaskade, Alignment, und Report-Assembly. Apache 2.0.

SPRACHE
Python · Rust
LIZENZ
Apache 2.0
MITWIRKENDE
38
COMMITS
2.847
LETZTES RELEASE
v0.4.2 · vor 3 Tagen
CI
passing · 412 Tests
DIE WETTE

Geschlossener Code war ein Bug, kein Feature.

Jeder Plagiatsprüfer vor uns verlangte Vertrauen in eine Blackbox. Vertrauen in den Score. Vertrauen in eine Methodik, die Sie nicht sehen dürfen. Vertrauen, dass der Algorithmus Ihren Stil nicht extra übermarkiert. Wir haben die Gegenwette gemacht.

01

Was Sie nicht sehen, können Sie nicht prüfen

Ein Similarity-Score ist eine Zahl ohne Herkunft. Satzüberlappung? Paraphrasenerkennung? KI-Detektor-Halluzination? War Ihr ESL-Schreibstil eingepreist? Geschlossene Checker geben darauf keine Antwort — genau das ist ihr Vorteil. Wir akzeptieren das nicht als Preis für Plagiatserkennung.

02

Open-Source-Produkt, kein Open-Source-Marketing

Das Apache 2.0-Repository unter github.com/NoplagLabs/noplag-engine ist kein abgespecktes Client-SDK mit einem Matching-Algorithmus im geschlossenen Quellcode. Chunker, Winnowing-Fingerprinter, Retrieval-Kaskade, Alignment, Deduplizierung und Berichtserstellung bauen gemeinsam denselben Docker-Container, der auf noplag.com läuft. Die Cloud-Stufe ergänzt das Korpus und die Websuche-Adapter, nicht die Engine.

03

Was das für Sie bedeutet

Lesen Sie den Algorithmus, bevor Sie dem Score vertrauen. Self-Hosting auf eigener Infrastruktur möglich, falls Dokumente nicht raus dürfen. Fork, falls unsere Roadmap abweicht. Prüfen Sie, wie Chunk-Intervalle zum Similarity-Wert verrechnet werden — und widersprechen Sie uns öffentlich, falls Sie einen Fehler sehen.

DIE ARCHITEKTUR

Vierstufige Retrieval-Kaskade. Diagramm, keine Metapher.

Jede Stufe filtert die Kandidaten mit einem günstigeren-teurerem Genauigkeits-Tradeoff. Jede Ebene ist im offenen Repo. Die Cloud ergänzt das Corpus + Websuche.

L1OFFEN

Winnowing Fingerprints

GIN-indizierte 64-Bit-Overlaps auf bigint[] Spalten in Postgres. Filtert Milliarden Chunks zu Top-K in O(log n) pro Query.

Latenz~12ms / Chunk
woengine/retrieval/l1_winnowing.py
L2OFFEN

MinHash LSH — v1.1 Roadmap

Ungefähre Jaccard-Ähnlichkeit für paraphrasierte und leicht veränderte Kopien, um das zu erkennen, was L1 nach echter Umformulierung übersieht. Konzipiert, aber noch nicht implementiert — ist nicht im öffentlichen Repository.

Latenzv1.1
wonoch nicht im öffentlichen Repository
L3OFFEN

Satz-Embeddings — v1.2 Roadmap

Mehrsprachige SBERT-Vektoren mit pgvector ANN, für semantisch äquivalente Umformulierungen und Kopien über Sprachgrenzen hinweg. Konzipiert, aber noch nicht implementiert — ist nicht im öffentlichen Repository.

Latenzv1.2
wonoch nicht im öffentlichen Repository
LWOFFEN

Live-Web-Überprüfung

Google- und Brave-Adapter gleichen die Top-N-Kandidaten in Echtzeit mit dem Live-Web ab. Läuft in der Cloud-Stufe für kostenpflichtige Pläne; die Adapter sind nicht Teil des Open-Source-Pakets.

Latenz~2,2s / Dokument
woCloud-Stufe — nicht im öffentlichen Repository
v1.0 enthält L1 + LW. L2 folgt in v1.1. L3 in v1.2. Reihenfolge der Kaskade konfigurierbar in noplag.toml.
DAS OPEN CORE

Was wirklich im Repo liegt.

Kein SDK-Wrapper. Kein beschnittener Client. Der Erkennungsalgorithmus komplett — gleiches Paketlayout wie im Produktionscontainer.

engine/main
  • src/noplag_engine/das Paket
  • chunking/Satz- + Sliding-Window-Chunker
  • fingerprinting/Winnowing 64-Bit-Hashes
  • retrieval/L1 aktuell; L2 / L3 / LW noch nicht in diesem Paket
  • l1_winnowing.pyGIN-Overlap Top-K
  • fingerprint_df.pyDokumentfrequenz-Statistiken
  • stop_list.pyFilter für nicht-diskriminierende Fingerprints
  • alignment/Seed-and-Extend-Intervallzusammenführung
  • workflows/Zeitlich gesteuerte Prüf-Pipeline
  • api/FastAPI HTTP-Schnittstelle
  • reports/Hervorhebungsfunktion und PDF-Export
  • tests/412 Tests · pytest, Property- und Integrationstests
  • migrations/Alembic-Schema-Migrationen
  • Dockerfileidentisches Image wie in Produktion
  • docker-compose.ymlSelf-Hosting Schnellstart
  • LICENSEApache 2.0
  • README.mdArchitektur und Schnellstart
WAS OFFEN IST
Chunking + Fingerprintingjeder Algorithmus, jede Schwelle
L1 / L2 / L3 RetrievalScoring- + Index-Logik
Live-Web-AdapterRate-Limit + Parsing + Ranking
AlignmentSeed-and-Extend, Intervall-Merge, Dedupe
Report-AssemblyHighlight-Intervalle, Similarity-Mathematik
HTTP API + SchemasPydantic-Modelle, FastAPI-Routen
WAS NUR CLOUD IST
Das CorpusOpenAlex + Common Crawl + Noplag Database (150M+ Dokumente)
Websuche-API-KeysGoogle + Brave; eigene Anbindung bei Self-Hosting
Abrechnung + AuthStripe + Better Auth; bei Self-Host ersetzbar
Managed Postgres + TemporalHetzner + Coolify Ops
  • 12.4kGitHub Stars
  • 38Mitwirkende
  • 2.847Commits
  • 412Tests in CI
  • 1:1Cloud / Repo Parität
DER AUDIT TRAIL

Drei Dinge, die ein geschlossener Checker nicht prüfbar macht.

01 · DER ALGORITHMUS

Geschlossene Checker liefern nur eine Zahl. Die Schwelle für „Plagiat vs Paraphrase“, Gewichtung von N-Gramm-Überlappung und Semantik, wie Short-Matches rausfallen — alles hinter geschlossenem Code. Sie können es nicht reproduzieren, Ihr Auditor sieht es nicht, Bugs haben keinen Commit als Referenz.

Was Sie prüfen können: jede Schwelle, jedes Gewicht, jede Dedupe-Regel steht in src/noplag_engine/. Öffnen Sie ein getaggtes Release auf GitHub, finden Sie den Commit Ihres Prüf-Runs (kommt im X-Engine-Commit Header), lesen Sie die Mathematik.

02 · DER DATENFLUSS

Wohin ging Ihr Dokument nach Einreichung? Gespeichert? In eine geteilte Kunden-DB? An einen Dritthersteller-KI-Check gesendet? Geschlossene Checker können das im Marketingtext beantworten. Nicht im Codepfad.

Was Sie prüfen können: workflows/ zeigt alle Orte, wo eine Einsendung gelesen, gehasht, gespeichert und gelöscht wird. migrations/ zeigt alle betroffenen Spalten. api/ zeigt, was das System über das Netzwerk verlässt — und wo Sie das in einem Fork ändern können.

03 · DER SIMILARITY-SCORE

Eine Blackbox-Aussage „63 % ähnlich“ ist ein Urteil ohne Herkunft. 63 % aus 12 Fragmenten? Ein langer Absatz? Retrieval-Miss? Wird Ihr Stil anders gewichtet? Der Score kommt, Mathematik bleibt verborgen.

Was Sie prüfen können: alignment/ zeigt das Seed-and-Extend-Merge. reports/ visualisiert, wie Chunk-Matches zum Gesamtergebnis werden. Sie können das gleiche Dokument gegen denselben Commit erneut prüfen, jedes Intervall inspizieren und der Mathematik öffentlich widersprechen.

CLOUD vs SELF-HOST

Zwei Wege, die gleiche Engine zu betreiben.

Die meisten Nutzer wählen die Cloud-Stufe auf noplag.com – verwaltetes Postgres + Temporal + Coolify, das Korpus ist bereits indexiert, und die Websuche-Adapter enthalten gültige API-Schlüssel. Der Self-Hosting-Weg ist für Organisationen, deren Dokumente die eigene Infrastruktur nicht verlassen dürfen: Repository klonen, eigenes Postgres und Redis bereitstellen, die Engine auf das eigene Korpus ausrichten (oder OpenAlex + Common Crawl aus unserem Manifest importieren) und eigene Google-/Brave-Schlüssel hinterlegen. Gleiche Engine, gleiche Algorithmen, gleicher Berichtsaufbau – nur die operative Grenze verschiebt sich.

Zum Self-Host-Guide
FAQ

Die Open-Source-Fragen, die uns tatsächlich gestellt werden.

Ist die Engine wirklich der gleiche Code wie bei noplag.com?
Ja. Das Dockerfile im Repo baut das gleiche Containerimage wie in Produktion. Jeder Check bei noplag.com läuft auf diesem Commit, der Commit-Hash bleibt im X-Engine-Commit-Header der Antwort. Das Cloud-Tier bringt Corpus und Websuche-Keys — nicht einen anderen Algorithmus.
Warum Apache 2.0 und nicht AGPL oder BSL?
Apache 2.0 erlaubt Self-Hosting, ohne hohe Hürden durch Rechtsprüfung. AGPL würde zur Lizenz-Verteidigung zwingen und steht im Widerspruch zu unserem Ansatz — wir wollen, dass Auditoren und Forks das wirklich nutzen können. Schutz liegt im Corpus und Betriebskontext, nicht im Algorithmus.
Kann ich komplett ohne Cloud-Tier selbst hosten?
Ja. Repository klonen, `docker compose up` ausführen, eigenes Postgres + Redis bereitstellen und das Manifest für öffentliche Korpora (OpenAlex + Common Crawl + Wikipedia) importieren. Die Layer-W-Adapter sind modular – eigene Google-/Brave-API-Schlüssel einbinden oder Layer W ganz weglassen, wenn nur indexierte Korpora abgeglichen werden sollen.
Ist das Noplag Database (eingereichte Nutzerdokumente) offen?
Nein. Noplag Database enthält Nutzereinreichungen und bleibt im Cloud-Tier — Apache 2.0 auf fremde Dokumente anzuwenden wäre nicht akzeptabel. Eingereichte Dokumente werden standardmäßig hinzugefügt; Sie können das abwählen. Die Engine, die darauf zugreift, ist offen; die Daten nicht.
Was ist mit dem KI-Detektor — wird der offen sein?
Ja. KI-Erkennung kommt bald — sie steht auf der v1.2 Roadmap, ist aber zum Start noch nicht verfügbar — und wird wie alles andere offen bereitgestellt: Die Perplexity-Modellverschaltung, die Kalibrierung, die Anpassung für ESL-Bias und die Ergebnisbänder liegen alle in src/noplag_engine/ai_detection/. Die Modellgewichte selbst sind Open Source (Qwen 2.5 1.5B 4-bit für die CPU-Stufe, optional Mistral 7B für die GPU-Stufe). Kein geschlossener Drittanbieter-Detektor im Aufrufgraph.
Wie melde ich einen Bug im Matching-Algorithmus?
Öffnen Sie ein öffentliches GitHub-Issue mit einem Minimalbeispiel (oder beschreiben Sie das False-Positive-Intervall). Wir triagieren offen. Sicherheitsprobleme gehen zuerst an security@noplag.com.
Shippt das Cloud-Tier immer den gleichen Algorithmus wie das Repo?
Ja, das ist unsere Richtlinie. Falls wir jemals cloud-exklusive Funktionen für ein Experiment bereitstellen müssten, wären diese hinter einem Feature-Flag mit Open-Source-Standardwert; der maßgebliche Algorithmus bleibt in main. Falls wir davon abweichen, sehen Sie das im Response-Header und in den öffentlichen Release Notes.
Wie sieht das Beitragssystem aus?
Issues und kleine PRs willkommen. Für größere Änderungen — neue Retrieval-Stufen, Corpus-Adapter, Sprachen — zuerst RFC-Issue starten, damit Architektur offen diskutiert wird. Keine PRs mit Closed-Source-Abhängigkeiten, Telemetrie oder Vendor-Lockin.
Gibt es Self-Host als Hosting-Service? (Managed Apache 2.0 Deployment)
Noch nicht. Für Enterprise gibt es auf dem Cloud-Tier dedizierte Infrastruktur und BYO-Corpus — das deckt die meisten Fälle ab. Ein Managed-Self-Host Angebot liegt auf der v1.2-Roadmap.
Hat das Einfluss auf die Preise?
Nein. Der Cloud-Tier-Preis basiert auf Corpus und Betrieb (Hetzner + Coolify + Stripe + Lago + Websuche-API-Kosten), nicht auf Engine-Lizenz. Self-Host ist kostenfrei. Beide bleiben so.

Lesen Sie den Algorithmus. Und führen Sie ihn selbst aus.

github.com/NoplagLabs/noplag-engine steht unter Apache 2.0. Die Cloud bei noplag.com läuft mit demselben Commit. Beide Wege bieten denselben Engine – wählen Sie die Betriebsgrenze, die zu Ihren Daten passt.

Open-Source Plagiatsprüfung — Apache 2.0 Engine — Noplag