Skip to content

Archived in v1.1. This feature area was renamed and moved to Instructor Experiences as Credentials & Certificate Management.

Credentials & Certificates

Overview

Credentials & Certificates covers the issuance, display, and verification 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.

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.

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 credentials service when all program courses are completed
  • Learner record: frontend-app-learner-record MFE shows all earned credentials and allows sharing
  • Themes: credentials-themes provides customizable certificate templates per organization
  • Verification: Public certificate URLs are verifiable; certificates contain learner name, course, date, grade
  • Legacy PDF: Historical PDF certificate generation deprecated in favor of HTML certificates

Architecture

  • credentials service: Standalone Django app; receives signals from edx-platform when courses are completed; manages credential issuance and sharing
  • edx-platform integration: LMS sends completion/grade signals; credentials listens 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

RepositoryRole in This FeatureActivity LevelNotes
openedx/credentialsCredentials service: issuance and managementHighCore service
openedx/frontend-app-learner-recordLearner record and credential viewer MFEMediumView/share credentials
openedx/credentials-themesCertificate HTML templates and themesLowPer-org customization
openedx/openedx-platformGrade thresholds, certificate signals, legacy cert generationHighSignal source

Recent Changes

  • PDF certificate generation removed in favor of HTML certificates
  • Program credential improvements in credentials service

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

YearMilestoneTeams / People Involved
~2013Course completion certificates launchedUnknown
~2015–2016Program credentials introducedUnknown
~2017–2018credentials service extracted from monolithUnknown
~2019–2020PDF certificates deprecated; HTML certificates become standardUnknown

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 credentials service extracted from edx-platform vs. 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?

Schema Education — Internal Research