Skip to main content
StudyBuddy
StudyBuddy

Quality you can see. Compliance you can check.

Every lesson, quiz, and activity passes the same set of gates before a student ever opens it. No piece of content reaches a child without clearing structure checks, a language scan, and a human review step.

Three gates, every single time

Content moves through these stages in order. A piece that fails any gate doesn't move forward — it's regenerated or held for a reviewer.

1

Generated

Built to a strict shape, then checked automatically

Structure validation

Every lesson, quiz, tutorial, and experiment must match a fixed structure before it is saved. Anything malformed is regenerated, never published. A quiz that isn't a complete set of well-formed questions simply does not ship.

Inclusive-language scan

All content is scanned for non-inclusive or insensitive language before it can be approved. Flagged passages must be cleared by a reviewer — they cannot be skipped.

Age-appropriate & on-level

Content is restricted to academic topics for Grades 5–12 and is generated to read 1–2 grade levels below the student's grade, so the focus stays on understanding.

2

Reviewed

A person approves it before any student sees it

Human approval gate

Newly generated content starts as 'pending'. It only becomes visible to students after a reviewer explicitly approves and publishes it. Rejected or blocked content is held back, and any published version can be rolled back.

Side-by-side & annotated review

Reviewers read the content unit by unit, leave notes against any section, and compare versions with word-level highlighting — so changes between revisions are never invisible.

Warnings must be resolved

Language-scan warnings are tracked individually. A version can't be approved until every warning is either fixed or explicitly marked as a reviewed false positive.

3

Served safely

Privacy and access rules are enforced by the platform

Records stay inside your school

Progress, scores, and history are treated as educational records. Access is scoped to the student's own institution at the database level — one school can never see another's records.

Consent before access

Students under 13 require verifiable parental consent before their account is activated. Until then, content access is blocked. We collect only the minimum information needed to run the service.

Built per language, not machine-translated

English, French, and Spanish content is each generated and reviewed on its own. We don't run AI output through a translator and hope for the best.

The standards we hold ourselves to

The full list of accessibility, privacy, security, and content standards we comply with or actively target. We label honestly: Compliant means in place today; Target means we build to it and verify continuously, with an audit still in progress.

Accessibility

WCAG 2.2 Level AA

Target

W3C Rec — October 2023

The 2023 update to WCAG that adds nine new success criteria. Implemented: SC 2.4.11 Focus Not Obscured (scroll-padding-top prevents sticky nav from hiding focused elements); SC 2.5.8 Target Size Minimum (all interactive elements ≥ 24×24 px); SC 3.2.6 Consistent Help (Privacy, Accessibility, and Contact links appear in the same footer location on every page); SC 3.3.8 Accessible Authentication (no CAPTCHA or cognitive test on any auth flow). Remaining criteria are being audited.

WCAG 2.1 Level AA

Target

W3C Rec — June 2018

Full web-portal compliance with all Level A and AA success criteria including perceivable, operable, understandable, and robust requirements. Verified automatically on every build with axe-core (WCAG2A + WCAG2AA + best-practice rule sets).

Dyslexia-Friendly Font — OpenDyslexic

Compliant

OpenDyslexic v3.003

Students can switch body text to OpenDyslexic via Settings. The preference is persisted in a cookie so the server-side render applies the correct font before React hydrates — eliminating any flash of unstyled text.

Windows High Contrast / Forced Colors Mode

Compliant

CSS4 · WCAG 2.1 SC 1.4.11

A dedicated @media (forced-colors: active) block ensures all interactive elements, status badges, and focus rings remain visible when the OS overrides author colours with the system palette (ButtonText, Highlight, GrayText).

Colour Contrast — 4.5:1 Normal Text / 3:1 Large Text

Target

WCAG 2.1 SC 1.4.3

All text–background combinations meet or exceed the AA contrast thresholds. The OKLCH perceptually-uniform colour space is used throughout so contrast values are accurate across display profiles.

Screen Reader Support (WAI-ARIA 1.2)

Compliant

W3C Rec — June 2023

Interactive widgets use correct ARIA roles, aria-label, aria-hidden, and aria-invalid attributes. Decorative icons are hidden from the accessibility tree. Live regions (role="status") announce time-sensitive updates such as the demo countdown banner.

Keyboard Navigation — Focus Visible

Compliant

WCAG 2.1 SC 2.1.1 + 2.4.7

All interactive elements are reachable via Tab and have a visible focus ring (:focus-visible). A skip-to-main-content link at the top of every page lets keyboard users bypass repeated navigation.

Section 508 of the Rehabilitation Act

Compliant

US Federal — 2018 Refresh

US federal accessibility standard for ICT, required for procurement by federal agencies and publicly funded educational institutions. The technical standard for web content references WCAG 2.0 Level AA; our WCAG 2.1 AA compliance exceeds this requirement.

EN 301 549 v3.2.1

Compliant

ETSI — August 2021

European standard for accessibility requirements for ICT products and services. Required for EU public-sector procurement under the European Accessibility Act (Directive 2019/882). References WCAG 2.1 AA for web content — satisfied by our existing WCAG 2.1 AA compliance.

