Assessment.software · Built into the Homeroom platform · no public self-serve signup yet

The classroom assessment engine, wired into the roster you already run.

Most testing platforms are a separate silo: a new login for the student, a new roster you re-key, a new export you reconcile against the gradebook by hand. That trade makes sense for a state accountability test bought from a certified vendor.

This is the other shape, for the tests a teacher actually writes. Author a form from a standards-tagged bank, publish it frozen, assign it to a class or a student with a real window, let a student sit it through the SAME roster and consent wall the rest of the platform uses, grade it deterministically with a human standing behind every essay and media score, and finalize a result that reaches the gradebook over the platform’s existing grade-passback spine — not a second channel built just for this.

And it refuses two things on purpose: it does not watch a student through a camera, and it will not let an unaccepted AI draft become a grade. Those are the first two rows of our own comparison table below, and the incumbents win the proctoring one outright.

6lifecycle stages, author through finalize, each a registered route rather than a mock-up
231standards-tagged items across six authored banks, documented in the content package’s own bank index
0students watched by a camera. Live remote proctoring is not built, on purpose
7named external score-feed vendors this product can ingest from — every one born disabled until a credential is provisioned

What it is, and what it is not

An assessment engine that lives inside the roster, not beside it

Assessment.software is the classroom assessment engine wired into the Homeroom roster and gradebook today -- the author, assign, attempt, grade and finalize lifecycle described below is a registered, reachable route, gated by the same role wall and the same consent chokepoint the rest of the platform uses. What is not open is a public self-serve signup: a district reaches it through the platform, and there is no separate checkout on this site. We would rather tell you the shape of that on the first screen than let a pilot conversation discover it.

Concretely: an adviser authors a quiz, exam, rubric task, portfolio, peer review or reflection from a real item bank; publishes it frozen so a mid-flight edit can never happen; assigns it to a class, a roster subset, or one student with a real open/close/due window; a student sits it only if they were actually assigned it, timed by the server’s own clock, with any IEP/504 accommodation snapshotted the moment the attempt starts; the objective items grade themselves deterministically and the constructed-response items wait for a human; and finalizing rolls a canonical result into the gradebook over the platform’s existing grade-passback spine.

What it is not: a state-certified summative testing service, a nationally normed adaptive interim assessment, a remote-proctoring product, or an AI grader that scores an essay on its own. Each of those is named explicitly in the refusals below, with the reason.

The lifecycle

Author → publish → assign → attempt → grade → finalize

