Local-first plagiarism and text-reuse evidence toolkit
Project description
Alcove Dux
Local-first similarity evidence for teachers and academic reviewers — you decide what it means.
Alcove Dux is an open-source, local-first toolkit for K-12 teachers, instructors, academic reviewers, and small institutions that need transparent similarity review without sending student documents to a closed service.
Alcove Dux is a review aid, not a verdict machine. It helps teachers and reviewers inspect similarity evidence on their own hardware, and unlike Turnitin and similar cloud services, Alcove Dux never uploads student documents to a third-party server. Similarity evidence stays on your device and is reviewed by you, not scored by an algorithm and stored by a vendor.
⚡ Start Here
- Live Demo: try a browser-only sample scan.
- Quick Start: install locally and run a sample scan.
- Institutional Deployment: run Alcove Dux on a shared departmental or school server.
- Demo Walkthrough: run the sample demo and inspect the generated report.
- CLI Usage: command reference for pairwise scans, corpus scans, semantic matching, and calibration.
- Reports: JSON, public HTML, local review HTML, and report privacy behavior.
- Privacy Boundary: what Alcove Dux does and does not expose.
🔎 What It Does
An instructor uploads two documents, runs a scan, and gets a side-by-side highlighted report — locally, without sending text to any server.
No command line is required for the main workflow: open the local dashboard in your browser, upload documents, and review the results there.
🖥️ Dashboard preview
The local dashboard is the main review surface for most teachers and academic reviewers:
- Local FastAPI dashboard for document upload, scan creation, and side-by-side review.
- Text, Markdown, PDF, and DOCX ingestion.
- Exact, fuzzy, semantic, and reranked similarity evidence.
- Pairwise scans and local-corpus scans from the CLI.
- Screen-reader-friendly dashboard and HTML reports with privacy-preserving exports.
👩🏫 Who This Is For
- Classroom teachers reviewing student submissions.
- Instructors comparing assignments against known sources.
- Department or institution-level academic integrity reviewers.
- Small schools and colleges that want local control instead of cloud document retention.
🏫 Institutional deployment quick path
For a shared departmental or school installation, the fastest path is usually Docker Compose on an inward-facing server:
docker compose up --build
Then open http://localhost:8000 on that machine, or place it behind your institution's normal internal access controls. See Deployment Notes for role separation, retention, and hosted-mode guidance.
📚 Documentation
- Research Notes and Benchmarks
- AI-use stigma note: why self-reported AI use is biased in education and what that changes for Alcove Dux.
- Configuration, Datasets, and Multilingual Detection
- Vector Stores and Alcove Plugin Plan
- Deployment Notes, Hosted Hardening, and Repository Setup
- Roadmap and Demo Video Script
📦 Package
The package name is alcove-dux, the import path is alcove_dux, and the CLI command is alcove-dux. The core engine can be used as a CLI, Python library, local FastAPI app, or Alcove plugin.
🤝 Contributing
Alcove Dux is maintained as a public open-source project. Contributions are encouraged to keep the local-first privacy boundary intact, include tests for behavioral changes, and keep private corpora, generated reports, model caches, and vector indexes out of public commits.
See CONTRIBUTING.md for setup, checks, and privacy rules.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alcove_dux-0.1.1.tar.gz.
File metadata
- Download URL: alcove_dux-0.1.1.tar.gz
- Upload date:
- Size: 505.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
135279b42822c24ff77d2236ea73b02f1d35e37b05e7794db0b66b22505e250b
|
|
| MD5 |
8e29562d25cd20faaa5eeb2a754d7c9d
|
|
| BLAKE2b-256 |
fad25cd3604c77ae8629822d1812983f9e6cd7119b04ce1e39de787a4802ff21
|
Provenance
The following attestation bundles were made for alcove_dux-0.1.1.tar.gz:
Publisher:
release.yml on Spitfire-Cowboy/alcove-dux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alcove_dux-0.1.1.tar.gz -
Subject digest:
135279b42822c24ff77d2236ea73b02f1d35e37b05e7794db0b66b22505e250b - Sigstore transparency entry: 1952820735
- Sigstore integration time:
-
Permalink:
Spitfire-Cowboy/alcove-dux@62d519530308bba36016a65de6cd7a6b70644bad -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/Spitfire-Cowboy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@62d519530308bba36016a65de6cd7a6b70644bad -
Trigger Event:
release
-
Statement type:
File details
Details for the file alcove_dux-0.1.1-py3-none-any.whl.
File metadata
- Download URL: alcove_dux-0.1.1-py3-none-any.whl
- Upload date:
- Size: 51.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfeaf70511e441b1e67e4da99d8676ac028ffb09c88fea6547bb181af99f1ca7
|
|
| MD5 |
409013179868120bfc3bd71b59b12b52
|
|
| BLAKE2b-256 |
3a5bfa44e4a2176d1f087724cb37a4b8c6c905f7e41698be80cb12ac4d1353cb
|
Provenance
The following attestation bundles were made for alcove_dux-0.1.1-py3-none-any.whl:
Publisher:
release.yml on Spitfire-Cowboy/alcove-dux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alcove_dux-0.1.1-py3-none-any.whl -
Subject digest:
bfeaf70511e441b1e67e4da99d8676ac028ffb09c88fea6547bb181af99f1ca7 - Sigstore transparency entry: 1952820840
- Sigstore integration time:
-
Permalink:
Spitfire-Cowboy/alcove-dux@62d519530308bba36016a65de6cd7a6b70644bad -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/Spitfire-Cowboy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@62d519530308bba36016a65de6cd7a6b70644bad -
Trigger Event:
release
-
Statement type: