Migration
Migrate from ClassLink without breaking integrations.
Chalk is a drop-in OAuth 2.0 replacement for ClassLink. Keep your downstream app integrations working while you switch — same flow, same scopes, and explicit role mapping for student, teacher, and admin.
How it works
Three steps. ClassLink and Chalk can run side-by-side during the cutover, so you can validate one app at a time.
01
Connect your SIS to Chalk
Point Chalk at PowerSchool, Skyward, or Infinite Campus. Chalk pulls the canonical roster via OneRoster 1.1.
02
Repoint your apps at Chalk
Update your existing ClassLink-integrated apps to Chalk's compatibility endpoints. Same OAuth 2.0 flow, same scopes, same payload shape.
03
Run the cutover wizard
Map roles in the admin console — student, teacher, and admin all carry over. Roll over apps at your own pace.
What's compatible
The OAuth 2.0 contract and the role mapping that ClassLink integrations depend on. Every district's edge cases differ — talk to us about your specific app inventory.
OAuth 2.0 authorization flow
Same authorize / token / refresh dance your apps already implement against ClassLink's LaunchPad.
Role mapping: student / teacher / admin
ClassLink-specific role values are mapped explicitly to OneRoster roles so downstream apps see what they expect.
User info endpoints
User info responses that match ClassLink's payload shape, including school and grade context.
Roster payloads
Classes, sections, and enrollment membership delivered in the shape your apps already parse.
Why districts switch
Districts move off ClassLink for the same reasons they move off any rostering vendor: cost, control, and trust.
Free for schools
No per-seat fees, no per-API-call billing. The product is free for K-12 districts.
Data ownership
Self-host on your infrastructure, or let us host it — either way the roster is yours.
No vendor lock-in
OneRoster 1.1 in, OneRoster 1.1 out. If you ever leave Chalk, you leave with standard data.
Open source
AGPL-3.0. Read the code, audit the security model, contribute fixes.
Ready to start your migration?
Spin up a free Chalk tenant and test the ClassLink-compatible endpoints against one app before you commit to the cutover.