miniMDM
minimdm.dev
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
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
- Master Data Management Software#3 of 218.6