Weft for teachers

Run an essay exam you can stand behind.

Setup in six steps. Every check explained in plain language next to its innocent reading. And a straight answer on what is collected and what never is.

Requires macOS 26.1 or later. Apple silicon and Intel builds.

Pre-exam checks SESSION 482913
  • Running applications None detected
  • Displays attached 1
  • Virtual machine No signals
  • Screen sharing Zoom is open

    Close it and your writing will resume automatically.

Begin exam Warnings advise. A student can always enter.
The checks screen a student passes through before writing. Warnings are advisory at this stage; the locked exam handles live violations.

Getting started

From download to a live exam.

Six steps. Students join a class once; every assignment after that reaches them automatically.

  1. Download and open Weft

    Apple silicon Macs use the Apple silicon build; Intel Macs use the Intel build. Both links always fetch the newest release; older versions live on the releases page.

    Limit. Weft is macOS only and requires macOS 26.1 or later. There is no Windows or web version of the exam itself; the browser portal is for students' outlines and returned work.

  2. Sign in with your school Google account

    Weft opens your default browser, where your existing school session usually makes this one click. Teachers are recognized from your school's teacher directory and land on the class home; if you ever find yourself in the student view, use Switch View in the menu bar.

  3. Create a class

    Name it, and Weft mints a six-character join code such as K7Q4MR. Look-alike characters are left out of the alphabet, so nothing reads as both a letter and a digit. The code stays in the class header whenever you need it again.

  4. Share the join code

    Students join a class once. Every assignment you launch afterwards appears for them automatically; there is no per-assignment code to write on the board. You can also send email invitations from the class roster.

  5. Build the assignment

    The Library holds your assignments across all classes. Each one is a title, the essay prompt, an optional word limit, an optional time limit in minutes, a spell-check toggle, the approved-websites list for the locked reference browser, and the outline switch (see Outlines). If you set a time limit it is enforced, not displayed: at zero the essay saves itself and locks.

    Limit. Autocorrect is off no matter what you choose. An exam editor must never silently rewrite a student's words; spell-check, where you allow it, only underlines.

  6. Launch from the class

    Start the session and Weft shows a six-digit session code; enrolled students also receive a notification email. Students enter the code, pass the checks, and write. One session can be live at a time, and the live roster is for watching only: grading lives in the session history (see Grading), where it keeps, whether you come back in an hour or a month.

The checks

Every check. And its innocent reading.

Before a student can begin, Weft sweeps the machine once; while they write, it sweeps again about every five seconds. Each check is listed here with what it actually inspects and the benign explanation a flag can carry, because a flag is a question for you to ask, not an answer handed to you.

  • Running applications

    What it inspects

    The names and identifiers of running apps, matched against roughly forty-five known screen-sharing, remote-control, and recording tools. Names only; never window contents, never documents.

    A benign reading

    A Zoom or a recorder left open after an earlier class trips the same flag as deliberate sharing. During the exam, writing simply pauses behind a notice and resumes on its own the moment the app closes.

  • Remote control

    What it inspects

    The stricter tier of the same scan: tools that let another person drive the Mac, including Apple Screen Sharing and iPhone Mirroring.

    A benign reading

    School IT installs remote-management software on managed laptops. Ask before assuming.

  • Displays

    What it inspects

    A count of attached displays. More than one is a soft warning, since a second screen can hold what the first one hides.

    A benign reading

    A classroom projector, or the external monitor at home that never gets unplugged.

  • Virtual machine

    What it inspects

    Hardware model strings, CPU flags, and the device tree, looking for hypervisor traces. A virtual machine could hold a second, unwatched desktop underneath the exam.

    A benign reading

    Benign cases are rare here, which is exactly why the flag deserves a conversation rather than a conclusion.

  • Network

    What it inspects

    Where this check runs, the student's public address is compared with yours from launch. Only a concrete mismatch is ever labeled; the current macOS app does not run this check at all, so a roster row with no network line means the check never ran, and an unperformed check is never a warning.

    A benign reading

    A different network does not mean cheating. A phone hotspot or a second campus network puts an honest student off-network in seconds.

  • Leaving the exam

    What it inspects

    The exam holds full screen and disables app switching, the Dock, and Force Quit. A focus loss past the first settling seconds pauses writing behind a calm return-to-your-exam screen until the student clicks Resume, and their row carries the status.

    A benign reading

    An accidental trackpad gesture can pull up Mission Control. The student resumes with one click; nothing they wrote is touched.

Outlines

Let them bring an outline.

