This site is currently under construction — things may change or break.

A database, served over REST.

Stop provisioning databases. LeopardDB gives every one of your users or customers an isolated, self-service database behind a single HTTP API — hosted in the Netherlands, with an EU-based OAuth2 identity provider and a native desktop client built in from the first request. Sign up, pick a plan, and you're provisioned in minutes.

See the API
Hosted in the Netherlands (Previder) GDPR by design EU-based OAuth2 identity PostgreSQL EU billing (Mollie)
Your data stays in the Netherlands.

LeopardDB is hosted in the Netherlands on Previder, a Dutch datacentre operator — storage, identity and billing all inside the EU. No transatlantic transfers to explain to your DPO, no Standard Contractual Clauses to paper over, no region toggle you have to remember to set. If GDPR is a hard requirement — and for most European teams it now is — this is the shortest path to a compliant backend.

One API, one database per tenant.

Every user or organisation gets a physically isolated namespace inside a shared PostgreSQL instance. Not shared tables behind row-level-security policies you have to get right — separate databases per tenant. No provisioning scripts, no per-customer instance sprawl, no cross-tenant leak waiting to happen. You send products; you get back products.

A backend your desktop app can actually use.

Most cloud backends assume you're writing JavaScript. LeopardDB ships a flat, C-compatible client library with TLS built in — so a Delphi, Lazarus, C++ Builder or C application talks to it natively, without you writing an HTTP and JSON layer first. If your product isn't web-first, this is the cloud backend built for you.

Identity you already trust.

No user table. No stored passwords. No tokens of our own. Authentication and role-based access control run entirely on an EU-based OAuth2 identity provider, with every request validated against your tenant — signature, audience, expiry, permissions, and a live check that the user hasn't been blocked or removed from their organisation.

From nothing to a working backend, in three calls.

That's the entire onboarding. No migrations, no ORM, no DBA.

# 1. Create a database
curl -X POST https://api.leoparddb.com/v1/database \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"name":"mydb"}'

# 2. Create a table
curl -X POST https://api.leoparddb.com/v1/schema/table \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"tableName":"products","databaseName":"mydb",
     "columns":[{"name":"title","type":"text","nullable":false},
                {"name":"price","type":"numeric","nullable":true},
                {"name":"image","type":"bytea","nullable":true}]}'

# 3. Insert a record
curl -X POST "https://api.leoparddb.com/v1/data/table?table=products&database=mydb" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"records":[{"title":"Widget","price":9.99}]}'
Schema that keeps up with your product.

Add a column on Tuesday, rename it on Thursday, drop it when the feature dies. All from JSON, all live, all over the same API. Every table gets a UUID primary key for free.

Files are first-class.

Upload and download binaries straight into bytea columns. Record listings never inline your bytes — they report HasValue or Empty — so a query stays fast and a download stays a download.

Query without opening a hole.

Filter and sort your records with a structured, validated query API. Field names are checked against your table, operators are whitelisted, and every value is parameterised — so a query is just a query. There is no raw-SQL escape hatch to secure, because there isn't one.

Self-hosting available.

Need LeopardDB inside your own walls? It runs as a Windows service, a Linux daemon, or a Docker container against your own PostgreSQL — under a custom licence. Contact us for a quote.

Built for teams who have to answer to an auditor.

LeopardDB exists because European software teams keep solving the same problem twice: build the product, then retrofit the compliance story. GDPR isn't optional, and with the EU Cyber Resilience Act's main obligations arriving in 2027, a serious security posture is moving from nice-to-have to table stakes. So we built the backend the other way round — compliance first, features on top.

