Aevum Digital · Enterprise service management software
Onboarding a customer should be configuration, not a codebase.
We build OpsDesk — a multi-tenant, configuration-driven IT Service Management platform for managed infrastructure service providers. Every customer's workflows, SLAs, forms, approvals, notifications and CMDB schema are stored as validated JSON and interpreted by generic runtime engines. One deployment serves many customers, and none of them need a custom fork.
The product
OpsDesk
Service providers running IT for many customers face the same trap: each customer wants their own intake forms, escalation rules, approval chains and asset model, and the usual answer is a per-customer branch of the product. OpsDesk removes that trap by treating per-customer behaviour as data. The engine is generic; the behaviour is configuration authored in an admin studio, schema-validated, versioned, and rolled back like any other artifact.
Incident, problem & change
ITIL v4 practices over a shared ticket model — incident, problem, change and request — each with its own state machine, driven from configuration rather than hard-coded status buttons.
Service catalog & portal
A per-customer branded portal with a configurable request catalog, dynamic forms, approval chains and a knowledge base with search.
CMDB & discovery
A governed configuration-item taxonomy as the shared context graph, with typed relationships, impact and dependency traversal, and network, cloud and agent-based discovery that reconciles into one identity engine.
Event correlation
Monitoring signal is normalised, deduplicated and bound to a configuration item, then correlated by topology into situations with a probable root cause — and cross-checked against recent changes.
Guarded automation
Operational automations run on a sandboxed runner pool with ephemeral credentials, behind entitlement, authorization, parameter, blast-radius, rate and approval guards. Vetted signatures can remediate on their own.
Hardware, software & field service
Hardware and software asset management aligned to ISO/IEC 19770-1 concepts, with licence position, depreciation schedules, and scheduling and dispatch for on-site field work.
How it is built
Generic engines, interpreted configuration
The platform's leverage is a small set of runtime engines built once and reused by every module. A module never hard-codes behaviour that varies by customer; it calls an engine, and the engine reads that customer's configuration.
- Workflow
- A state-machine executor over a definition of states, transitions, role and field guards, and transition actions.
- SLA
- Calendar-aware response and resolution timers with pause, resume, business-hours and holiday handling, breach detection and compliance aggregates.
- Notification
- Event-driven dispatch across email, in-app, SMS, chat and webhook channels, with templates, recipient resolvers, queueing and retry.
- Approval
- Sequential, parallel and majority approval chains over any record, with delegation, timeouts and signed single-use quick-approve links.
- Form
- Dynamic form rendering with authoritative server-side validation, storing each submission against the schema version that produced it.
- CMDB graph
- Depth-limited, cycle-safe traversal of typed configuration-item relationships for impact and dependency analysis.
- Reporting
- A configuration-driven semantic layer — declared datasets, joins and allow-listed dimensions and measures compiled into safe parameterised queries.
- Automation
- A guarded executor for operational runbooks on a sandboxed runner pool, with ephemeral credentials and a live output stream.
- Event
- Ingest, normalise, deduplicate and correlate monitoring signal into configuration-item-anchored alerts and situations.
- Authorization
- Deny-by-default role-based access control with composable roles and a per-customer permission catalog, enforced server-side at every boundary.
- Discovery
- A collector-orchestrator and pattern interpreter that scans a registered estate and reconciles findings through the existing identity engine.
Platform guarantees
The properties we refuse to trade
Tenant isolation is structural, not conditional
Each customer's business records live in their own PostgreSQL schema. The active tenant is derived server-side from the authenticated token and the request host — never from a client-supplied value — and every query is scoped to exactly one tenant. Cross-customer views for provider staff are an explicit, audited per-tenant fan-out, never a cross-schema join.
Two identity planes
Customer users authenticate against their own identity realm and are scoped to their one tenant. Provider staff authenticate against a separate control-plane realm and are scoped to an entitlement set of assigned accounts. A customer token can never reach a control-plane operation.
Everything is audited, nothing is hard-deleted
Every field and state change on a business record is recorded immutably with actor, timestamp and before/after values. History is append-only. Records retire into terminal states; audit rows outlive their parents.
Invalid configuration never goes live
Each engine owns and publishes a JSON schema for its configuration type. Publishing validates, versions and invalidates the engine cache. Rollback republishes a prior version as a new version, so history is never rewritten.
Slow work never blocks a request
Notification dispatch, SLA breach polling, exports and outbound webhooks run on a job queue. A failing side-effect degrades quietly instead of failing the caller, and retryable engine operations are idempotent by construction.
Acceptance criteria are the contract
Every criterion in a module specification becomes an automated test. Each engine ships an executable verification suite wired into continuous integration, alongside cross-tenant isolation tests, static tenancy analysis and browser-level end-to-end flows.
Technology
A deliberately boring, well-understood stack
End-to-end TypeScript across the API, the front end and the configuration layer, on infrastructure that runs equally well self-hosted or in the cloud.
| Layer | Choice |
|---|---|
| API framework | NestJS · Node.js 20 LTS · TypeScript (strict) |
| Primary database | PostgreSQL 16 — schema-per-tenant, JSONB configuration |
| Asynchronous jobs | BullMQ on Redis 7 |
| Search & aggregation | OpenSearch 2 |
| Object storage | S3-compatible (SeaweedFS) |
| Front end | Next.js 14 App Router · React Query · shadcn/ui + Radix |
| Identity | Keycloak — OIDC / SAML, realm per customer plus a provider realm |
| Orchestration | Docker · K3s |
| Observability | Prometheus · Grafana · Loki · Tempo (OpenTelemetry) |
| Secrets | HashiCorp Vault — including ephemeral automation credentials |
Third-party product names above identify the technologies OpsDesk is built on or interoperates with. They do not imply any sponsorship, endorsement or affiliation.
Where we are
Status
OpsDesk is pre-launch and in active development. We are not yet selling it, and we are being deliberate about saying so. A seeded multi-customer demonstration environment runs continuously for evaluation and internal review.
Foundation and core engines
Multi-tenancy core, identity and authorization, the configuration and metadata store, audit and event bus, and the Workflow, SLA, Notification, Approval and Form engines.
Service management modules
Incident, problem and change management, the service catalog, knowledge base, customer portal and reporting, each driven from seeded configuration rather than code.
Operations plane and control plane
CMDB and discovery, event correlation, guarded automation, asset and field-service management, and the unified admin configuration studio.
Hardening and first customers
Security hardening, load and performance testing, dependency and platform currency work, then onboarding the first design-partner customers.
About
Aevum Digital
Aevum Digital is a small, independent software company based in India. We build operational software for the people who keep infrastructure running — starting with OpsDesk.
We work against open, public standards rather than any vendor's product: ITIL v4 for service management practices, ISO/IEC 20000-1 for the management system, and ISO/IEC 19770-1 for software asset management. Our engineering bias is towards fewer moving parts, explicit behaviour, and correctness properties we can prove with a test rather than assert in a brochure.
Contact
Get in touch
Evaluating OpsDesk, interested in a design-partner engagement, or want a walkthrough of the demonstration environment? Email us and we will reply.