Skip to main content
clg-core · required infrastructure

The quiet machinery behind trustworthy civic services.

Crumina Core gives every module one secure way to handle files, search, settings, migrations, auditing, background work, health checks, and data erasure — without turning infrastructure into another dashboard staff must manage.

Explore features All modules
One foundation

Infrastructure every module can trust

Shared contracts remove duplicated security decisions and make provider changes predictable.

Privacy by contractCapabilities and visibility are checked before protected files, searches, previews, and exports are returned.
One operational modelModule migrations, scheduled work, health endpoints, and command-line tools follow the same site-local rules.
Replaceable providersStart with local storage and native search, then add a provider without rewriting feature modules.
Core services

Everything underneath the interface

Core stays focused on infrastructure. Public pages, blocks, workflows, and feature data remain with the plugins that own them.

  • Schema migrations and site-local table names
  • Audit logging for sensitive mutations
  • Settings registry and encrypted secrets
  • Module registry and package installation
  • Explicit data erasure workflows
  • Storage contract with local default
  • Search contract with native fallback
  • Task dispatcher for cron and operations
  • Health endpoints for live and ready checks
  • Shared REST permissions and operations helpers
Designed to evolve

Change providers without changing resident experiences

Feature moduleDocuments, Meetings, Feedback, and Projects ask Core for a managed service.
Core contractOne storage or search interface enforces the same application expectations.
Selected providerLocal, S3, Google Drive, native search, or Meilisearch handles the implementation.
Try it

See the shared foundation in action

Explore a demo agency where every module, file, search result, and staff workflow runs on the same secure Core services.