Secure digital helpdesk platform
Find a file
Claude 33375c9221
Add media verification addon with C2PA/ProofMode support
Introduces a new zammad-addon-media-verify package that uses the proofmode
Ruby gem (built from proofmode-rust) to verify media attachments on tickets
for C2PA content credentials and ProofMode cryptographic proofs.

The addon runs as a Zammad scheduled job that:
- Scans incoming ticket articles for media attachments (images, video, audio, PDFs, ZIPs)
- Calls proofmode check_files() to verify C2PA manifests, PGP signatures,
  OpenTimestamps, and EXIF metadata
- Posts a human-readable verification report as an internal note on the ticket
- Tracks checked articles via preferences to avoid duplicate processing

Also restores the zammad-addon-common package (previously removed in repo cleanup)
to share build tooling (ZPM builder and migration generator) between addon packages,
keeping things DRY. The link addon now imports from common instead of inlining these.

Docker integration:
- Dockerfile updated to install proofmode gem from docker/zammad/gems/
- setup.rb updated to handle MediaVerify package lifecycle

https://claude.ai/code/session_01GJYbRCFFJCJDAEcEVbD36N
2026-02-15 13:56:57 +00:00
.claude/skills/zammad-compat Latest zammad compatibility 2026-02-13 21:04:36 +01:00
apps Make APIs more similar 2026-02-15 10:29:52 +01:00
docker Add media verification addon with C2PA/ProofMode support 2026-02-15 13:56:57 +00:00
docs Split/merge WIP 2025-12-19 11:37:20 +01:00
packages Add media verification addon with C2PA/ProofMode support 2026-02-15 13:56:57 +00:00
scripts WhatsApp/Signal/Formstack/admin updates 2025-11-21 14:55:28 +01:00
.dockerignore Latest zammad compatibility 2026-02-13 21:04:36 +01:00
.editorconfig Align node and npm versions to fix overrides 2023-06-07 10:25:53 +00:00
.gitignore Add media verification addon with C2PA/ProofMode support 2026-02-15 13:56:57 +00:00
.gitlab-ci.yml Repo cleanup 2026-02-10 08:36:04 +01:00
.nvmrc Update Baileys to 7RC 2026-01-14 11:00:41 +01:00
CLAUDE.md Add Claude .md and skill 2026-02-13 18:34:13 +01:00
LICENSE.md Begin addon reorganization 2023-05-03 10:36:37 +00:00
package.json Make APIs more similar 2026-02-15 10:29:52 +01:00
pnpm-lock.yaml Add media verification addon with C2PA/ProofMode support 2026-02-15 13:56:57 +00:00
pnpm-workspace.yaml Repo cleanup 2 2026-02-10 15:58:26 +01:00
README.md Dummy commit to make CI run again 2025-11-23 10:31:03 +00:00
turbo.json Make APIs more similar 2026-02-15 10:29:52 +01:00

CDR Link

CDR Link is a simple & streamlined helpdesk that lets you tag, assign and respond to your tickets. It is developed by the Center for Digital Resilience and powered by Zammad.

Key differences between CDR Link and a standard Zammad installation:

  • In addition to the full Zammad interface, CDR Link also provides a simplified 'shell' interface that focuses on the most-commonly-used functionality.
  • Additional channels to communicate with users, including Signal, Whatsapp & Twilio voice messaging.
  • More stringent privacy defaults: ticket data is never sent over email and calls to third-party services are restricted.

Developing

This is a monorepo that contains CDR Link and several supporting applications and libraries. It also includes Dockerfiles to build all of the other containers required for an installation. By tagging our own versions of these dependencies, we can make sure that different versions of the supporting containers all work together and are updated in sync.

We use Turborepo to manage development and building of the packages. To get started:

  • npm install in the root directory
  • turbo build to build all packages

To run a single package:

  • turbo dev --filter @link-stack/link