Skip to content

Latest commit

History

2,119 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CaSS

Competency and Skills System — Open-source competency framework management, assertion tracking, and learner profile computation.

Overview

CaSS enables organizations across education, training, and workforce development to author competency frameworks, record assertions of individual competency attainment, compute learner profiles, and exchange competency data with external systems via standards-based protocol adapters.

The system is composed of:

  • CaSS Server — A Node.js/Express application providing the REST API, data persistence (via Elasticsearch), and protocol adapters.
  • CaSS Library — A JavaScript SDK (cassproject) providing data models, cryptographic identity management, and an interoperability layer for web applications.
  • CaSS Editor — A Vue.js single-page application for framework authoring, crosswalks, import/export, and user management.
  • Protocol Adapters — Pluggable cartridges providing standards-based interoperability (xAPI, CTDL-ASN, IMS CASE, Open Badges 2.0, ASN, MCP, and more).

Quick Start

Docker (Recommended)

Docker images for standalone and distributed deployments are available on Docker Hub:

https://hub.docker.com/r/cassproject/cass

Use the provided Docker Compose files for common configurations:

docker compose up -d

See DEPLOYMENT.md for detailed Docker, Kubernetes, and production deployment guidance.

Local Development

git clone --recurse-submodules https://github.com/cassproject/CASS
cd CASS
npm install
npm run dev # Starts server with auto-restart on save

Prerequisites: Docker (pulls and runs Elasticsearch on port 9200).

Running Tests

npm test# Runs the full test suite (do not run alongside npm run dev)

Generating API Documentation

npm run docs # Output deposited in /docs

Production

Use containerized builds. See the Docker Compose files in the repository root for examples.

Post-Installation

To support open linked data, objects created in CaSS should have public, reliable URLs:

  1. Assign the server a domain name.
  2. Enable HTTPS (see CONFIGURATION.md).
  3. (Optional) Use a reverse proxy to control the endpoint.

FIPS 140-3 Support

FIPS is supported both client-side and server-side. It is recommended to use the Docker container builds for FIPS compliance.

→ Server →Legacy (pre-FIPS)OpenSSL with --force-fipsOpenSSL with --force-fips and REJECT_SHA1=true
Client / Library
Legacy (pre-FIPS)SHA-1 (no FIPS)SHA-1 (verify only)Incompatible
Legacy + OpenSSL FIPS moduleSHA-1 (partial FIPS)SHA-1 (verify only)Incompatible
CurrentSHA-1 (no FIPS)SHA-1 (verify only*), SHA-256 (FIPS)SHA-256 (FIPS)
Current + FIPS=trueSHA-1 (partial FIPS)SHA-1 (verify only*), SHA-256 (FIPS)SHA-256 (FIPS)
Current + --force-fipsIncompatibleSHA-256 (FIPS)SHA-256 (FIPS)

Partial FIPS — SHA-1 hashing is still used; all other cryptographic operations use the FIPS module.
Verify only — Uses the exception permitting SHA-1 verification but not generation.
Verify only* — May fall back to SHA-1 verification if SHA-256 negotiation failed, but typically will not use SHA-1.

Source: OpenSSL FIPS 140-3 Announcement

Documentation

DocumentDescription
REQUIREMENTS.mdSoftware Requirements Specification (DI-IPSC-81433A)
DESIGN.mdSystem Design Document (DI-IPSC-81435A)
DATABASE.mdDatabase Design Description (DI-IPSC-81437A)
CONFIGURATION.mdServer configuration guide
DEPLOYMENT.mdDeployment guide (Docker, Kubernetes, bare metal)
ENVIRONMENT.mdEnvironment variable reference
FILE.mdRepository file structure reference
RELEASE.mdRelease process and automation
CONTRIBUTING.mdContribution guidelines
CODE_OF_CONDUCT.mdCode of conduct
CHANGELOG.mdVersion history and release notes

External Documentation

ResourceURL
User & Administrator Docshttps://docs.cassproject.org
Developer Docshttps://devs.cassproject.org
CaSS Library (GitHub)https://github.com/cassproject/cass-npm
CaSS Library (npm)https://www.npmjs.com/package/cassproject
Docker Imageshttps://hub.docker.com/r/cassproject/cass

License

Apache License 2.0

Releases

Packages

Used by

Contributors

Languages