오픈 소스 표절 검사기입니다.
프로덕션 클라우드 티어와 완전한 오픈 소스 엔진을 모두 제공하는 유일한 표절 검사 제품입니다. noplag.com에서 실행되는 코드와 동일한 코드가 GitHub의 github.com/NoplagLabs/noplag-engine에 공개되어 있습니다. 직접 검토하고, 포크하고, 자체 인프라에 배포할 수 있습니다.
noplag.com에서 확인하는 것과 동일 커밋이 GitHub에도 있습니다.
‘오픈 소스처럼 보이는’ 마케팅이 아닙니다. 엔진을 비공개로 두고 SDK만 공개하는 저장소가 아닙니다. 청크 처리, 핑거프린트 생성, 검색 단계, 리포트 조립 등 모든 기능이 프로덕션 컨테이너를 빌드하는 동일한 Apache 2.0 저장소에 포함되어 있습니다.
noplag.com에 동작하는 표절 탐지 엔진 — 청킹, 위노잉 핑거프린트, 검색, 정렬, 리포트 조립. Apache 2.0.
- LANGUAGE
- Python · Rust
- LICENSE
- Apache 2.0
- CONTRIBUTORS
- 38
- COMMITS
- 2,847
- LATEST RELEASE
- v0.4.2 · 3일 전
- CI
- passing · 412 tests
비공개가 기능이 아니라 버그였습니다.
이전의 모든 표절 검사기는 귀하에게 블랙박스를 신뢰하라고 요구했습니다. 점수를 믿으십시오. 보이지 않는 방법론을 믿으십시오. 알고리즘이 귀하의 글쓰기 스타일을 과도하게 표시하도록 조정되지 않았다는 것도 믿으십시오. 우리는 정반대의 선택을 했습니다.
보이지 않으면, 신뢰도 할 수 없습니다
유사성 점수는 근원이 없는 숫자입니다. 문장 중첩 일치인지, 의역 추정인지, AI 검출 환각인지 분명하지 않습니다. ESL 스타일이 반영됐는지도 알 수 없습니다. 비공개 제품은 말하지 않습니다 — 질문할 수 없는 게 그들의 장점이기 때문입니다. 우리는 표절 검사의 대가로 그 조건을 받아들이지 않습니다.
오픈 소스 제품, 오픈 소스 마케팅이 아닙니다.
github.com/NoplagLabs/noplag-engine의 Apache 2.0 저장소는 매칭 알고리즘을 비공개로 숨긴 클라이언트 SDK가 아닙니다. 청커, 위노잉 핑거프린터, 검색 캐스케이드, 정렬, 중복 제거, 리포트 생성까지 모두 noplag.com에서 실행되는 동일한 Docker 컨테이너로 빌드됩니다. 클라우드 티어는 코퍼스와 웹 검색 어댑터만 추가하며, 엔진 자체는 아닙니다.
귀하에게 의미하는 것
점수를 신뢰하기 전에 알고리즘을 읽어보십시오. 문서가 인프라 밖으로 나가면 안 될 경우, 직접 엔진을 운영할 수 있습니다. 우리의 로드맵과 다르면 포크도 가능합니다. 청크 단위 구간이 어떻게 유사성 수치로 합쳐지는지 직접 감시하고, 버그 발견 시엔 공개 이슈에서 이의를 제기할 수 있습니다.
4계층 검색 단계적 처리. 은유가 아닌 실제 다이어그램.
각 계층은 비용-정확도 트레이드오프로 후보군을 좁힙니다. 모든 계층이 공개 저장소에 있습니다. 클라우드는 코퍼스와 웹 검색 어댑터만 추가합니다.
Winnowing fingerprints
Postgres의 bigint[] 컬럼에서 GIN 인덱스로 64비트 중첩 필터. 수십억 후보 청크를 쿼리당 O(log n) 내로 상위 K개로 필터링.
MinHash LSH — v1.1 로드맵
실제 재작성 이후 L1에서 놓치는 부분을 잡기 위해, 패러프레이즈 및 경미한 변형 복사본에 대해 근사 Jaccard를 적용합니다. 설계는 완료되었으나 아직 구현되지 않았으며, 공개 저장소에는 포함되어 있지 않습니다.
문장 임베딩 — v1.2 로드맵
다국어 SBERT 벡터와 pgvector ANN을 활용해 의미적으로 동등한 재작성 및 다국어 표절을 탐지합니다. 설계는 완료되었으나 아직 구현되지 않았으며, 공개 저장소에는 포함되어 있지 않습니다.
실시간 웹 검증
Google 및 Brave 어댑터는 실시간으로 웹에서 상위 N개의 후보를 조회합니다. 유료 플랜의 클라우드 티어에서만 제공되며, 이 어댑터들은 오픈소스 패키지에는 포함되어 있지 않습니다.
noplag.toml에서 설정 가능합니다.저장소에 실제로 들어있는 것.
SDK 래퍼가 아닙니다. 축소된 클라이언트도 아닙니다. 전체 탐지 알고리즘 — 프로덕션 컨테이너와 동일 패키지 구조.
- src/noplag_engine/패키지 본체
- chunking/문장 + 슬라이딩윈도우 청커
- fingerprinting/위노잉 64비트 해시
- retrieval/현재는 L1만 제공; L2 / L3 / LW는 아직 이 패키지에 포함되어 있지 않음
- l1_winnowing.pyGIN-겹침 Top-K
- fingerprint_df.py문서 빈도 통계
- stop_list.py비판별적 핑거프린트 필터
- alignment/시드-확장 구간 병합
- workflows/시간 기반 오케스트레이션 검사 파이프라인
- api/FastAPI HTTP 인터페이스
- reports/강조 표시 조립 및 PDF 내보내기
- tests/412개 테스트 · pytest, 속성, 통합 테스트
- migrations/Alembic 스키마 마이그레이션
- Dockerfile운영 환경과 동일한 이미지
- docker-compose.yml셀프호스팅 빠른 시작
- LICENSEApache 2.0
- README.md아키텍처 및 빠른 시작
- 12.4kGitHub stars
- 38기여자
- 2,847커밋
- 412CI 테스트
- 1:1클라우드 / 저장소 동일성
비공개 검사기가 절대 열어줄 수 없는 세 가지.
비공개 제품은 점수만 제공합니다. 표절/의역 경계임계, n-그램 중첩과 의미 유사간의 가중치, 짧은 일치값 처리는 모두 닫힌 코드입니다. 재현 불가, 감시 불가, 버그의 기준 커밋도 없습니다.
귀하께서 검증할 수 있는 것: 모든 임계값, 가중치, 중복 제거 규칙이 src/noplag_engine/에 있습니다. GitHub에서 태그된 릴리스를 열고, 귀하의 확인이 실행된 정확한 커밋(X-Engine-Commit 헤더 반환)을 찾은 후 한 줄씩 수학 식을 읽을 수 있습니다.
제출 뒤 귀하의 문서는 어디로 갔습니까? 저장되었는가, 타인에게 노출되는 공유 DB에 들어갔는가, 3자 AI 검출업체로 전송된 적이 있는가? 비공개 제품은 마케팅 문구로만 답할 수 있습니다. 코드 경로는 보여주지 않습니다.
귀하께서 검증할 수 있는 것: workflows/ 패키지는 문서가 어디서 읽히고 해시/저장/삭제되는지 모두 보여줍니다. migrations/ 폴더는 변경되는 컬럼을 보여줍니다. api/ 패키지는 무엇이 네트워크를 통해 나가는지, 포크에서 어디서 경계를 교체할 수 있는지 드러납니다.
블랙박스식 ‘63% 유사’는 추적 불가능 결과입니다. 12개의 짧은 조각 합산인지, 긴 단락 단일값인지, 검색 오탐인지 확실하지 않습니다. ESL 스타일 반영 여부도 불분명합니다. 점수만 나오고 수식은 없습니다.
귀하께서 검증할 수 있는 것: alignment/는 시드-확장 구간 병합을 공개합니다. reports/는 청크별 일치가 전체 백분율로 합쳐지는 과정을 보여줍니다. 동일 커밋에서 동일 문서를 재실행하고, 모든 구간을 조사하고, 수식에 동의하지 않으면 공개 GitHub 이슈에서 이의를 제기할 수 있습니다.
동일 엔진을 실행하는 두 방식.
대부분의 사용자는 noplag.com의 클라우드 티어를 선택합니다. 관리형 Postgres, Temporal, Coolify가 제공되며, 코퍼스는 이미 색인되어 있고 웹 검색 어댑터도 유효한 API 키와 함께 제공됩니다. 셀프호스팅은 문서가 외부로 나갈 수 없는 조직을 위한 경로입니다. 저장소를 복제하고, 자체 Postgres와 Redis를 준비한 뒤, 엔진을 자체 코퍼스에 연결하거나, 제공된 매니페스트로 OpenAlex와 Common Crawl을 가져올 수 있습니다. Google/Brave API 키도 직접 연결해야 합니다. 엔진, 알고리즘, 리포트 형식은 동일하며, 운영 경계만 달라집니다.
자체 호스팅 가이드 읽기실제로 자주 받는 오픈 소스 관련 질문입니다.
- 엔진이 정말 noplag.com과 같은 코드입니까?
- 그렇습니다. 저장소 내 Dockerfile이 저희가 배포하는 컨테이너 이미지를 빌드합니다. noplag.com의 모든 점검은 그 커밋을 사용하며, 커밋 해시는 X-Engine-Commit 응답 헤더에 반환되어 릴리스 버전에 점검을 고정할 수 있습니다. 클라우드 티어는 코퍼스와 웹 검색 API 키만 추가합니다 — 알고리즘은 동일합니다.
- 왜 Apache 2.0이고 AGPL이나 BSL이 아닌가요?
- Apache 2.0는 조직이 별도 법적 검토 없이 자체 호스팅할 수 있게 합니다. AGPL은 라이선스 띄우기 방어구도가 되어 우리의 기조와 맞지 않습니다 — 실사용 감시자, 포커가 실제로 쓰길 원합니다. 방어적 요소는 코퍼스와 운영 계층이지, 알고리즘이 아닙니다.
- 클라우드 티어 없이 완전 자체 호스팅이 가능한가요?
- 네. 저장소를 복제하고 `docker compose up`을 실행한 뒤, 직접 준비한 Postgres와 Redis를 사용하고, 공개 코퍼스 매니페스트(OpenAlex, Common Crawl, Wikipedia)를 가져오면 됩니다. Layer-W 어댑터는 플러그인 방식이므로, Google/Brave API 키를 직접 추가하거나, 색인 코퍼스 매칭만 필요하다면 Layer W를 생략할 수 있습니다.
- Noplag Database(제출 사용자 문서)는 공개 대상인가요?
- 아닙니다. Noplag Database에는 사용자 제출물이 들어 있으므로 클라우드 티어에서만 저장합니다 — 타인의 문서를 Apache-2.0으로 배포하는 것은 명백히 잘못입니다. 기본적으로 제출 문서는 추가되나, 귀하는 해당 기능을 비활성화할 수 있습니다. 해당 엔진 쿼리 코드는 공개지만, 데이터는 아닙니다.
- AI 검출기도 공개되나요?
- 네, AI 탐지 기능이 곧 추가될 예정입니다. v1.2 로드맵에 포함되어 있으며 출시 시점에는 적용되지 않지만, 다른 모든 기능과 마찬가지로 오픈 소스로 제공됩니다. perplexity 모델 연결, 보정, ESL 편향 조정, 판정 구간 모두 src/noplag_engine/ai_detection/에 포함됩니다. 모델 가중치 역시 오픈 소스입니다(Qwen 2.5 1.5B 4-bit는 CPU 티어, 선택적으로 Mistral 7B는 GPU 티어에서 사용). 호출 그래프에 비공개 서드파티 탐지기는 포함되지 않습니다.
- 일치 알고리즘의 버그는 어떻게 제보합니까?
- 최소 재현 문서(또는 오탐 구간 설명)로 공개 GitHub 이슈를 여십시오. 저희는 공개적으로 분류·처리합니다. 보안 이슈는 security@noplag.com 우선 연락 주십시오.
- 클라우드 티어도 항상 같은 알고리즘을 제공합니까?
- 정책상 항상 오픈 소스입니다. 실험을 위해 클라우드 전용 동작이 필요하다면, 오픈 소스가 기본값인 기능 플래그로 분리됩니다. 공식 알고리즘은 항상 main에 남아 있습니다. 만약 이를 위반한다면, 응답 헤더와 공개 릴리스 노트에서 확인하실 수 있습니다.
- 기여 모델은 어떻게 됩니까?
- 이슈와 소규모 PR 환영합니다. 대규모 변경(새 검색계층, 코퍼스 어댑터, 언어 추가 등)은 먼저 RFC 이슈를 열어 아키텍처 논의가 공개로 남도록 합니다. 비공개 라이브러리, 원격 분석, 벤더 락인 추가 PR은 받지 않습니다.
- 호스팅된 셀프호스트(Managed Apache 2.0 배포)도 있나요?
- 아직 없습니다. 클라우드 티어의 엔터프라이즈 플랜에선 전용 인프라와 BYO-코퍼스를 제공합니다. 대부분의 문의는 이걸로 해결됩니다. 관리형 자체호스팅 SKU도 v1.2 로드맵에 있습니다.
- 이 라이선스가 가격 책정에 미치는 영향은?
- 영향 없습니다. 클라우드 티어는 코퍼스와 인프라 비용(Hetzner + Coolify + Stripe + Lago + 웹 검색 API) 기준으로 가격이 책정됩니다, 엔진 라이선스 때문이 아닙니다. 자체 호스팅은 무료이며, 둘 다 계속 그렇습니다.
알고리즘을 읽으십시오. 직접 실행해 보십시오.
github.com/NoplagLabs/noplag-engine는 Apache 2.0 라이선스입니다. noplag.com의 클라우드도 동일한 커밋을 사용합니다. 어떤 방식을 선택해도 동일한 엔진을 사용할 수 있습니다. 데이터 운영 범위에 맞게 선택하세요.