Skip to content
SPECIFICTION
Get listed

miniMDM

minimdm.dev

Free plan Open source WebAPISelf-hosted

What it is

miniMDM is a self-hosted application for managing business records such as customers, products, locations, and custom data objects. It is intended for teams whose reference data has outgrown spreadsheets but does not call for a multi-year enterprise MDM rollout. Teams define objects in YAML or JSON, including fields, types, references, and required flags. Records can progress through draft, active, and retired states; each edit creates a version that users can review or restore. Viewer, Editor, Publisher, and Admin roles have per-schema grants. A REST API comes with an OpenAPI specification, and webhook callbacks report lifecycle changes. An inbound receiver accepts upstream records as drafts for review. Bulk import and export support CSV, TSV, and JSON, with template-assisted imports and optional upsert-by-key. The MIT-licensed project is described as free to use, with no per-seat licensing or separately purchased modules; its plan is free. It runs on premises, uses PostgreSQL, and is built with FastAPI and SQLAlchemy. The site describes zero telemetry and says password changes end the account’s open sessions.

Spec sheet

What it does
miniMDM is a self-hosted master-data application for managing records such as customers, products and locations through a web interface or REST API.Read 15 Oct 2026 · minimdm.dev
Purpose
miniMDM is a self-hosted application for curating business records such as customers, products, and locations.Read 8 Oct 2026 · minimdm.dev
Intended users
The site positions miniMDM for teams whose reference data has outgrown a spreadsheet but does not need a multi-year enterprise MDM rollout.Read 8 Oct 2026 · minimdm.dev
Integrations
miniMDM provides a REST API with an OpenAPI specification and webhook callbacks for record lifecycle transitions.Read 8 Oct 2026 · minimdm.dev
License
The project is released under the MIT License.Read 15 Oct 2026 · github.com
Access control
Four roles—Viewer, Editor, Publisher and Admin—provide schema-level read, write and publish permissions.Read 15 Oct 2026 · github.com
API sorting limit
Server-side sorting is intentionally unavailable for parent and reference columns because those values require relationship resolution.Read 15 Oct 2026 · github.com
Audit log
The application records what changed, who changed it, when, why, affected record and client IP, with filtering available through the API.Read 15 Oct 2026 · github.com
Authentication
API clients use bearer tokens, while the web UI uses an httpOnly JWT cookie; inbound webhooks use X-Api-Key instead.Read 15 Oct 2026 · github.com
Bulk data exchange
CSV, TSV and JSON import/export is supported, including template downloads and optional upsert by key.Read 15 Oct 2026 · github.com
Docker installation
Docker Compose can run the application without local Python or PostgreSQL installation.Read 15 Oct 2026 · github.com
Documentation coverage
The repository includes installation, quickstart, Docker, deployment, logging, migrations, backup, upgrading, API reference, testing, software inventory and troubleshooting documents.Read 15 Oct 2026 · github.com
Imports and exports
Bulk import and export supports CSV, TSV, and JSON, with template-assisted imports and optional upsert-by-key.Read 8 Oct 2026 · minimdm.dev
Inbound integration
External systems can submit records through an inbound webhook endpoint authenticated with scoped API keys; submissions enter as drafts.Read 15 Oct 2026 · github.com
Inbound sync
Upstream systems can send records through an inbound webhook receiver, where incoming records land as drafts for review.Read 8 Oct 2026 · minimdm.dev
Installation requirements
Native installation requires Python 3.11 or newer, PostgreSQL 14 or newer and the uv package manager.Read 15 Oct 2026 · github.com
License and cost
The project is MIT licensed and described as free to use, with no per-seat licensing or separately purchased modules.Read 8 Oct 2026 · minimdm.dev
Lifecycle
Records can move through draft, active, and retired states, with governance rules for review, retirement, and bulk imports.Read 8 Oct 2026 · minimdm.dev
Lifecycle workflow
Records move through draft, active and retired states, with publishing used to promote drafts to the active master.Read 15 Oct 2026 · minimdm.dev
Limit: operational responsibility
Because the product is self-hosted, operators must provide the reverse proxy, TLS certificates, PostgreSQL service, backups and process management.Read 15 Oct 2026 · github.com
Limit: validation behavior
Validation-rule violations do not permanently block writes; records can be saved with an override and are marked valid or invalid.Read 15 Oct 2026 · github.com
Maker identity
The GitHub organization/user planemarlin publicly lists minimdm and minimdm-site as its two repositories.Read 15 Oct 2026 · github.com
Notable news: version 0.8.0
The changelog dated 2026-09-19 introduced configurable soft validation rules and validation-status tracking.Read 15 Oct 2026 · github.com
Notable news: version 0.8.1
The changelog dated 2026-10-03 added import-template downloads and upgraded PyJWT and urllib3 to address Dependabot security alerts.Read 15 Oct 2026 · github.com
Outbound webhooks
Configurable webhooks notify external URLs when records are created, published or retired, and delivery is asynchronous.Read 15 Oct 2026 · github.com
Production deployment
Production deployments require a reverse proxy with TLS, private PostgreSQL access and secure environment configuration.Read 15 Oct 2026 · github.com
Project activity
The public repository shows 124 commits, 11 stars, 2 forks and one open issue at the time of access.Read 15 Oct 2026 · github.com
Provenance
Records can retain source-system names and source identifiers that remain available in history and API filtering.Read 15 Oct 2026 · minimdm.dev
Record versioning
Each edit creates a new record version that users can compare and revert.Read 15 Oct 2026 · minimdm.dev
Relationships
Cross-object references, parent-child hierarchies and inline related-record panels are supported.Read 15 Oct 2026 · github.com
REST API
The server exposes CRUD, authentication, administration, schema, import/export, audit and webhook endpoints under an OpenAPI-documented REST API.Read 15 Oct 2026 · github.com
Schema
Data objects can be defined in YAML or JSON configuration files, with fields, types, references, and required flags.Read 8 Oct 2026 · minimdm.dev
Schema configuration
Data objects are defined in YAML or JSON with fields, types, references, required flags, ownership and stewardship metadata.Read 15 Oct 2026 · github.com
SDK availability
The published documentation describes HTTP endpoints and OpenAPI but does not list an official client SDK.Read 15 Oct 2026 · github.com
Search
Full-text search works across string columns in an object, with pagination and configurable sorting.Read 15 Oct 2026 · github.com
Security and privacy
The site describes miniMDM as self-hosted with zero telemetry and says password changes end all open sessions for that account.Read 8 Oct 2026 · minimdm.dev
Security controls
Deployment guidance includes secure cookies, rate limiting, trusted-proxy settings, localhost binding and a checklist for secrets, TLS and backups.Read 15 Oct 2026 · github.com
Technology
The application uses PostgreSQL and is built with FastAPI and SQLAlchemy; the site also describes Alembic migrations and correlated request logs.Read 8 Oct 2026 · minimdm.dev
Technology stack
miniMDM uses FastAPI, SQLAlchemy, PostgreSQL and Alembic migrations.Read 15 Oct 2026 · minimdm.dev
Telemetry
The project states that it makes zero telemetry calls and uses no analytics, tracking or advertising browser storage.Read 15 Oct 2026 · minimdm.dev
Upload limit
The default maximum import request size is 10 MB, configurable with MAX_UPLOAD_SIZE.Read 15 Oct 2026 · github.com
Validation
Schemas support range, character-class and cross-field validation rules; violations are recorded and can be overridden with an audit reason.Read 15 Oct 2026 · github.com
Versioning
Each record edit creates a new version, and users can review changes or revert to an earlier state.Read 8 Oct 2026 · minimdm.dev
Webhook rate limit
Inbound webhook requests are limited to 120 requests per minute per IP address.Read 15 Oct 2026 · github.com

Plans and prices

miniMDM Free Self-hosted · MIT licensed · No per-seat licensing · PostgreSQL-backed Read 15 Oct 2026 · minimdm.dev

Every miniMDM plan and price →

Strong points and limits

Strong points

  • Records have reviewable versions and restore options.
  • Supports per-schema grants across four permission tiers.
  • Bulk tools support CSV, TSV, and JSON.
  • Free to use under the MIT license.

Limits

  • Requires self-hosting.
  • Deployment is on premises.
  • Schema definitions use YAML or JSON configuration files.

Who it suits

miniMDM suits teams that need structured, governed business reference data beyond spreadsheets without a multi-year enterprise MDM rollout. It is self-hosted and supports customers, products, locations, and custom objects.

Verdict

miniMDM specifies record lifecycle, access, import, and API mechanisms for teams managing reference data. Its self-hosted deployment is a key consideration.

Where Specifiction places it

Alternatives to miniMDMAll alternatives →