Files
picpeak/frontend/src/features/settings/usageFeatures.v3.json
T
Paul Nothaft aa6e5d613f chore(usage): make the capability catalog English-only
features.v2/v3/v4.json carried every name, description and definition
twice, once in English and once in German, inside a file that is source
code, is vendored byte-identically into the collector and is served as
the consented catalog. Source stays English. The German strings already
existed a second time in the frontend locale file, which is what the
consent dialog actually renders (UsageCatalog reads
productUsage.catalog.<key>, never the JSON), so the copy in the catalog
was a duplicate that could only ever drift.

The `de` fields are gone from all three catalogs, their frontend copies
and the inventory definitions; the docs coverage file and
FEATURE_COVERAGE.md list English only. Nothing on the wire changes: the
report schema is derived from the keys, and the catalog's text is not
part of any signature or consent version string.

The coverage test now pins the catalog to the en locale verbatim and
requires the de locale to cover every key and field, without dictating
its wording. The collector holds the same catalog files and needs the
same change to stay byte-identical, plus its German catalog strings
moved into its own locale file; that is filed there.
2026-09-07 08:26:10 +02:00

1293 lines
44 KiB
JSON

{
"schema_version": "usage.v3",
"consent_version": "usage-consent.v3",
"features": {
"crm": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "clients",
"name": {
"en": "Client management"
},
"configured": {
"en": "The clients capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_quotes": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "quotes",
"name": {
"en": "Quotes"
},
"configured": {
"en": "The quotes capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_invoices": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "bills",
"name": {
"en": "Invoices"
},
"configured": {
"en": "The bills capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_contracts": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "contracts",
"name": {
"en": "Contracts"
},
"configured": {
"en": "The contracts capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_projects": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "projects",
"name": {
"en": "Projects"
},
"configured": {
"en": "The projects capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_calendar": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "calendar",
"name": {
"en": "Admin calendar"
},
"configured": {
"en": "The calendar capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_hours": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "hoursLogging",
"name": {
"en": "Hours logging"
},
"configured": {
"en": "The hoursLogging capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"customer_portal": {
"category": "crm",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "customerPortal",
"name": {
"en": "Customer portal"
},
"configured": {
"en": "The customerPortal capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"accounting": {
"category": "accounting",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "accounting",
"name": {
"en": "Accounting"
},
"configured": {
"en": "The accounting capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"workflows": {
"category": "automation",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "workflows",
"name": {
"en": "Workflows"
},
"configured": {
"en": "The workflows capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"newsletters": {
"category": "communication",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "newsletters",
"name": {
"en": "Newsletters"
},
"configured": {
"en": "The newsletters capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"face_recognition": {
"category": "gallery",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "faces",
"name": {
"en": "ML face recognition"
},
"configured": {
"en": "The faces capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"custom_css": {
"category": "appearance",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Custom CSS"
},
"configured": {
"en": "Custom CSS is configured globally or applied through a gallery/theme/template; CSS text is not sent."
},
"used": {
"en": "Applied CSS observed after consent, without observing visitors."
}
},
"oauth": {
"category": "integration",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Admin SSO"
},
"configured": {
"en": "Admin OIDC is enabled and issuer/client configuration is present; no provider or credential values."
},
"used": {
"en": "Successful admin SSO login; no account, identity-provider or session details."
}
},
"smtp": {
"category": "communication",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "SMTP delivery"
},
"configured": {
"en": "An outgoing SMTP host is configured; no host, account, address or credentials."
},
"used": {
"en": "A successful explicitly initiated admin SMTP test/send; no recipients or messages."
}
},
"whatsapp": {
"category": "communication",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "WhatsApp integration"
},
"configured": {
"en": "The WhatsApp capability is enabled and a usable configuration is present; no phone number, token or template."
},
"used": {
"en": "Successful admin integration test; no recipient, message or delivery history."
}
},
"backup": {
"category": "operations",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Backups"
},
"configured": {
"en": "A full or database backup schedule is enabled; no schedule, path, storage sizes or backup names."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"s3_storage": {
"category": "integration",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "S3 storage"
},
"configured": {
"en": "S3 is configured for media or backups; no bucket, endpoint, credentials or object keys."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"share_mounts": {
"category": "integration",
"since": "usage.v1",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "External folders"
},
"configured": {
"en": "At least one gallery uses an external folder; only existence, no folder paths or gallery identifiers."
},
"used": {
"en": "An admin initiated an accepted external-folder import; no scanned paths, files or counts."
}
},
"galleries": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Gallery management"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"photo_management": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Media management"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"photo_exports": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Admin media export"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"photo_processing": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Media maintenance tools"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"archive_management": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Gallery archives"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"gallery_sharing": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Gallery sharing and QR"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"short_links": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Short links"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"gallery_categories": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Photo categories"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"event_types": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Event types and presets"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"slideshow": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "slideshow",
"name": {
"en": "Live slideshow"
},
"configured": {
"en": "The slideshow capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"transfers": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "transfers",
"name": {
"en": "PicTransfer"
},
"configured": {
"en": "The transfers capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"video_uploads": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Admin video uploads"
},
"configured": {
"en": "Video extensions are allowed in global upload settings; no uploaded-file metadata."
},
"used": {
"en": "At least one admin video file was successfully stored/accepted; no names, formats, lengths, sizes or processing/visitor history."
}
},
"camera_raw_uploads": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Admin camera RAW uploads"
},
"configured": {
"en": "Camera RAW (DNG) is allowed in global upload settings; no camera models or EXIF."
},
"used": {
"en": "At least one admin camera RAW upload was stored/accepted; only the capability bit, no filename or metadata."
}
},
"messaging": {
"category": "communication",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "messaging",
"name": {
"en": "Messaging tools"
},
"configured": {
"en": "The messaging capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"incoming_mail": {
"category": "communication",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "IMAP intake"
},
"configured": {
"en": "Incoming mail is enabled and an IMAP configuration is present; no mailbox, server, folders or credentials."
},
"used": {
"en": "A successful explicit admin connection test or non-skipped manual poll; no background intake, messages, attachments or counts."
}
},
"reminder_emails": {
"category": "communication",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"flag": "reminderEmails",
"name": {
"en": "Automatic event reminders"
},
"configured": {
"en": "The reminderEmails capability switch is effectively enabled; only a boolean."
},
"used": null
},
"email_templates": {
"category": "communication",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Email templates"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"email_webhook": {
"category": "communication",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Email webhook transport"
},
"configured": {
"en": "Both email webhook settings are present; no URL or secret."
},
"used": {
"en": "Successful explicitly initiated admin send/test through the webhook transport; no recipients, messages or automatic deliveries."
}
},
"accounting_incoming_invoices": {
"category": "accounting",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "incomingInvoices",
"name": {
"en": "Incoming invoices"
},
"configured": {
"en": "The incomingInvoices capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"accounting_expenses": {
"category": "accounting",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "expenses",
"name": {
"en": "Expenses"
},
"configured": {
"en": "The expenses capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"accounting_tax_report": {
"category": "accounting",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "taxReport",
"name": {
"en": "Tax reports"
},
"configured": {
"en": "The taxReport capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"accounting_ledger": {
"category": "accounting",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "accounting",
"name": {
"en": "Ledger and accounting export"
},
"configured": {
"en": "The accounting capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"crm_installments": {
"category": "crm",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Installment-plan tools"
},
"configured": {
"en": "Quotes or invoices are enabled; no actual payment plans, amounts or statuses are inspected."
},
"used": {
"en": "An admin saved an installment plan; no dates, amounts, currencies, payment status or document IDs."
}
},
"document_templates": {
"category": "crm",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Document presets and blocks"
},
"configured": {
"en": "Quotes or contracts are enabled, making document presets/blocks available; no template content."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"cms": {
"category": "appearance",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "CMS pages"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"public_site": {
"category": "appearance",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Public landing page"
},
"configured": {
"en": "The public landing-page setting is enabled; no page HTML, texts, domains or visitors."
},
"used": null
},
"branding": {
"category": "appearance",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Branding settings"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"seo_customization": {
"category": "appearance",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "SEO settings"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"admin_management": {
"category": "operations",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "userManagement",
"name": {
"en": "Admin and role management"
},
"configured": {
"en": "The userManagement capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"api_integration": {
"category": "integration",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "HTTP API integration"
},
"configured": {
"en": "An unrevoked, unexpired API credential exists; no tokens, names, scopes or owner data."
},
"used": {
"en": "Successful authenticated HTTP API capability call; only this bit, never URLs, request values, token/owner IDs or call counts. Does not trigger a report."
}
},
"webhooks": {
"category": "integration",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Outbound webhooks"
},
"configured": {
"en": "At least one active webhook is configured; no destinations, subscriptions, secrets or delivery logs."
},
"used": {
"en": "Successful explicit admin webhook test/replay; no automatic or visitor-triggered deliveries."
}
},
"restore": {
"category": "operations",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Restore"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"portable_backup": {
"category": "operations",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Portable PicPeak export/import"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"database_backup": {
"category": "operations",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "Database backups"
},
"configured": {
"en": "Scheduled database backups are enabled; no schedules, file names or database contents."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"s3_photo_storage": {
"category": "integration",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "S3 media storage"
},
"configured": {
"en": "S3 is the configured media backend and required credentials are present; no values are sent."
},
"used": {
"en": "Successful admin media storage/accepted upload to S3; no buckets, objects or sizes."
}
},
"s3_backups": {
"category": "integration",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "presence",
"name": {
"en": "S3 backup destination"
},
"configured": {
"en": "The configured backup destination is S3 with a bucket present; no bucket or credentials."
},
"used": {
"en": "An admin started a backup to the configured S3 destination or a successful S3 test upload; local exports never imply S3 use."
}
},
"analytics_dashboard": {
"category": "operations",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "flag",
"flag": "analytics",
"name": {
"en": "Existing analytics module"
},
"configured": {
"en": "The analytics capability switch is effectively enabled; only a boolean."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"feedback_moderation": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Feedback moderation"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"guest_management": {
"category": "gallery",
"since": "usage.v2",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Guest administration tools"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "A documented successful authenticated admin capability operation was observed since consent to this schema. No actor, operation history, parameters or counts."
}
},
"gallery_feedback_likes": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery likes enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_feedback_ratings": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery star ratings enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_feedback_comments": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery comments enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_feedback_favorites": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery favorites enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_feedback_reactions": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery reactions enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_feedback_color_labels": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery color labels enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_guest_accounts": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Guest identities enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_guest_uploads": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Guest uploads enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_downloads": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery downloads allowed"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"download_resolution_picker": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Download resolution picker enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_client_access": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Client access enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_watermarks": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Watermarks enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_image_protection": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Image protection enabled"
},
"configured": {
"en": "Enabled beyond the shipped defaults — a stronger protection level, canvas rendering, or right-click disabled — globally or on at least one gallery; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_reveal": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery reveal enabled"
},
"configured": {
"en": "Enabled in applicable gallery/global configuration; only existence across the installation, never gallery IDs or counts."
},
"used": null
},
"gallery_expiration": {
"category": "gallery_configuration",
"since": "usage.v2",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery expiration configured"
},
"configured": {
"en": "At least one gallery has an expiry configured; no dates, gallery IDs or counts."
},
"used": null
},
"photo_xmp_export": {
"category": "gallery",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "XMP export"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "An admin successfully generated an XMP export; no sidecars, filenames, ratings, selections or counts."
}
},
"photo_replacement": {
"category": "gallery",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Photo replacement"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "An admin upload actually replaced a photo successfully; no filenames, matching values, IDs or counts."
}
},
"photo_admin_marks": {
"category": "gallery",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "builtin",
"name": {
"en": "Photographer marks"
},
"configured": {
"en": "Built-in capability is available; this is not evidence of use."
},
"used": {
"en": "An admin successfully saved their own photo mark; no rating, color, photo or admin identity."
}
},
"gallery_folders": {
"category": "gallery_configuration",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Gallery folders configured"
},
"configured": {
"en": "An applicable global or gallery category is configured as a folder; no names, contents, counts or visitor activity."
},
"used": null
},
"transfer_upload_links": {
"category": "gallery_configuration",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "PicTransfer upload links enabled"
},
"configured": {
"en": "PicTransfer is enabled and a non-deleted transfer allows unexpired uploads; no links, tokens, dates, recipients or uploads."
},
"used": null
},
"workflow_automation_enabled": {
"category": "automation",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Workflow automation enabled"
},
"configured": {
"en": "The workflows module and at least one workflow are enabled; no names, graphs, triggers, decisions or runs."
},
"used": null
},
"s3_auto_import": {
"category": "integration",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "S3 automatic import enabled"
},
"configured": {
"en": "S3 media storage is configured and STORAGE_AUTO_IMPORT is enabled; no bucket, prefix, credentials, polling or imported objects."
},
"used": null
},
"crm_invoice_import": {
"category": "crm",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "flag",
"name": {
"en": "Invoice import"
},
"configured": {
"en": "The required product capabilities are effectively enabled; only a boolean."
},
"used": {
"en": "An admin successfully imported an existing invoice; no PDF, invoice number, amount, currency, customer or payment status."
},
"flag": "bills"
},
"crm_combined_billing": {
"category": "crm",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "capability",
"name": {
"en": "Combined billing"
},
"configured": {
"en": "The required product capabilities are effectively enabled; only a boolean."
},
"used": {
"en": "An admin successfully created a combined bill; no hours, expenses, customer, documents or financial values."
}
},
"crm_monthly_billing_manual": {
"category": "crm",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "flag",
"name": {
"en": "Manual monthly billing"
},
"configured": {
"en": "The required product capabilities are effectively enabled; only a boolean."
},
"used": {
"en": "An admin successfully released a monthly draft for delivery; actual email delivery is not measured. No scheduler activity, customer, cadence or invoice values."
},
"flag": "bills"
},
"crm_document_conversion": {
"category": "crm",
"since": "usage.v3",
"measurement": "configuration_and_use",
"configuration": "capability",
"name": {
"en": "Document conversion"
},
"configured": {
"en": "The required product capabilities are effectively enabled; only a boolean."
},
"used": {
"en": "An admin successfully converted a quote or contract into a document or gallery; no content, links, acceptance states or automatic workflows."
}
},
"gallery_capture_date_sort": {
"category": "gallery_configuration",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Capture-date sorting configured"
},
"configured": {
"en": "A gallery defaults to sorting by capture date; no capture dates, EXIF or visitor sorting actions."
},
"used": null
},
"download_original_filenames": {
"category": "gallery_configuration",
"since": "usage.v3",
"measurement": "configuration",
"configuration": "configuration",
"name": {
"en": "Original download filenames enabled"
},
"configured": {
"en": "The original-download-filenames switch is enabled; no filenames or downloads are read or sent."
},
"used": null
}
},
"inventory": {
"galleries": {
"name": {
"en": "Stored galleries"
},
"description": {
"en": "Current number of gallery records, including drafts, inactive and archived galleries. Deleted galleries are excluded. One total for the installation, no breakdown or identifiers."
}
},
"photos": {
"name": {
"en": "Stored photo records"
},
"description": {
"en": "Current number of non-video photo records, including RAW, guest uploads and records of archived galleries. One total for the installation; not unique files, thumbnails, processing success or photo contents. Deleted records are excluded."
}
}
}
}