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
This commit is contained in:
parent
c40d7d056e
commit
33375c9221
22 changed files with 761 additions and 2821 deletions
|
|
@ -61,6 +61,14 @@ COPY docker/zammad/setup.rb contrib/link/setup.rb
|
|||
COPY docker/zammad/install.rb contrib/link/install.rb
|
||||
RUN ruby contrib/link/install.rb
|
||||
|
||||
# --- ProofMode gem (for media-verify addon) ---
|
||||
# The proofmode gem provides C2PA and ProofMode verification via Rust FFI.
|
||||
# Install from pre-built .gem file (built from https://gitlab.com/guardianproject/proofmode/proofmode-rust CI).
|
||||
COPY docker/zammad/gems/ contrib/link/gems/
|
||||
RUN for gem in contrib/link/gems/*.gem; do \
|
||||
[ -f "$gem" ] && gem install "$gem" --no-document || true; \
|
||||
done
|
||||
|
||||
# OpenSearch compatibility: 'flattened' -> 'flat_object'
|
||||
RUN sed -i "s/'flattened'/'flat_object'/g" lib/search_index_backend.rb
|
||||
|
||||
|
|
|
|||
0
docker/zammad/gems/.gitkeep
Normal file
0
docker/zammad/gems/.gitkeep
Normal file
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# uninstall
|
||||
# Include both Bridge (legacy) and Link (new) for migration support
|
||||
package_names = %w[Hardening Bridge Link]
|
||||
package_names = %w[Hardening Bridge Link MediaVerify]
|
||||
|
||||
package_names.each do |name|
|
||||
puts "Attempting to uninstall #{name} package..."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue