Chalk is a unified K-12 data platform that connects your Student Information System (SIS) to identity, sync, and classroom tools — all from a single binary.
School districts pay thousands of dollars per year in per-student fees to services like Clever and ClassLink for data integration and SSO. Chalk is a self-hosted, open-source alternative that gives you the same capabilities — SIS sync, SAML SSO, vendor data feeds — without the recurring costs. You own your data, control your infrastructure, and avoid vendor lock-in. Chalk works with PowerSchool, Infinite Campus, Skyward, and any SIS that supports OneRoster CSV or API exports.
- SIS Connectors — PowerSchool, Infinite Campus, Skyward
- Identity Provider — SAML 2.0 SSO with QR badge and picture password login
- Google Workspace Sync — Automated user provisioning and OU management
- OneRoster 1.1 — CSV import/export and REST API
- Clever-Compatible SSO — Drop-in Clever API replacement for seamless vendor migration
- ClassLink-Compatible SSO — Drop-in ClassLink API replacement
- Active Directory Sync — Automated AD user provisioning via LDAP
- Migration Tools — Switch from Clever or ClassLink with guided migration
- Admin Console — HTMX-powered web UI with dashboard, user directory, and settings
- Security — Session auth, CSRF protection, AES-256-GCM encryption at rest, audit logging
- Operating System — Linux or macOS (Windows supported for development)
- SQLite — Version 3.35 or later
- Network Access — Connectivity to your SIS instance (PowerSchool, Infinite Campus, or Skyward)
Download the latest binary for your platform:
| Platform | Download |
|---|---|
| Linux (x86_64) | chalk-x86_64-unknown-linux-gnu |
| macOS (Apple Silicon) | chalk-aarch64-apple-darwin |
| macOS (Intel) | chalk-x86_64-apple-darwin |
| Windows (x86_64) | chalk-x86_64-pc-windows-msvc.exe |
Linux / macOS one-liner:
curl -fsSL https://github.com/usechalk/chalk/releases/latest/download/chalk-$(uname -m)-$(case "$(uname -s)" in Linux*) echo unknown-linux-gnu;; Darwin*) echo apple-darwin;; esac) -o chalk && chmod +x chalk && sudo mv chalk /usr/local/bin/After installing, run chalk update to stay current with future releases.
# Initialize
chalk init --data-dir /var/lib/chalk --provider powerschool
# Configure your SIS credentials in chalk.toml, then sync
chalk sync --config /var/lib/chalk/chalk.toml
# Start the admin console
chalk serve --config /var/lib/chalk/chalk.toml --port 8080See chalk.example.toml for a fully commented configuration template.
git clone https://github.com/usechalk/chalk.git
cd chalk
cargo build --release
# Binary at target/release/chalkRequires Rust stable and SQLite3. See CONTRIBUTING.md for development setup.
- Getting Started — Installation, initialization, and first sync
- Configuration — TOML configuration reference
- Architecture — System design and crate overview
- Identity Provider — SAML SSO, QR badges, and picture passwords
- Google Workspace Sync — User provisioning and OU management
- OneRoster API — REST API for OneRoster 1.1 data access
- Migration: Clever — Migrating from Clever
- Migration: ClassLink — Migrating from ClassLink
- Clever-Compatible SSO — Drop-in replacement for Clever SSO
- ClassLink-Compatible SSO — Drop-in replacement for ClassLink SSO
- Active Directory Sync — LDAP user provisioning and OU management
- SSO Partner Guide — Integrating apps via SAML 2.0 and OIDC
- SSO School Setup — Configuring SSO for your school
- Webhooks — Real-time event notifications for data changes
- Security — Authentication, encryption, and security hardening
- Deployment — Production deployment with reverse proxy and systemd
| Command | Description |
|---|---|
chalk init |
Initialize data directory and database |
chalk sync |
Run SIS data sync |
chalk serve |
Start admin console web server |
chalk status |
Show instance status |
chalk update |
Self-update to the latest release |
chalk update --check |
Check for updates without installing |
chalk import |
Import OneRoster CSV data |
chalk export |
Export data to OneRoster CSV |
chalk migrate |
Migrate from Clever or ClassLink |
chalk google-sync |
Run Google Workspace sync |
chalk ad-sync |
Sync roster data to Active Directory |
See CONTRIBUTING.md.
Chalk is licensed under the GNU Affero General Public License v3.0.