Credentials & Certificate Management
Overview
Credentials & Certificate Management covers the issuance, configuration, and management of course completion certificates and program credentials. When a learner completes a course (meeting grade thresholds), the platform generates a certificate; completing a program of courses generates a program credential.
This area sits in Instructor Experiences because certificate generation is triggered by course completion events, certificate management (blocking, regeneration, configuration) is performed by course staff, and credential issuance is tied to instructor-set grade policies.
The credentials service is a standalone Django microservice extracted from edx-platform to handle certificate generation, storage, and verification. Certificates are publicly shareable and verifiable via URL.
Moved from v1.0 Learner Experiences. Previously documented as Credentials & Certificates (archived).
Current State (2026)
- Certificate generation: Triggered by grade thresholds; generated as signed HTML pages (not PDFs) with unique shareable URLs
- Program credentials: Issued by the
credentialsservice when all program courses are completed - Learner record:
frontend-app-learner-recordMFE shows all earned credentials and allows sharing - Themes:
credentials-themesprovides customizable certificate templates per organization - Verification: Public certificate URLs are verifiable; certificates contain learner name, course, date, grade
- Certificate management: Instructors can invalidate certificates, regenerate them after grade changes, and configure certificate eligibility criteria
- Legacy PDF: Historical PDF certificate generation deprecated in favor of HTML certificates
Architecture
credentialsservice: Standalone Django app; receives signals fromedx-platformwhen courses are completed; manages credential issuance and sharingedx-platformintegration: LMS sends completion/grade signals;credentialslistens and issues certificates- Certificate rendering: HTML templates rendered server-side with learner data; not PDF (PDF generation was dropped)
- Sharing: Each certificate has a unique URL; learner can share on LinkedIn, email, etc.
- Program logic: Program completion tracked by
credentials; checks all required course certificates
Relevant Repositories
| Repository | Role in This Feature | Activity Level | Notes |
|---|---|---|---|
| openedx/credentials | Credentials service: issuance and management | High | Core service |
| openedx/frontend-app-learner-record | Learner record and credential viewer MFE | Medium | View/share credentials |
| openedx/credentials-themes | Certificate HTML templates and themes | Low | Per-org customization |
| openedx/openedx-platform | Grade thresholds, certificate signals, legacy cert generation | High | Signal source |
Recent Changes
- PDF certificate generation removed in favor of HTML certificates
- Program credential improvements in
credentialsservice
History
Origin
- Year introduced: ~2013 (certificates launched early in edX history)
- Initial implementation: Certificates generated directly in
edx-platform; PDF rendered via background Celery task - Context: Certificates were a key value proposition for MOOCs — social proof of completion that learners could share with employers
Key Milestones
| Year | Milestone | Teams / People Involved |
|---|---|---|
| ~2013 | Course completion certificates launched | Unknown |
| ~2015–2016 | Program credentials introduced | Unknown |
| ~2017–2018 | credentials service extracted from monolith | Unknown |
| ~2019–2020 | PDF certificates deprecated; HTML certificates become standard | Unknown |
People Who Shaped This Area
- Engineering: Unknown — open question for interview
- Product: Unknown — open question for interview
- Design: Unknown — open question for interview
Open Questions
- [ ] When were certificates first introduced and what form did they take?
- [ ] Why was the
credentialsservice extracted fromedx-platformvs. kept in the monolith? - [ ] What drove the decision to abandon PDF certificates in favor of HTML?
- [ ] How does certificate verification work technically — what prevents forgery?
- [ ] When were program credentials introduced and what was the product reasoning?
- [ ] How are certificate templates customized per institution/organization?
- [ ] What certificate management operations can course staff perform vs. platform admins?