CS IllustratedStart practising

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.

WhatWhere it livesHow long
Draft code and which exercises are solvedThe student’s own browser, on their own deviceon the deviceUntil 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 connectionThe student’s own browser, on their own deviceon the deviceUntil they clear their browser data
A salted, irreversible hash used only to count requests per hourOur databaseDeleted within one hour
Standard web server request logs, as every website on the internet keeps — including IP addresses, and containing no student workOur hosting providerProvider’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