DMCDMC Bilgi Teknolojileri

Full functionality on isolated networks

Built for environments where data leaving the internal network is forbidden — banks, government, defense, healthcare. Offline-signed license, single-command bootstrap.sh installation, zero outbound calls at runtime.

0Runtime Outbound Calls
Ed25519Offline License Signature
~10dkSingle-Command Install
SLADR Runbook + Backup

"Control first, connection second"

Most SaaS monitoring tools send telemetry to their own cloud; for some sectors, sending data offshore is outright illegal. SentinelDB360 was designed offline-first from day one: connectivity is optional, isolation is the default.

BDDK / SPK

Banking and capital markets

Turkish BDDK Law 5411 supplementary regulations and SPK 6362 require cardholder/investor data to be processed in a controlled environment. Even the monitoring tool must not cross that boundary.

KVKK Cross-Border Transfer

KVKK Article 9 — cross-border transfer

Using a SaaS monitoring tool hosted outside Turkey creates a data transfer requiring Board approval. Air-gap installation eliminates this requirement, simplifying "adequate protection" evidence.

Savunma & Kamu

Local product, isolated network

Defense industry and TÜBİTAK projects run under "internet-disconnected classified network" rules. SentinelDB360 can be deployed via USB; even the license activates without an internet connection.

Healthcare (PHI)

Health data supply chain

Hospital HIS/LIS systems' monitoring tools must not send metrics to a third-party cloud. In an air-gap install, AI insights are powered by local Ollama (LLM) instead of LiteLLM.

Offline-first, JetBrains-style

Your license is an Ed25519-signed JWT. SentinelDB360 only does local verification with the public key; not a single packet is sent to DMC servers at runtime. It works even when the internet is down.

Public Key Verification

Local signature verification

The license file is verified using the public key bundled with the application. The diagnostic screen displays the public key fingerprint — your security team can audit the signature.

  • Ed25519 signature algorithm (NIST-approved)
  • Public key fingerprint in diagnostic
  • License claims: customer, expiry, engine count
No Runtime Calls

Zero telemetry / heartbeat

No online heartbeat required, no usage metrics flow to DMC. The CRM only retains customer registration data (name, contract); usage behavior is never transmitted.

  • Application doesn't break if internet is down
  • Trial / dev / prod distinction is in the signature
  • License renewal: drop in a new JWT file, restart
CRM for Contract Only

Cosmos DB only for CRM

DMC stores only the customer relationship (contract, sales channel, renewal date) on Azure Cosmos DB. The SentinelDB360 runtime never calls this Cosmos.

  • NO data flow between Cosmos DB ↔ runtime
  • License issuance: tools/issue_license.py CLI
  • 12 unit tests verify signature security
All Features Enabled

No reduced edition in air-gap

Many competitors enforce "all features online, limited offline." In SentinelDB360, even in an air-gap install, all 116 compliance tabs, AI insights (Ollama), and all engines run with full capability.

  • AI insights → Ollama (local LLM) option
  • All 4 engines + 116 compliance tabs open
  • Email notifications → corporate SMTP / Graph API
SentinelDB360 — Admin / License / Diagnostic
OFFLINE OK
License Diagnostic Customer Corp Inc.
PROFESSIONAL ↻ verify
EXPIRY14 days+14 grace
CAPACITY5 / 10instance
RUNTIME CALL0offline ✓
RETENTION60gtier max
VERIFY3s agocache hit
🔐 Public Key Fingerprint (Ed25519) Verified
SHA256:dQw4w9WgXcQAEgvYXqVQQq7r5T8xLpZmF3kJ8nP2eKa9
Transparency: corporate security team can audit the signature · NO calls to DMC servers
✓ AI Insights ✓ HA Module ✓ Security Center ✓ 116 Compliance ✓ Query Masking

Admin → License → Diagnostic · Ed25519-signed offline JWT · zero runtime telemetry · public key fingerprint auditable by your security team

bootstrap.sh: ready in 10 minutes

In a connected environment, pull the images and push them to ACR (or your local registry). On the air-gapped host, bootstrap.sh installs MongoDB + all 5 services with a single command.

Step 1 — On the connected side

Prepare the images

From a connected host, pull the SentinelDB360 images from Azure Container Registry; produce a single tar with docker save; carry it to the air-gapped host via USB / file transfer.

  • 5 images: backend, collector, ingestor, advisor, frontend
  • + Official MongoDB 7.0 image
  • Total ~1.2 GB tar file
Step 2 — On the air-gapped side

Run bootstrap.sh

docker load → load images, generate the .env file (script wizard), docker compose up. No hot reload, prod-grade defaults.

  • Interactive wizard: JWT_SECRET, MONGO password, license file
  • MongoDB --auth required, port 27017 closed externally
  • Health checks: success when all /api/health return 200
Step 3 — DR & backup

BACKUP_RESTORE.md runbook

Crontab mongodump for the mongo-data folder, snapshot rotation, restore drills. With no cloud backup in air-gap, this runbook is a P0 requirement.

  • Daily full + hourly oplog backup
  • Restore drill checklist (3-month cycle)
  • Disaster recovery RTO / RPO targets
Step 4 — Reverse proxy

Nginx / Apache / IIS examples

Three ready examples for corporate-standard reverse proxies: Nginx (Linux), Apache httpd (Linux), IIS ARR (Windows Server). HTTPS, websocket, gzip configurations included.

  • SSL certificate: from your own PKI
  • WebSocket upgrade headers ready
  • 2 systemd unit files (for autostart)

P0 documents in the air-gap kit

INSTALL

INSTALL.md + AIRGAP_INSTALL.md

Two separate runbooks: connected install (INSTALL.md) and air-gapped install (AIRGAP_INSTALL.md). Step by step, every command runnable, expected output listed.

RUNBOOK

BACKUP_RESTORE.md

mongodump + oplog tail + LVM snapshot + restore drill. Targets: RTO 30 min / RPO 1 hr. Annual schedule for 4 drills.

PROXY

3 reverse-proxy examples

Ready-to-use configs for Nginx, Apache httpd, and IIS ARR (Windows Server). WebSocket, gzip, security headers included. Works with your corporate PKI.

AI Insights still works, your data doesn't leave

Thanks to LiteLLM abstraction, local Ollama (Llama 3, Mistral, etc.) can replace Azure OpenAI. AI recommendations, root-cause analysis, query interpretation — all stay on your server.

Yerel LLM

Ollama + Llama 3 / Mistral

Run an Ollama service on the same network, set AI_DEFAULT_PROVIDER=ollama. For English responses keep AI_LANG=en. Query text / plan XML never leave the local environment.

Rule-based Fallback

advisor.py rule-based

If you don't want to use an LLM at all, the classic rule-based advisor takes over. Performance suggestions, missing index, blocking root-cause analysis — comprehensive even without an LLM.

Review the air-gap install runbook

Let's design an installation plan tailored to your isolated environment in a demo session.