Send us your security questionnaire
  • Hosted in the Netherlands, end to end. Storage on Previder, a Dutch datacentre operator; identity via an EU-based OAuth2 identity provider; billing via Mollie, an EU-native payment provider. There is no non-EU region, because there is no non-EU option.
  • No credentials at rest. LeopardDB stores no passwords and issues no tokens. Identity is handled by a dedicated EU-based OAuth2 provider.
  • Tenant isolation by construction. Separate databases per organisation, namespaced at the storage layer on every request — not row-level-security rules bolted on in application code.
  • Safe by construction. No raw-SQL parameters exist in the API. Queries are structured, column-whitelisted and parameterised — the injection surface was designed out, not patched over.
  • Defence in depth. Rate limiting before the request body is read. JWT validation on every call. A live check that revoked users stay revoked.
  • CRA-conscious. We track our conformance against the Cyber Resilience Act as a live remediation programme, not a launch-day scramble.
  • Information security. Our security practices are aligned to the ISO 27001 framework.

Priced per user, per month. No setup fee. Cancel whenever.

Start free. Add seats as your team or your customer base grows. Every plan runs on the same EU infrastructure with the same isolation guarantees.

FreeProfessionalEnterpriseCustom
Price€0€65 / user / DB / moQuote
Users includedup to 5up to 100unlimited
Databases1up to 25unlimited
Tables10100unlimited
Fields per table10100unlimited
Records per table1,0001,000,000unlimited
EU data residency
Auth0 identity & RBAC
Blob storage
Client libraries
Self-hosting——
SupportCommunityPriority emailNamed contact
Start freeRequest a demoGet a quote

Prices are per user, per month, excluding VAT. Limits are enforced in real time — if you're approaching a ceiling, upgrade in place and keep working; nothing is lost.

Pick a plan and the number of seats, pay by card through Mollie, and your organisation is provisioned automatically. You'll get an email to set your password and you're in.

Docs & resources

Want the full docs before you commit? Ask us: info@owlhatsoftware.com

Request documentation
Postman collection

Every endpoint, ready to run. The fastest way to see the API for yourself.

Client libraries

Source on GitHub, binaries for Windows x64 and Linux x64.

User Manual & Docs

Available on request. Email us and we'll send them over.

Frequently Asked Questions

No. LeopardDB is hosted — you need a token, nothing else. If you'd rather run it yourself, that's available under a custom quote.
Pick a plan and your number of seats, pay by card through Mollie, and your organisation is provisioned automatically. You'll get an email to set a password, and you're in.
Per user, per month. Free covers up to 5 users at no cost; Professional is €35 per user per month, Enterprise €65. Self-hosting is quoted separately.
Yes. An admin generates an invitation and the joiner takes a seat on your existing plan — up to your tier's user limit. No separate signup, no second bill.
The API tells you immediately — a 402 response naming the exact limit you reached — and prompts an upgrade. Limits are enforced live, so you find out at the moment it matters, not in a surprise invoice.
No — and that's deliberate. Filtering and sorting go through a structured, validated query API instead of raw SQL, which is what keeps one tenant from ever reaching another's data. Everything you need — comparisons, like/ilike, null checks, multi-field sort — is there.
In the Netherlands, on Previder — a Dutch datacentre operator. Storage, identity and billing are all in the EU. There is no non-EU region.
With a dedicated EU-based OAuth2 identity provider. LeopardDB has no user table, stores no passwords, and issues no tokens of its own.
Every database and table is stored under a prefix derived from the caller's verified identity token. Separate databases per organisation — the API only ever accepts and returns unprefixed names.
By design — binary columns are never inlined in record responses. Fetch the bytes from the blob endpoint.
Cancel from the API and billing stops immediately. Your data is kept for a 30-day grace period — reactivate any time in that window — and then permanently deleted.
The user-active check is cached for about a minute. Wait out the window, or ask us to lower the cache TTL.
Yes, under a custom licence. Windows service, Linux daemon or Docker, against your own PostgreSQL. Contact us for a quote.
The client libraries are. The server is a commercial product.

See it against your use case.

Fifteen minutes, your requirements, a live API. If LeopardDB isn't the right fit we'll say so — a bad-fit customer is worse for us than no customer.

info@owlhatsoftware.com