Six stages, each a registered route behind the same role and consent walls the rest of the platform already runs.

  1. Adviser / teacher / admin

    A draft form, then real items pulled from a real bank

    A form starts as a draft: title, kind (quiz, exam, rubric task, portfolio, peer review, reflection), formative or summative, a middle- or high-school level, an optional time limit and attempt cap, shuffle flags, and an open/close window. Items are added one at a time, and every item is one of eight typed shapes -- mc, multi, tf, matching, ordering and short carry an objective answer key; essay and media carry a rubric instead. An item cannot carry both, and cannot carry neither -- the XOR is checked the moment the item is submitted, and checked again by the database itself.

    POST .../assessments, POST .../assessments/:id/items

  2. Adviser / teacher / admin

    Freezing the form -- a published version is immutable

    Publishing requires at least one item, and it FREEZES the form: no item can be added, edited or removed on a published version. If a mistake is found after publish, the fix is to clone the form, not to edit it in place -- because a live sitting pins the version it started on, and mutating a published form out from under an in-progress attempt is exactly the bug this refuses to allow.

    POST .../assessments/:id/publish

  3. Adviser / teacher / admin

    A class, a roster subset, or one student -- with a real window

    A published form is assigned to a class section, a roster subset, or a single student, with an optional open time, close time and due time. The assignment is stored as a soft pointer; the roster read below is what turns that pointer into an actual, named, consent-checked list of examinees. A by-user assignment is IDOR-checked against school membership at the moment it is made -- you cannot assign a form to a user who is not actually in this school.

    POST .../assessments/:id/assign

  4. The student, self-scope only

    Eligible, in-window, and accommodated -- or refused

    Starting a sitting checks four things before anything is created: the form is published; the window is open; the caller was actually assigned this form (directly, or as an enrolled member of an assigned section -- resolved through the same roster engine the adviser's own roster view uses); and the attempt limit is not exhausted. An in-progress sitting is RESUMED rather than duplicated. The student's current accommodation -- extended time, a separate window, read-aloud -- is SNAPSHOTTED at the moment the attempt starts, so a later IEP change cannot retroactively widen or narrow a sitting already underway. The item set served to the student has its answer keys stripped; a student never receives a key over the wire.

    POST .../assessments/:id/attempts, PUT .../attempts/:id/responses/:itemId, POST .../submit

  5. Auto-grader, then the adviser

    Objective items grade themselves; essay and media wait for a human

    On submit, every objective item with a response is auto-graded deterministically against its key; an item the student never answered is SKIPPED, never scored zero. Essay and media items are left unscored for the adviser, who enters a manual score clamped to the item's own point value, or -- if an AI draft exists -- explicitly ACCEPTS it, which is the only way a draft can ever become the record. There is no path where a draft becomes a grade on its own.

    POST .../submit, PUT .../grade/:itemId, POST .../grade/:itemId/accept-ai

  6. Adviser / teacher / admin

    Roll the result, write the education record, feed the gradebook

    Finalizing rolls every item's grade into a canonical 0..100 result. A manual item that has not yet been scored keeps the result at fullyGraded: false -- the record writes EARLY, so progress is visible while the adviser is still working, and the gradebook's existing AGS passback posts a PendingManual status until the last essay or media item is finalized. The passback fires over the platform's ALREADY-EXISTING LTI grade spine -- this product introduces no second, parallel channel for a grade to reach a gradebook.

    POST .../attempts/:id/finalize

The item bank and standards posture

Eight item shapes, one XOR, and a standards tag that is a crosswalk, never a credential

Every item is one of eight typed shapes. Six are auto-graded against an answer key; two — essay and media — carry a rubric instead and are never auto-scored. An item can never carry both a key and a rubric, and can never carry neither: the rule is enforced twice, once when the item is submitted and once by the database’s own constraint.

231Standards-tagged items
11Rubric templates (CSPA-style, 4-band)
6Authored content banks
1 – 4 (Webb)DOK levels modeled
TypeWhat it isModeNotes
mcMultiple choice, single selectAuto-gradedAnswer key: the chosen option id.
multiSelect all that applyAuto-gradedAnswer key: a set; optional partial credit, floored at zero.
tfTrue / falseAuto-gradedAnswer key: a boolean.
matchingLeft-to-right pair setAuto-gradedAnswer key: the correct left-to-right pairing.
orderingOrdered sequenceAuto-gradedAnswer key: the correct order of a shuffled list.
shortShort answer / fill-inAuto-gradedAnswer key: a normalized, case- and whitespace-folded accept list.
essayExtended constructed responseManual, rubricScored by an attached rubric; no answer key at all.
mediaAn uploaded photo, clip or spreadManual, rubricScored by an attached rubric; no answer key at all.

Six authored content banks

The global seed bank every school can draw from, spanning six subject areas.

  • Reference & researchqb.reference
  • Law & ethicsqb-law-ethics
  • Visual & photoqb.visual-photo
  • Writing & editingqb.writing-editing
  • Web & news literacyqb-web-newslit
  • Leadership & marketingqb-leadership-marketing

Four neutral mastery bands

Homeroom’s own labels, never an association award, never a certification.

EmergingJust starting to show the skill.
ProficientMeets the bar reliably.
DistinguishedConsistently above the bar.
ExemplaryThe strongest band we award.

A standard code on an item is a crosswalk claim only — “this item touches this standard” — documented that way in the content package’s own header. It is never presented here as a certification, an award, or academic credit.

IEP / 504

An accommodation is set once, and frozen for the sitting it covers

Testing accommodations — extended time, a separate window, read-aloud, and free-text notes — are set by an adviser or admin for a named student, IDOR-checked against school membership, and readable by staff only. The moment a student starts an attempt, the CURRENT accommodation is snapshotted onto that attempt. If the accommodation changes afterward — wider, narrower, added, removed — the sitting already underway keeps the version it started with. A later IEP edit can never retroactively reopen or re-close a test a student is mid-way through.

FieldWhat it doesThe floor
Extended-time multiplierA multiplier applied to the form's time limit (a 1.5x multiplier turns a 30-minute limit into 45).Constrained to 1.0x–10x at the database CHECK -- a multiplier can only WIDEN time, never narrow it.
Separate windowFlags that this student should sit the assessment on its own, apart from the class group.A boolean the adviser sets; enforced administratively, not by a second attempt-window engine.
Read-aloudFlags that prompts should be read aloud to this student during the sitting.A boolean carried on the accommodation record and snapshotted onto the attempt.
NotesFree-text notes on the accommodation, up to 4,000 characters.Audited by the FACT that an accommodation was set, never by logging the notes content itself.

Test integrity, and what we refuse

Integrity is a server-owned gate and clock, not a camera

Before an attempt can start, the server checks the form is published, the window is open, the caller was actually assigned this form, and the attempt limit is not exhausted. Once running, every timed write is checked against a deadline the server computes from the accommodation-adjusted time limit — never the client’s own clock. A published form cannot be edited, so an in-progress sitting can never be mutated out from under the student taking it.

What that integrity model deliberately does not include is listed below, by name, with the reason.

We do notWhy
Live remote proctoring -- webcam monitoring, gaze or face detection, a lockdown browser, screen recording.None of it is built. A district asking for exam-room-grade remote surveillance of a minor should hear that directly from us, not discover it missing in a pilot. What this product does instead is server-owned integrity: a real eligibility gate, a real time-limit enforced by the server's clock and not the browser's, and a version-pinned form a student cannot silently edit around.
An AI grader that scores an essay or a photo spread on its own.The grading engine's own design rule is that an AI draft is a SUGGESTION, never the record, until an adviser explicitly accepts it. There is no code path where an unaccepted draft becomes a grade.
An AI item-authoring assistant that writes test questions today.The assist engine's model dependency is injected and null by default. Called offline, it returns zero suggested items and the reason honest_off_no_model -- never a fabricated question standing in for a written one.
A live score feed from any named assessment vendor, out of the box.Every feed is registered DISABLED by default and stays that way until an operator provisions a real credential out of band. Registering a feed can never, by itself, turn it on.
A state-certified or nationally normed summative test.This product rolls an internal 0..100 result and internal, Homeroom-named mastery bands. It does not claim a norm-referenced percentile, a scale score equivalent to a commercial adaptive interim test, or any state accountability certification.
A standards tag presented as a certification, an award, or academic credit.A standardCodes tag on an item is a crosswalk claim -- "this item touches this standard" -- and nothing more. It is never presented as an earned credential.

Grading

Deterministic where a machine can be trusted, human where it cannot

On submit, every objective item with a response is graded by one pure function — the same function for every school, every form, every item — and an item the student never answered is SKIPPED rather than scored zero, so a blank does not silently become a wrong answer. Essay and media items are left unscored for the adviser. If an AI-generated draft score exists for one of those items, the adviser can enter their own score directly, or explicitly ACCEPT the draft — and accepting is the ONLY path a draft can travel to become the record. There is no automatic promotion.

Finalizing computes the canonical 0..100 result. While a manual item is still awaiting the adviser, the result writes early with fullyGraded: false, so a student and family can see progress rather than nothing, and the gradebook’s passback posts a PendingManual status rather than a number that looks final but is not.

Growth, mastery, and the psychometric engines

A student’s own history, rolled up honestly — and six callable engines behind it

A student’s finished attempt history — never an in-progress sitting, which has no settled score yet — feeds the SAME mastery rollup the rest of the curriculum platform already uses. An unscored response is excluded from the trend, never averaged in as a zero. On top of that rollup sit three small, additive views: a time-bucketed readiness trend, a practice-streak count, and a weakest-skill-first ranking — none of them a second, competing mastery model.

Underneath the classroom flow sit six pure, deterministic psychometric engines, wired behind the same staff-only allowlist, each its own callable endpoint rather than a black box behind a single “score” button:

Item-bank search

Search the bank by standard, subject, type and DOK

A pure query over the same standards-tagged bank the author flow reads from -- filter by standard code, subject, item type or Depth of Knowledge, and get back items ready to attach to a form. Difficulty is deliberately kept SEPARATE from DOK rather than conflated with it: DOK measures cognitive demand, difficulty measures how hard an item tends to be, and treating them as one number would misrepresent both.

POST .../assessment/item-bank/search Curriculum-Pro (authoring surface)

Draft validation and tagging

Validate a hand-authored item before it enters the bank

Checks a new item draft's shape -- the XOR, the option structure, the key-kind agreement -- and tags it, the same discipline the author route enforces at the boundary, exposed as its own callable step.

POST .../assessment/item-bank/validate-draft Curriculum-Pro (authoring surface)

Test-form assembly

Assemble a form from a blueprint, not by hand, item by item

Give the engine a blueprint -- how many items per standard, per type, per DOK band -- and it assembles a candidate form from the bank deterministically. It is honest-off on an empty bank or an unsatisfiable blueprint: it reports what it could not fill rather than padding the form with the wrong item to hit a count.

POST .../assessment/test-form/assemble Curriculum-Pro (authoring surface)

Adaptive delivery (IRT-CAT)

One computer-adaptive step, computed and handed back

Given a prior ability estimate, an item pool with IRT parameters, and a stop rule, this returns the next item to administer and the updated ability estimate -- one stateless step per call. The caller holds the state; the engine holds no clock, no session and no database of its own.

POST .../assessment/adaptive/next Never module-gated -- a student-measure compute is not paywalled.

Scaling and growth

A closed-form transform over raw scores -- not a norm-referenced score

Takes a scale table, cut scores and growth reference points, and returns a summarized growth view over the raw results supplied to it. It is a closed-form transform of numbers you give it, not a claim to a nationally normed percentile or a commercial vendor's proprietary scale.

POST .../assessment/scaling/summarize Never module-gated -- a student-measure compute is not paywalled.

AI item-authoring assist

Honest-off by default -- and it says so in the response

Suggests candidate items from references when a model is wired; offline (the default), it returns zero items and the reason honest_off_no_model. A validate call still checks the SHAPE of any items you hand it and reports authoring stats, whether or not a model is attached.

POST .../assessment/ai-authoring/suggest, .../validate Curriculum-Pro (authoring surface)

External score-feed interop

Seven named vendors we can ingest from — every feed born disabled

A case manager or adviser can register a benchmark or adaptive-interim score feed from a closed, database-enforced vendor set, over one of two closed protocols. Registering a feed can never, by itself, turn it on: it is created DISABLED, and enabling it requires a real credential provisioned out of band. The credential itself is opaque on the wire — accepted write-only, never echoed back on any read; a monitoring view shows only whether one is configured. The whole surface sits dark behind its own module flag until a district turns MTSS on.

Once a feed is enabled, the parser still refuses on its own terms: a malformed or unmappable field is dropped with a stated reason rather than coerced onto a student’s record, because a wrong benchmark score would mis-tier a child.

NWEA MAPAdaptive interim
i-ReadyAdaptive interim
Renaissance StarAdaptive interim
DIBELSBenchmark screener
aimswebBenchmark screener
FastBridgeBenchmark screener
AcadienceBenchmark screener

Supported protocols: OneRoster-Gradebook Results IMS Caliper

Roles, FERPA, and the paywall boundary

An affirmative allowlist, a self-scope, and a paywall that never touches a FERPA read

Every cross-student surface on this product — a class roster, a results view, an answer key, an accommodation, every authoring and grading write — sits behind an affirmative role allowlist: district admin, school admin, teacher, or platform support staff. Nothing else gets in, including any role added to the platform later. A student’s own attempt is walled a different way — ownership, not role — so a student reaches only their own record, never a classmate’s.

The priced Curriculum module gates the STANDALONE authoring and grading writes only. It is deliberately never placed in front of a FERPA-covered read of a student’s own data, never in front of the student’s own attempt flow, and never in front of the free in-editor coaching surface a teacher uses day to day.

WallWhat it does
ASSESSMENT_STAFF_ROLES allowlistdistrict_admin, school_admin, teacher, support_admin only -- an affirmative allowlist, not a deny list, in front of every cross-student read, every answer-key read, and every author/publish/assign/grade/finalize/accommodation write. Anything else is a 403, including any role added later.
denyStudentData (the rep/booster wall)Runs AHEAD of the role allowlist and throws for a masthead-only session (a rep, a booster, an alumnus) reaching for student-shaped data -- a no-op for an actual student, so the allowlist above is what walls the student side.
Self-scope on the attempt laneA student reads and writes only their OWN attempt (owner-checked, 404 on anyone else's) -- never a role check standing in for an ownership check.
Attempt eligibility gateA published, in-window form can be sat only by a caller the form was actually ASSIGNED to -- by name, or as an enrolled member of an assigned section. An unassigned school member is refused, fail-closed.
Directory-info consent chokepointThe roster resolver runs every examinee through the SAME opt-in, default-deny directory_info gate the master schedule's roster view uses. A consent-redacted student stays addressable in the count; only the name and grade are masked.
Curriculum-Pro paywall boundaryThe priced module gates the STANDALONE authoring/grading writes -- create, publish, assign, add an item, enter a manual score, accept an AI draft, finalize. It is deliberately NEVER placed on a FERPA student-data read, never on the student's own attempt flow, and never on the free in-editor coaching surface.
Audit trailEvery create, item add, publish, assign, accommodation set, attempt start and submit is recorded to the platform audit log, keyed to the acting user -- an accommodation's sensitive notes are never themselves written into that log, only the fact that one was set.

Test files confirmed present on disk name the exact failure mode each guards — a staff-allowlist security test, a minor rep/PII-wall test, a roster-resolver test, a score-interop test, among others named in this page’s own source header. Their pass status was not measured for this page and is not claimed here.

Against the incumbents

Where the dedicated testing platforms win, and where a wired-in engine wins instead

AxisA dedicated testing platformAssessment.software
State-certified summative testing deliveryYes. State assessment consortia and their approved vendors are the certified path for accountability testing, and that is a standard advertised service.No. This is a classroom instructional and formative/summative instrument, not a state accountability testing system.
A nationally normed, adaptive interim scoreYes. Norm-referenced adaptive interim assessment against a national sample is the advertised product of that category.No. Results are internal (0..100) and mastery bands are Homeroom's own neutral labels, not a normed percentile.
Live remote proctoring during a sittingYes. Webcam monitoring, gaze detection and lockdown browsers are the advertised product of that category.No. Not built, on purpose. Integrity here is a server-owned eligibility gate, a server-owned clock, and a version-pinned form -- never a camera on a student.
The auto-grading logic is legible, in one readable moduleNot established. We have not read another vendor's grading internals and will not characterize them.Yes. One pure module -- autoGradeItem -- with an unanswered item explicitly SKIPPED rather than scored zero.
Each psychometric step is its own callable, stateless endpointNot established. We do not audit other vendors' APIs.Yes. Item-bank search, draft validation, test-form assembly, one adaptive step, and scaling/growth are each their own endpoint.
An accommodation is frozen for the sitting it was granted forNot established. We cannot inspect another product's accommodation model.Yes. The multiplier, window and read-aloud flags are snapshotted onto the attempt at start; a later IEP edit cannot retroactively change a sitting in progress.
The class roster for a test is resolved through the same consent gate as the rest of the platformNot established.Yes. The same opt-in, default-deny directory_info chokepoint the master schedule's own roster view uses -- never a second, parallel consent path.
What an AI assist does when no model is configuredNot established. We cannot see another provider's offline behavior.It returns zero items and the reason honest_off_no_model, never a fabricated suggestion.
A grade reaches the gradebook over the platform's own existing spine, not a second channelNot established.Yes. The finalize step fires the same LTI AGS passback the rest of the gradebook already uses.

“A dedicated testing platform” names a category — state-accountability testing vendors, norm-referenced adaptive-interim vendors, and remote-proctoring vendors — not any single company, and no vendor brand appears anywhere on this page outside this one footnote.

What this costs

No price on this page, and no checkout anywhere on this site

A student’s own attempt, and any FERPA-covered read of a student’s own data, is never gated behind a paid module. The standalone authoring and grading writes — creating a form, publishing it, assigning it, adding a bank item, entering a manual score, accepting an AI draft, finalizing a result — sit behind the platform’s priced Curriculum module, which a school either already has or would add. There is nothing to buy on this page: the honest next step is a conversation about which lifecycle stages your district actually needs.

Questions

Common questions

Is there live proctoring -- a webcam, a lockdown browser?

No, and we would rather say so here than have you discover it in a pilot. None of it is built: no webcam monitoring, no gaze or face detection, no lockdown browser, no screen recording. What is real is server-owned integrity -- a form a student cannot sit unless they were actually assigned it, a time limit the SERVER'S clock enforces (never the browser's), and a published form that is frozen the moment it goes live so it cannot be edited out from under an in-progress sitting.

Can a student see the answer key?

No. The item set served to a student during an attempt has every answer key stripped before it leaves the server. A student reads their own submitted answers and their own scores once graded; they never receive a key over the wire.

Can a rep, a booster, or a parent see a class's scores?

No. A dedicated deny wall runs ahead of the staff role allowlist and refuses a masthead-only session (a rep, a booster, an alumnus) reaching for any student-shaped assessment data, even a masthead-held adviser tag. A parent reads their own child's result only through the child's own graded attempt, the same way a guardian reads a grade anywhere else on the platform -- never a cross-student roster or results view.

What about IEP and 504 accommodations?

Extended time (a multiplier that can only widen a time limit, never narrow it, floored at 1.0x by the database itself), a separate testing window, and read-aloud are each set by an adviser or admin and SNAPSHOTTED onto the attempt the moment a student starts sitting. If the accommodation changes later, the sitting already in progress keeps the version it started with -- an IEP update never retroactively reopens or re-closes a test a student is mid-way through.

Does an AI grade essays or media automatically?

No. An AI-generated draft score is only ever a suggestion. It becomes the record on exactly one path: an adviser reviews it and explicitly accepts it. There is no automatic path from a draft to a grade.

Does an AI write test questions for us?

Not by default. The item-authoring assist has a model dependency that is injected and left null unless a district wires one; called with no model attached, it returns zero suggested items and the reason honest_off_no_model rather than a fabricated question. The draft-validation half still works with no model at all -- it checks the shape of an item a human wrote.

How does a grade get into the gradebook?

Finalizing an attempt rolls the result and fires the platform's EXISTING LTI AGS passback -- the same grade-passback spine the rest of the gradebook already uses. This product does not stand up a second, parallel channel for a score to travel over.

Do you integrate with NWEA MAP, i-Ready, Renaissance Star, DIBELS, aimsweb, FastBridge or Acadience?

There is a real inbound score-feed lifecycle for exactly those seven, over OneRoster-Gradebook Results or IMS Caliper. It is honest about its own default state: a registered feed is DISABLED until an operator provisions a real credential, and the parser refuses to ingest anything from a disabled feed. Nothing goes live on its own.

What is standards alignment here, exactly?

Every item in the bank carries one or more standard codes as a CROSSWALK claim -- "this item touches this standard" -- and nothing beyond that. It is never presented as a certification, an award, or academic credit, and the content package's own header states that rule explicitly.

What are the mastery bands, and are they an award?

Emerging, Proficient, Distinguished, Exemplary -- four neutral bands Homeroom defines, computed from a student's own finished attempt history and reused by the SAME mastery rollup the rest of the curriculum platform uses. They are descriptive, not an association award or an earned credential.

Is this a replacement for a state summative test?

No. This is a classroom instructional and formative/summative instrument for a teacher's own forms. It makes no claim to state certification, a norm-referenced national percentile, or any accountability testing role.

Who can author a form or see a class's results?

District admins, school admins, teachers, and platform support staff -- an affirmative allowlist, not a deny list. Everyone else, including any newly added role, is refused by construction.

Does this cost anything?

The student's own attempt flow, and any FERPA-covered read of a student's own data, is never gated behind a paid module. The standalone authoring and grading writes -- creating a form, publishing it, assigning it, entering a manual score, finalizing a result -- sit behind the platform's priced Curriculum module. There is no price listed and no checkout on this site; the honest next step is a conversation.

Is Assessment.software a school, a district, or a nonprofit?

No. It is for-profit software built by Stanley Studios. It is not a school, not a district, and not a nonprofit, and nothing here is a charitable gift of any kind.

Talk to us

Ask about a pilot

Email

The fastest way to reach us. Tell us which lifecycle stages matter most — authoring, accommodations, growth reporting, or the score-feed interop — and we will answer with specifics, not a deck.

[email protected]

Already on Homeroom?

This engine is wired into the platform your school already runs — there is no second signup and no separate roster to build. Ask your Homeroom contact to turn Curriculum on for your building.

homeroom.software