This page is non-normative guidance for using KNOBE in educational settings. Nothing here changes the protocol. If this document conflicts with the normative specification, the specification governs.
- Instructors
- Students
- Ed-tech builders
- Librarians
- Course designers
The course loop this profile documents: the instructor seals the reading and the assignment spec; student work chains to them by hash; a TA batch-checks the cohort; the sealed record survives the term.
- Instructorseals the reading and the spec
- Studentwork chains to them by hash
- TAbatch-checks the cohort
- The recordsurvives the term, platform to platform
Every arrow is a payload hash: each artifact names exactly what it builds on.
Role-based paths for instructors, students, and TAs: build a sealed assignment sequence, collect sealed submissions through Canvas, and check a whole batch in the browser.
§1Why KNOBE in education
Three problems converge in the AI-era classroom. AI tools make it difficult to distinguish what a student wrote from what a model suggested. Accessibility adaptations (captions, simplifications, translations) circulate detached from their sources, with the adapter's labor invisible. And course materials assembled with care inside one platform rarely survive a transition to another institution, another LMS, or another decade.
KNOBE addresses all three at the artifact layer, without requiring institutional adoption of a new system. A .knobe.md file is readable in any text editor, verifiable with a small Python script, and carries what the next reader needs: who wrote it, what AI contributed, what it can and cannot be trusted for, and what the author asks of the person receiving it.
The most educationally important fields are not the hash. They are fidelity_limits, use_conditions, and accessibility. These fields give a knowledge object a built-in account of its own interpretive conditions: what it is, what it is not, and whose labor made it what it is.
§2Recommended field defaults for course use
| Field | Recommended default | Notes |
|---|---|---|
| quarantine_status | "quarantine" | Always the default. Instructors or systems mark trusted after review. |
| privacy_level | "internal" | For most student work. See §3 for full guidance. |
| identity_status | "declared" | Correct for v1. Attribution is self-reported. |
| license | "All rights reserved" | Default for student work. Instructors may use CC licenses for OERs. |
| content_type | See below | Match to the artifact type. |
Recommended content_type values for course artifacts
| Artifact | content_type |
|---|---|
| Student essay, project, reflection | original |
| Course reader, curated collection | collection |
| Summary or condensed version of a reading | compression |
| Plain-language or simplified adaptation | adaptation |
| Caption, transcript, or translation | adaptation |
| Instructor notes synthesizing multiple sources | synthesis |
| Annotated primary source | annotation |
| Teaching or bootstrapping artifact | seed |
§3Privacy level guidance
The protocol's open vocabulary for privacy_level is: public, internal, sensitive, restricted. In educational contexts, these map as follows.
| Value | Course meaning | Examples |
|---|---|---|
public | Open educational resource; intended for circulation beyond the course. | Public syllabus, OER reading, published course note. |
internal | Course-only material; not for redistribution outside the enrolled group. | Most student assignments, instructor notes, draft readings. |
sensitive | Contains personal reflection, identifiable detail, or sensitive context. Handle with care even within the course. | Student personal reflection, peer-review comment, accessibility accommodation context, interview excerpt. |
restricted | FERPA-protected, IRB-governed, or institutionally confidential. Do not share without explicit authorization. | Identifiable student record, IRB-governed research data, confidential advising note. |
privacy_level says. The field declares intent and context; it does not substitute for institutional policy. When in doubt, use sensitive or restricted and consult your institution's privacy office.
restricted and a note in use_conditions identifying the protocol and its sharing constraints.
§4Attribution roles
The protocol requires an attribution.sources array with at least one entry. Each source should include author and contribution. For educational workflows, adding a role field to each source entry makes attribution records interoperable across tools. The following roles are recommended for course use.
| Role value | Meaning |
|---|---|
student_author | The student who wrote the work. Primary rights-bearing contributor. |
instructor_prompt | The instructor who designed the assignment or provided the framing prompt. Rights-bearing for the prompt itself; not for the student's response. |
ai_assistant | An AI model that contributed to the work. Always "rights_bearing": false. Contribution should describe specifically what the model did and did not do. |
peer_feedback | A peer reviewer or editor whose input shaped the work. |
source_text | A reading, dataset, or primary source the work draws on. Use parents to link by hash when the source is itself a KNOBE. |
adapter | A person who produced an accessibility adaptation (caption, simplification, translation). Combine with the accessibility field. |
accessibility_reviewer | A person who reviewed or approved an adaptation for quality and accuracy. |
AI contribution disclosure
For AI-assisted student work, the contribution field of an ai_assistant source entry should be specific enough that a reader can understand what the AI did and what the student did independently. Vague disclosure ("used AI for help") is less useful than specific disclosure ("AI suggested an alternative thesis framing in exchange 2; student revised and kept a version of it" or "AI used only to check spelling after drafting was complete").
The point is legibility rather than surveillance: the next reader should be able to understand what they are looking at.
§5Fidelity limit templates
The fidelity_limits field is the most educationally important optional field. It tells a reader what the artifact is fit for and what must not be inferred from it. In a course context, it makes the difference visible between a summary and the reading it compresses, between a draft and finished work, and between AI-assisted notes and independent comprehension.
Template: student reflection or essay
{
"fidelity_limits": {
"represents": "a course reflection / first draft / final essay",
"trust_as": "the student's own argument and voice at this stage of development",
"do_not_infer": [
"that this represents the student's final or settled view",
"that claims are fully researched or cited unless the work explicitly does so",
"that AI contribution extended beyond what is described in attribution"
]
}
}
Template: reading summary or compression
{
"fidelity_limits": {
"represents": "a compression of [source title], approximately [X]% of original length",
"trust_as": "an accurate summary of the source's main argument",
"do_not_infer": [
"that this captures all nuance, qualification, or evidence in the original",
"that quotations in this summary are accurate; check against the original",
"that this summary should substitute for reading the original"
]
}
}
Template: AI-generated or AI-assisted material
{
"fidelity_limits": {
"represents": "material [drafted / assisted / reviewed] with AI contribution as described in attribution",
"trust_as": "[what it can be trusted for, e.g., 'a useful starting point for further development']",
"do_not_infer": [
"that AI-generated claims have been independently verified",
"that citations, if any, have been checked against the cited sources",
"that the AI contribution is limited beyond what is described"
]
}
}
§6Use condition templates
The use_conditions field carries the originator's declared terms for how the next person may use the object. In a course, this is where instructors and students can set expectations about redistribution, citation, and sharing, without those expectations being separated from the artifact as it moves.
Template: student work (course-private)
{
"use_conditions": {
"license": "All rights reserved",
"permitted": [
"instructor review and grading",
"anonymous use in course-design discussion with identifying details removed"
],
"requested_preservations": [
"do not redistribute outside the course without student consent",
"do not remove the AI contribution disclosure",
"preserve fidelity limits if quoting or summarizing"
],
"consent_note": "FERPA applies. This is student work submitted under course privacy expectations."
}
}
Template: open educational resource
{
"use_conditions": {
"license": "CC BY 4.0",
"license_url": "https://creativecommons.org/licenses/by/4.0/",
"permitted": [
"redistribute and adapt with attribution",
"use in other courses with credit to the original author"
],
"requested_preservations": [
"preserve attribution and source link",
"note any adaptations made"
]
}
}
§7UI label translations
Protocol field names are precise but not always the right language for a student or instructor interface. The following translations are recommended for education-facing tools. The protocol field names remain unchanged in the payload; these labels apply only at the display layer.
| Protocol field | Student / instructor label | Notes |
|---|---|---|
| quarantine_status: quarantine | Needs review | "Quarantine" can sound punitive in a classroom context. |
| quarantine_status: trusted | Reviewed and trusted | Set by instructor or governed system after review. |
| fidelity_limits | What this can and cannot be used for | Or: "What to know before reusing this." |
| use_conditions | Rules for reuse | Or: "Sharing and citation terms." |
| transformation_history | What changed, and when | Or: "Edit history." |
| parents | What this came from | Or: "Source materials." |
| accessibility | Adaptation record | Or: "Accessibility versions." |
| attribution.sources | Who contributed, and how | Show AI contributors clearly with their role. |
| privacy_level: internal | Course only | Not for redistribution outside the enrolled group. |
| privacy_level: sensitive | Handle with care | Contains personal or sensitive content. |
| payload_hash: verified | Record intact | Follow with "Integrity is not the same as accuracy; read carefully." |
| payload_hash: failed | Record may have changed | Avoid "tampered"; changes may be legitimate. Prompt inspection. |
§8Worked examples
.knobe.md file. The hashes shown are payload hashes; they prove the structured record is intact, not proof of identity, timestamp, or institutional approval. Integrity is not truth.The three examples below form a verifiable lineage: the instructor creates an assignment KNOBE, assigns a reading KNOBE, and the student submits a reflection KNOBE that carries both as parents by hash. Download any of them and verify with lens.py. The chain from reading to assignment to student response is sealed across the three artifacts.
quarantine_status: trusted (the instructor has reviewed it), use conditions limiting redistribution, and the hash that student submissions reference as a parent.assignment_context, education_review, full attribution, fidelity limits, and course-private use conditions.Education profile fields in these examples
Two profile-specific payload fields appear in the assignment and reflection examples. These are not part of the core v1 protocol but are recommended for educational tools building on KNOBE.
assignment_context, carried by the student reflection, links the submission to its course and assignment specification:
The assignment_context shape
{
"assignment_context": {
"course": "SOC 150: Knowledge in the AI Era",
"assignment_type": "reading_reflection",
"assignment_knobe_hash": "7c2cb527…",
"ai_policy": "limited_with_disclosure"
}
}
education_review tracks submission and review status separately from the protocol's quarantine_status, which handles receiver trust rather than workflow state:
The education_review shape
{
"education_review": {
"submission_status": "submitted",
"review_status": "pending_instructor_review"
}
}
assignment_context inside the instructor assignment KNOBE carries AI policy at the source, so that any student reflection which references the assignment by hash inherits a verifiable record of what policy applied when the work was done.
What the lineage demonstrates
Opening the reflection KNOBE's parents array reveals two entries, each with a payload hash. Verify both hashes against the reading and assignment KNOBEs above and they match. The chain (instructor creates reading, instructor specifies assignment, student responds to both) is sealed and checkable without any database, platform, or institutional system. The artifacts carry their own provenance.