Newark Board of Education
Student data privacy review
CS Illustrated is a practice site for AP Computer Science A, used by students at Technology High School. This page explains exactly how it works, what it stores, and why it cannot put student privacy at risk. It is written to be read in full by someone who does not work in software.
Last reviewed September 2026 · 180 labs across four AP CSA units
In short
The whole answer, up front
No accounts
There is no sign-in, no sign-up, and no roster. The application never learns a student name, email address, or student ID, because it never asks for one.
No student work is stored
Code a student writes is compiled, run, graded, and discarded inside a single request. It is never written to a database, a file, or a log.
No AI
Nothing in a student session involves an AI model, a chatbot, or a code assistant. Students type every line themselves and are graded by fixed tests.
Nothing to breach
The privacy guarantee is structural, not procedural. There is no store of student data to leak, subpoena, or misconfigure, because none is ever created.
The site holds no personally identifiable information about any student, because it never collects any. This is not a policy that could be changed by accident or a setting that could be misconfigured. There is no place in the system where such data could go.
Purpose
What students actually do here
A student opens a lab, reads a short problem, and writes a small Java program to solve it. They press Run, the program is compiled and tested against a set of example cases, and they are told which cases passed and which failed. Then they fix it and try again. That is the entire product.
It exists because the AP Computer Science A exam is written by hand, and the only reliable way to prepare is to write a great deal of code by hand. The site is structured to make that unavoidable: the editor refuses text pasted from outside it, so students cannot copy a solution in from elsewhere. The labs are practice, not assessment. Nothing here is graded for a report card, and no score is transmitted to anyone.
Artificial intelligence
Students do not use AI here
There is no chatbot, no code assistant, no autocomplete trained on a language model, and no AI feature of any kind in a student session. No student work is ever sent to an AI provider, and none is used to train any model. When a student presses Run, their code goes to a Java compiler and nowhere else.
Grading is entirely mechanical. Each exercise has a fixed list of inputs and the output expected for each one. The student program is run against that list and the results are compared exactly. There is no judgement, no model, and no interpretation involved — the same submission always produces the same result.
Retention
Everything that is stored anywhere
This table is exhaustive. Items marked on the device never reach us at all — they live in the student's own browser, the way a saved password or a shopping cart does.
| What | Where it lives | How long |
|---|---|---|
| Draft code and which exercises are solved | The student’s own browser, on their own deviceon the device | Until they clear their browser data |
| A random number the browser gives itself, so one student is not rate limited by a classmate on the same school connection | The student’s own browser, on their own deviceon the device | Until they clear their browser data |
| A salted, irreversible hash used only to count requests per hour | Our database | Deleted within one hour |
| Standard web server request logs, as every website on the internet keeps — including IP addresses, and containing no student work | Our hosting provider | Provider’s standard retention |
What is deliberately absent
No student names. No email addresses. No student identifiers. No passwords. No submitted code. No grades or scores. No behavioural analytics. No third-party trackers or advertising. No location data. No device fingerprinting.
Architecture
The technology, layer by layer
Four layers, from the student's screen down to storage. Each entry notes what it does and what it means for privacy.
What the student uses
- Any modern web browser
- No installation, no extension, no plugin, no account.
- A code editor built into the page
- Runs on the device. Blocks pasting so students type their own work.
- Browser local storage
- Where drafts and solved exercises live. Never transmitted anywhere.
The website
- Next.js on Vercel
- Serves the pages. Exercise pages are pre-built, so most visits touch no server logic at all.
- One endpoint that accepts code
- The single route that receives anything a student writes. It stores none of it.
- Rate limiting
- Bounds automated abuse of the compiler using irreversible hashes that expire hourly.
Where code runs
- AWS Lambda, network isolated
- The compiler sandbox. Placed in a private subnet with no route to the internet.
- A fresh workspace per run
- Wiped before every invocation, so no submission outlives the request that made it.
- Hard resource limits
- Ten seconds to compile, five to run, and a capped memory allowance.
Data
- Postgres, holding one table
- Contains only expiring hash counters for rate limiting. No student table exists.
- No file storage
- The application provisions no bucket, disk, or archive for student work.
- No analytics or advertising
- No third-party trackers, no advertising networks, no data brokers, no profiling.
Containment
How the compiler is kept harmless
Running code that students write is the one genuinely sensitive thing this application does. Six independent measures contain it.
- Placed in a private network with no internet gateway and no NAT, so it has no route out even if code tried to reach the network.
- Runs under a permission set that grants access to no database, no storage, and no other system in the account.
- Java features that touch the network, the filesystem, or the operating system are refused before compilation begins.
- Compilation is capped at ten seconds and execution at five, so no submission can run indefinitely.
- The workspace is deleted at the start of every invocation, so nothing from one student is visible to the next.
- Total simultaneous executions are capped, so no volume of traffic can exhaust the account.
These are properties of how the system is built and deployed, not settings an administrator toggles. Changing any of them would require deliberately rewriting and redeploying the infrastructure.
Questions are welcome
If the district needs detail beyond this page — a walkthrough of the code, a demonstration, or written answers for a formal review — please contact Azaharul Islam in the Computer Science department at Technology High School.
See the labs for yourself