Code plagiarism checks inside your LMS.
Connect Codequiry to Canvas, Blackboard, Moodle, Brightspace or Schoology once. Students submit code from the assignment they already have, every submission arrives with their name on it, and each one is checked against classmates, GitHub and the web, and for AI-written code.
Free trial, cancel anytime. The integration is included on every plan.
Every major LMS, over the open LTI standard.
Codequiry is an LTI tool, so it plugs into any platform that supports LTI 1.3 or LTI 1.1 with the same endpoints. Teaching in more than one? One Codequiry account covers all of them.
Canvas
LTI 1.3 and 1.1Cloud and self-hosted. An admin registers Codequiry with one link, or an instructor adds it at the course level over LTI 1.1, including on free Canvas accounts.
Canvas setup guideBlackboard Learn and Ultra
LTI 1.3 and 1.1Register Codequiry at developer.blackboard.com, approve it in the Administrator Panel, and add it to a course as an LTI link or through deep linking.
Application ID and deployment ID, entered onceMoodle
LTI 1.3 and 1.1Moodle 4 registers Codequiry by itself from the registration link. Older installs use manual LTI 1.3 or the 1.1 key and secret.
Site administration, External tool, Manage toolsD2L Brightspace
LTI 1.3Register the tool dynamically under Manage Extensibility, create a deployment, and add the launch link or the deep linking placement.
Standard registration also supportedSchoology
LTI 1.3 and 1.1Add Codequiry as an LTI app from the App Center with the endpoints below, then attach it to an assignment.
Client ID from the app you createSakai, Open edX, others
LTI 1.1 or 1.3Any LTI-compliant platform works with the same launch URL, key and secret, or the LTI 1.3 endpoints.
Generic LTI tool registrationGoogle Classroom
Portal linkClassroom is not LTI based. Post the shareable submission link as a material or assignment attachment; students submit with their name and email.
Or bulk upload what you collectedNo LMS at all
Portal linkEmail the submission link, put it in the syllabus, or drop the files you already have into a check. The report is the same either way.
Up to 500 submissions per uploadAutomate it
API and CLIDepartments that run the same import every term script it with the API, the CLI or the desktop app.
Developer APIConnect once. Then it is just another assignment.
About ten minutes the first time. After that, adding Codequiry to an assignment takes the same clicks as any other external tool in your LMS.
Connect your LMS
LTI 1.3: open the folder's LMS Integration page in Codequiry, copy the registration link, and have your LMS admin paste it into the LMS. Codequiry registers itself: client ID, keys and endpoints are exchanged automatically.
LTI 1.1: generate a key and secret on the same page and add Codequiry as an app at the course level. No admin needed.
Attach it to an assignment
Set the assignment's submission type to External Tool and choose Codequiry. Your LMS asks which Codequiry check to feed. Pick an existing one, or let Codequiry create a check named after the assignment.
Due, unlock and lock dates come across with the launch, in the student's own timezone.
Students submit, you run the check
Students open the assignment and upload their code. The LMS passes their name, email and ID, so nothing is typed and nobody signs up.
When the submissions are in, run the check. Peer, web and GitHub, and AI-written code detection run on the same upload.
One link, no copying IDs back and forth.
LTI 1.3 dynamic registration is supported by Canvas, Moodle 4 and Brightspace. Your admin pastes the link, the two systems exchange everything, and the page in Codequiry turns green by itself. Blackboard and older installs use the manual endpoints below, with Canvas and Blackboard presets that fill in the issuer and key URLs for you.
The LMS does the bookkeeping.
Every launch carries what Codequiry needs to file the submission in the right place and keep the deadline honest.
Every endpoint, in one place.
The registration link, the LTI 1.1 key and secret, and this same list are on the folder's LMS Integration page inside Codequiry, each with a copy button and a per-platform guide.
LTI 1.3 (LTI Advantage)
LTI 1.1
Under the hood: LTI 1.3 launches are OpenID Connect with RS256-signed tokens, per-launch state and nonce, and keys published on both sides. LTI 1.1 launches are OAuth 1.0a HMAC signatures with a five-minute timestamp window and single-use nonces. Both are verified on every launch.
Three checks on the same upload.
Collecting the code is the easy half. Once it is in the folder, one click runs three independent detection passes and links every match to its source.
Peer-to-peer similarity
Every submission against every other in the check, and against earlier terms when you keep prior checks in the folder. Survives renaming, reordering and comment stripping.
Web and GitHub checking
Public repositories, Stack Overflow, tutorial and homework help sites. Every match links back to the page it came from, so the evidence is one click away.
AI-written code detection
Per-file scoring for code generated by ChatGPT, Claude, GitHub Copilot and Gemini, with the signals shown so you review evidence rather than a bare number.
LMS integration, answered.
Canvas, Blackboard Learn and Ultra, Moodle, D2L Brightspace, Schoology, Sakai, Open edX and any other platform that speaks LTI 1.3 or LTI 1.1. Google Classroom and platforms without LTI use the shareable student portal link, or a bulk upload of the submissions you already collected.
For LTI 1.3, yes, once. An admin pastes one registration link into the LMS and Codequiry registers itself. For LTI 1.1, no. An instructor adds Codequiry at the course level with a key and secret from the folder's LMS Integration page, which also works on free Canvas accounts.
No. The LMS identifies the student on launch and passes their name and email, so they land on the submission page already attributed and simply upload their code.
The course title, the assignment title, the due date, the unlock and lock dates and the student's timezone. Each LMS course gets its own Codequiry folder and each LMS assignment its own check, created on the first launch or picked by the instructor through deep linking.
Yes. The submission page loads inside the LMS frame, and students also get a one-click option to open it in a full tab. In Canvas, ticking "Load this tool in a new tab" on the assignment is the smoothest option for large uploads.
Yes. LTI 1.3 uses OpenID Connect with RSA-signed JWTs, per-launch state and nonce checks, and public keys published on both sides. LTI 1.1 uses OAuth 1.0a HMAC signatures with a shared secret; Codequiry adds timestamp and nonce replay protection on top. Both keep submissions private to your folder. See the privacy policy.
Nothing extra. The integration is part of every plan, including the free trial. Checks are priced per assignment, and departments and institutions can license per course or per seat. See pricing.
Put it in front of your next assignment.
Create a folder, open its LMS Integration page, and hand the registration link to your admin. Or add it yourself over LTI 1.1 this afternoon. Either way the first submissions arrive attributed and ready to check.
Tools and sources referenced on this page
Codequiry is compared with these tools above. Each link goes to the project's official site so you can check the claims yourself.
-
MOSS (Measure of Software Similarity)
Stanford University, Alex Aiken
Free academic similarity service from 1994 that fingerprints code with winnowing and reports matching passages between submissions.
-
JPlag
Karlsruhe Institute of Technology, open source
Open-source token-based detector that compares programs with Greedy String Tiling and produces a similarity report per pair.
-
Dolos
Ghent University, open source
Open-source similarity tool built on tree-sitter parsing, with a web interface for exploring clusters of related submissions.
-
Turnitin
Turnitin, LLC
Commercial text plagiarism and AI-writing detection for essays and documents. It is not designed for source code.