AODA — Accessibility for Ontarians with Disabilities Act

Compliant

Ontario, Canada — IASR, January 2012

Ontario law requiring public-facing websites to meet WCAG 2.0 Level AA and publish an Accessibility Statement with a feedback mechanism. Our WCAG 2.1 AA target exceeds the WCAG 2.0 AA minimum. An Accessibility Statement is published at /accessibility with a dedicated feedback email.

Android TalkBack / iOS VoiceOver

Target

WCAG 2.1 Mobile Guidance

PSA and notification content is authored to be fully readable by TalkBack (Android) and VoiceOver (iOS) through semantic HTML, ARIA labels, and no information conveyed by colour alone.

Privacy & Legal

COPPA — Children's Online Privacy Protection Act

Compliant

FTC Rule — amended 2013

Students under 13 require verifiable parental consent before account activation. No data is collected until account_status = 'active'. Only the minimum necessary PII is collected (name, email, grade, locale). No location data, device IDs, or behavioural fingerprinting.

FERPA — Family Educational Rights and Privacy Act

Compliant

20 U.S.C. § 1232g · 34 CFR Part 99

Student progress records, quiz scores, and lesson-view history are treated as educational records. Teacher and admin endpoints are scoped to the student's own institution. JWT secrets are separate for students, teachers, and internal staff so roles cannot be forged or crossed.

GDPR — Right to Erasure

Compliant

EU 2016/679 · Art. 17

Deleted student accounts are anonymised within 30 days: the student_id foreign key is stripped from progress records. No student data is shared with third parties without explicit consent.

SOPIPA — Student Online Personal Information Protection Act

Compliant

California — January 2016

Prohibits operators of school-related websites from using student data for targeted advertising, building profiles for non-educational purposes, or selling student information. StudyBuddy collects no advertising identifiers, performs no behavioural profiling, and shares student data only with sub-processors necessary to deliver the educational service (Auth0, AWS, SendGrid). A dedicated SOPIPA section is included in the Privacy Policy.

CCPA / CPRA — California Consumer Privacy Act

Compliant

California — amended by CPRA, January 2023

Grants California residents the right to know, delete, and opt out of the sale or sharing of their personal information. StudyBuddy does not sell or share personal information as defined under CCPA. A 'Do Not Sell or Share My Personal Information' statement and contact details for exercising rights are included in the Privacy Policy.

Security

PCI DSS SAQ-A

Compliant

PCI SSC v4.0 — March 2022

Payment card security standard. StudyBuddy uses Stripe Checkout (redirect model) — no card data ever touches our servers or passes through our application code. This limits scope to SAQ-A (the lowest-burden self-assessment questionnaire). Stripe holds PCI DSS Level 1 certification; our obligation is to complete and retain the SAQ-A annually.

Content

Age-Appropriate Content — Grades 5–12

Compliant

UK Age Appropriate Design Code (2021)

All AI-generated lessons, quizzes, and experiments are restricted to academic STEM topics. Content is reviewed by AlexJS for inclusive language before publication. Error messages exposed to students are non-technical and age-appropriate.

Reading-Level Accessibility

Compliant

Flesch-Kincaid · CAST UDL Guidelines

Lesson content is generated at 1–2 grade levels below the student's actual grade to maximise comprehension. PSA and emergency notifications target Flesch-Kincaid Grade 8 or below with multi-channel delivery (text + audio + visual).

Inclusive Language

Compliant

AlexJS v11

All AI-generated content passes AlexJS analysis before publication. Gender-neutral phrasing is enforced for professional roles. No gendered emoji in diagrams or examples.

EU AI Act — Transparency Obligation (Art. 50)

Compliant

EU 2024/1689 — in force August 2024

AI systems that generate or manipulate content must inform users that the content is AI-generated. An AIContentDisclosure notice is rendered at the bottom of every lesson, quiz, tutorial, and experiment page, stating that content was generated by the StudyBuddy AI pipeline and reviewed before publication.

Internationalisation

Multi-Language Support (EN / FR / ES)

Compliant

ISO 639-1 · next-intl 4.8.3

All student-facing UI strings are fully translated into English, French, and Spanish via next-intl. AI-generated lesson content is built separately per language by the content pipeline — no machine translation of AI output. Students switch locale in Settings; the preference is stored in the JWT.

HTML lang Attribute

Compliant

WCAG 2.1 SC 3.1.1

The <html lang="…"> attribute is set server-side from the user's active locale so screen readers announce content in the correct language without guessing.

Reviewing our setup for procurement? Ask us for the compliance one-pager →

What this means for you

For parents

Your child sees academic content that an adult has reviewed and approved — not raw AI output. Under-13 accounts stay locked until you give consent, and we collect only name, email, grade, and language.

For teachers

What you assign has already cleared structure and language checks and a human approval step. You can customize and re-review your school's content, and nothing changes underneath students without a tracked version.

For school & district admins

Records never cross school boundaries, content carries an audit trail from generation to publish, and the standards above map cleanly onto FERPA, COPPA, and WCAG line items in your procurement checklist.

Have a compliance question?

We're happy to walk your team through any gate or standard on this page — and to share documentation for your procurement review.