One outline per student per assignment. Replaceable until writing begins.

Some essays deserve prepared notes. Flip Allow an outline on an assignment and each student may attach one outline, as a PDF or Word (.docx) file, through the student portal in any browser. No install, and the upload takes under a minute.

Students can upload, review, and replace the outline as many times as they like, right up to the moment they begin writing. Once they enter the exam, the outline locks. While you grade, the latest version sits beside the essay, so you read the plan and the prose together.

Limit. Weft stores and shows the outline exactly as uploaded. It does not compare it with the essay, score it, or scan it; whether the outline and the essay come from the same mind is your judgment to make.

Learn more about the student portal
Assignment setting
  • Allow an outline (PDF or .docx)

What the student sees in the portal

outline-gatsby.pdf replaced 8:42 AM Replace
Locked at 9:01 AM, when writing began.
Replaceable until writing begins; the latest version appears beside the essay while you grade.

Grading

Come back days later.

Grading does not happen on the live roster, and it does not expire when a session closes.

  1. Open the session history

    When you are ready: open the class, open its session history, and press Review essays on any row, the open one included. Each session keeps its own essays, so last month's exam is as reachable as this morning's.

  2. Read in three columns

    The review screen is three columns: your students on the left with their status and word count, the essay in the middle on plain paper, and the score and final comment on the right. Page through with Back and Next; edits are saved before every page turn, so a score typed and then paged past is never lost.

  3. Save privately, or Share

    Save keeps a grade private to you. Share releases it to the student. The first release sends a notification email that never includes the score; re-saving shared work updates it without sending another email, and saving privately never takes back something already shared.

    Limit. Weft computes no grade. The score field is yours; blank means feedback only, and half points are accepted.

Period 3 English JOIN CODE K7Q4MR
  • American dream essay, draft 2 Jun 4 · code 715206 · Open Review essays
  • American dream essay May 28 · code 482913 · Closed Review essays
  • Poetry response May 12 · code 660104 · Closed Review essays
Every history row keeps Review essays, open or closed. Grading is keyed to the session you choose, never to whatever happens to be live.

Privacy & trust

What is collected. And what never is.

Straight answers, in the same plain language students see before they enter.

What does Weft monitor during a session?

Four things, during the session only: the names of running applications, checked against the sharing and remote-control list; the number of attached displays; virtual-machine signals; and, where the network check runs, whether the student's public address matches yours. The sweep runs once before entry and about every five seconds while the student writes. Weft also saves the essay itself as the student types it, which is how the work reaches you for grading.

What is never monitored?

The camera: the macOS app contains no webcam capture, so nothing is photographed unless a school explicitly enables such an option in a future deployment. Audio: never recorded. Keystrokes: Weft saves the essay text in the exam editor and nothing else; there is no keylogger, and nothing a student types outside the exam is ever seen. Files on the machine: never read. The screen as pictures: the current app takes no screenshots and records no video. And anything at all after the session closes: monitoring ends the moment the student submits or you end the session.

Where does the data live?

Essays and their autosaved drafts, check results, outlines, and grades are rows in a Postgres database hosted by Supabase. Reference files sit in a private storage bucket and are fetched through short-lived signed links. Every read and write is tied to the signed-in school Google account by row-level security in the database itself, not merely by the interface.

Who can see a student's work?

You see the sessions you ran: rosters, check results, essays, outlines, and the grades you write. A student sees their own work, and a grade only after you share it; the release email tells them a grade is ready and never contains the score.

Do students know what is collected?

Yes, twice. Before entering, the checks screen shows the same two columns this page does: what it checks, and what it never does. After submitting, a data ledger lists exactly what was captured during their session and notes that monitoring stopped at submit.

What happens when something flags?

Almost nothing, automatically. A detected sharing app pauses writing until it closes; everything else lands as a status in your roster. Weft never ejects a student, never deducts points, never accuses. Only a concrete finding is flagged, an unperformed check is never a warning, and every flag travels with its benign explanation, because a false accusation harms a real student more than a missed borderline case ever would.

Can a student lose work to a bad connection?

The editor autosaves as they type, and the save label tells the truth: if a save fails, it says so and retries until one lands. Submitting requires a successful final save; if the network is down at that moment, the student stays in the locked exam with their work intact while Weft keeps retrying. Work is never discarded to make an error message go away.

Get Weft.

Evidence, not verdicts. A flag is a question for you to ask, not an answer handed to you. The grading stays yours.

macOS 26.1 or later. Apple silicon and Intel builds. The browser portal is for students' outlines and returned work.