Lucas WintherandClaude Opus 5.5 ddc66f5be5 feat(ai): encrypt MCP env and headers at rest and mask them in the admin API
env/headers are sealed into secretCipher with the BYOK AES-GCM/HKDF box.
The admin GET returns masked values; a mask posted back for the same
server and key keeps the stored value, any other mask is a 400. The chat
and the test button use the stored values. upgradeAiData seals plaintext
v1 rows.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 20:33:56 +01:00
2026-10-30 15:17:58 +01:00
2026-10-30 02:47:42 +01:00
2026-10-30 02:47:42 +01:00
2026-10-30 02:47:42 +01:00
2026-10-30 15:17:58 +01:00

STCourses

STCourses is a self-hosted course platform. Homelabbers, universities and companies host their own courses, plus material they already own such as Packt video packages or Pluralsight slide PDFs, in one place that tracks progress. Authors write in Markdown in a git repo or in a browser studio; both edit the same files. Each install has one owner and is not multi-tenant.

Development

bun install          # install workspace dependencies
bun test             # run all tests
bun run typecheck    # tsc --noEmit
bun run dev          # start the server with hot reload

Running it

STC_SECRET=... docker compose up -d (add --profile postgres and STC_DATABASE_URL for Postgres). Mounts, configuration and the measured memory budget are in docs/operations.md.

License: AGPL-3.0-only.

S
Description
No description provided
Readme AGPL-3.0
958 KiB
Languages
TypeScript 97.8%
CSS 1.7%
Dockerfile 0.2%
Python 0.1%