AI Transparency & Student Data
Last updated: March 25, 2026
1. Overview
Ludwitt uses Anthropic's Claude API to power AI features across the platform. This document describes exactly what student data interacts with AI, how it is processed, and what safeguards are in place. It is intended for institutional compliance officers, FERPA reviewers, and university procurement teams evaluating Ludwitt for campus deployment.
Core Commitment: No personally identifiable information (PII) is ever sent to AI providers. Student data sent to the AI is limited to educational content only — answers, problem text, and subject context.
2. AI Provider
Ludwitt partners with a single AI provider for all AI-powered features.
| Field | Detail |
|---|---|
| Provider | Anthropic (San Francisco, CA) |
| Model | Claude (current production model) |
| API Type | Stateless REST API |
| Data Retention by Provider | Anthropic does not retain API inputs/outputs for model training. Data is processed in-memory and discarded after response generation. |
| SOC 2 Status | Anthropic maintains SOC 2 Type II certification |
| Data Processing Location | United States |
3. What Student Data IS Sent to AI
The following educational content is transmitted to Anthropic's API for grading and feedback purposes. None of this data contains personally identifiable information.
| Data Type | Purpose | Example |
|---|---|---|
| Student answers | Grading and feedback | “The answer to 3x + 5 = 20 is x = 5” |
| Problem text | Context for grading | “Solve for x: 3x + 5 = 20” |
| Writing submissions | Writing feedback and tips | Student essay text (content only) |
| Reading comprehension answers | Semantic correctness validation | Student's answer to a reading question |
| Subject context | Appropriate grading rubric | “math”, “reading”, “latin” |
| Difficulty level | Calibrate feedback complexity | “difficulty: 7” |
4. What Student Data is NEVER Sent to AI
The following categories of student data are never included in any AI API request. These protections are enforced at the application layer before any external API call is made.
| Data Type | How It Is Protected |
|---|---|
| Student names | Stripped before API call |
| Email addresses | Never included in prompts |
| User IDs | Internal identifiers not sent |
| IP addresses | Not included in API requests |
| Dates of birth | Encrypted at rest, never sent to AI |
| Phone numbers | Never included in prompts |
| School/institution name | Not included in API requests |
| Grades/GPA | Historical grades never sent |
| Financial information | Handled exclusively by Stripe |
| Authentication tokens | Server-side only, never in prompts |
5. Data Minimization Implementation
All AI API endpoints in Ludwitt follow a strict data minimization pattern. The AI never receives enough information to identify a specific student. The following sequence is enforced for every AI interaction:
- Authenticate user — Server-side token validation; the authentication token is never forwarded to the AI provider
- Extract educational content only — Only the question and answer are extracted from the request payload
- Construct prompt without PII — The prompt is built using content only, with no names, emails, IDs, or other identifiers
- Send to Anthropic API — The stateless API processes the content and generates a response
- Receive response — The AI's feedback (correctness, explanation) is returned
- Log credit usage — Usage is logged by userId and token count only; no prompt content is stored
- Return response to student — The feedback is delivered to the student's browser
6. AI Features and Their Data Usage
The following table enumerates every AI-powered feature in Ludwitt, the data sent to the AI provider, and the data returned.
| Feature | Endpoint Pattern | Data Sent | Data Returned |
|---|---|---|---|
| Math Grading | /api/basics/check-answer | Problem + student answer | Correct/incorrect + explanation |
| Reading Grading | /api/basics/check-reading-answer | Passage excerpt + student answer | Semantic correctness + feedback |
| Writing Feedback | /api/basics/check-writing | Student writing submission | Feedback, suggestions, tips |
| Problem Generation | /api/basics/generate-* | Subject + difficulty level | New practice problems |
| Explanation Generation | /api/basics/explain | Problem + topic | Educational explanation |
| Latin/Greek Translation | /api/basics/check-translation | Source text + student translation | Accuracy assessment + corrections |
7. Data Flow Diagram
The following diagram illustrates how data flows through the Ludwitt platform during an AI-powered interaction. Note that PII is stripped at the API route layer before any data reaches the AI provider.
┌─────────────┐ HTTPS/TLS 1.3 ┌──────────────┐
│ Student │ ──────────────────────► │ Vercel │
│ Browser │ │ Edge Network│
└─────────────┘ └──────┬───────┘
│
┌──────────▼───────────┐
│ Next.js API Route │
│ │
│ 1. Authenticate user │
│ 2. Validate request │
│ 3. Strip all PII │
│ 4. Build prompt with │
│ content only │
└──────────┬───────────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────────▼──────┐ ┌──────▼───────┐ ┌────▼──────────┐
│ Anthropic API │ │ Firestore │ │ Credit System│
│ │ │ │ │ │
│ Receives ONLY: │ │ Stores: │ │ Logs: │
│ - Question │ │ - Progress │ │ - Token count│
│ - Answer │ │ - XP/Streak │ │ - Cost │
│ - Subject │ │ - Accuracy │ │ - Endpoint │
│ - Difficulty │ │ - Attempts │ │ - Timestamp │
│ │ │ │ │ │
│ Does NOT │ │ Protected │ │ No content │
│ receive: │ │ by Firestore│ │ stored in │
│ - Names │ │ security │ │ transaction │
│ - Emails │ │ rules │ │ logs │
│ - User IDs │ │ │ │ │
└─────────────────┘ └──────────────┘ └───────────────┘8. Data Retention
AI prompt content is never persisted. The question, answer, and AI response exist only in-memory during the API call and in the HTTPS response to the student's browser.
| System | Retention | Details |
|---|---|---|
| Anthropic API | Zero retention | Stateless API — inputs/outputs not stored or used for training |
| Vercel (serverless functions) | 30 days | Request logs contain metadata only, not prompt content |
| Firestore (student progress) | Duration of account | Accuracy rates, XP, difficulty levels — no AI prompt content stored |
| Credit transactions | Duration of account | Token counts and costs only — no prompt/response content |
9. AI Training Opt-Out
Ludwitt's commitment: Student data is never used to train AI models.
- Anthropic's API Terms of Service state that API inputs/outputs are not used for model training
- Ludwitt does not fine-tune models on student data
- Ludwitt does not share student data with any third party for AI training purposes
- No student data is included in any dataset used for model improvement
This commitment is documented in our Privacy Policy, Data Processing Agreement, and Student Privacy Policy.
10. AI Decision Transparency
How AI Grading Works
- AI does not assign grades autonomously. AI provides feedback and correctness assessment for individual practice problems. It does not determine course grades, GPAs, or academic standing.
- AI decisions are reviewable. Students see the AI's feedback immediately and can attempt problems again. There is no penalty system based on AI judgment.
- Adaptive difficulty is algorithm-based, not AI-based. Difficulty adjustment uses deterministic algorithms (Item Response Theory, Bayesian Knowledge Tracing, SM-2 spaced repetition) based on accuracy patterns — not AI model predictions.
- AI-generated content is labeled. When AI generates practice problems or explanations, the content is clearly presented as practice material, not as authoritative academic content.
11. Bias Mitigation
Ludwitt takes active measures to prevent AI bias from affecting student outcomes:
- AI grading prompts are standardized and do not include student identity information
- Grading rubrics are explicit in prompts (e.g., “check mathematical correctness”)
- AI does not have access to student demographics, race, gender, or socioeconomic data
- Regular prompt auditing ensures consistent grading across student populations
Because the AI receives only educational content (questions and answers) without any identifying information, it is structurally unable to apply differential treatment based on student identity.
12. Institutional Controls
Universities deploying Ludwitt retain full control over AI feature usage within their organization.
| Control | Description |
|---|---|
| Disable AI features | Organization-level feature toggles can disable AI grading entirely |
| Monitor AI usage | Institutional analytics dashboard shows AI credit consumption per student |
| Export AI interaction data | Data export includes problem attempts and accuracy (not AI prompts) |
| Audit data access | FERPA audit logs track all access to student data |
| Set credit limits | Institutions can set per-student AI usage limits |
13. Compliance Summary
| Requirement | Status |
|---|---|
| FERPA — No PII sent to AI | Compliant |
| FERPA — Audit logging of data access | Compliant |
| COPPA — Parental consent for under-13 | Compliant |
| GDPR — Data minimization | Compliant |
| GDPR — Right to deletion | Compliant |
| No AI training on student data | Compliant |
| AI decision transparency | Documented |
| Sub-processor disclosure (Anthropic) | In DPA |
For questions about AI data handling, contact dpo@ludwitt.com.