Solidariteit met Oekraïne. Service gratis aangeboden aan Oekraïense bedrijven zolang de oorlog duurt. Gratis toegang aanvragen
01 / Implementatie · Zelf-hosting

Zelf-host ARDNTECH
gratis, volledig, gedocumenteerd.

ARDNTECH wordt geleverd in een enkele AGPL-3.0-broncodebasis, draaibaar op de infrastructuur van ARDNTECHen ook op de jouwe. Zelf-host-modus dekt alle Team-, Business- en Enterprise-functies zonder beperking: granulaire RBAC, SCIM 2.0, SAML 2.0 en OIDC SSO, auditlogboek met lange inhouding. Voer uw instantie uit op het datacentrum van uw keuze: Docker Compose, beheerde Kubernetes bij een SecNumCloud-gekwalificeerde operator, of strikte air-gap implementatie.

AGPL-3.0 Docker Compose Kubernetes Air-gap ondersteund Geen outbound telemetrie
02 / Motivaties

Waarom een wachtwoordmanager zelf hosten ?

Vier verschillende motivaties brengen een organisatie ertoe haar B2B-kluis zelf te exploiteren in plaats van de SaaS Cloud van ARDNTECH af te nemen. Alle blijven compatibel met een latere overstap bij een evolutie van de interne beperkingen.

Radicale controle over de gegevens

Air-gap mogelijk, strikte netwerkisolatie, interne DMZ, totale afwezigheid van uitgaande telemetrie. De versleutelde gegevens verlaten nooit de perimeter die u definieert. Geen enkele derde partij kan de toegang tot uw instantie vorderen.

Vereenvoudigde sectorale conformiteit

Uitrol bij een hoster die al SecNumCloud-, HDS-gekwalificeerd is of aan de NIS2- en OIV-eisen voldoet. De applicatieve laag blijft identiek, de conformiteit van de hosting wordt gedragen door de infrastructuur van uw keuze.

Verifieerbare AGPL-3.0-code

De openbare repository dekt de volledige applicatiecode, tot aan de cryptografische primitieven. OpenPGP.js v6, Argon2id, AES-256-GCM SEIPDv2, HMAC-SHA-256 : elke algoritmekeuze is leesbaar en auditeerbaar.

Nul softwarekosten

De AGPL-3.0-licentie is gratis. U betaalt enkel de infrastructuur (compute, opslag, bandbreedte) en de interne operatietijd. Voor structuren waarvan het ops-team al gedimensioneerd is, wordt de TCO competitief vanaf enkele tientallen actieve zetels.

03 / Vergelijking

Zelf-host vs Cloud ARDNTECH SaaS.

Geen softwarefunctie is gereserveerd voor Cloud-modus. Wat verschilt is wie de infrastructuur exploiteert en wie de contractuele garanties draagt. De onderstaande tabel vat de vijftien dimensies samen die de beslissing structureren.

Dimensie Zelf-host Cloud ARDNTECH SaaS
Broncode AGPL-3.0, volledige toegang, fork toegestaan AGPL-3.0, volledige toegang, fork toegestaan
Softwareprijs €0 €0 tot €7/zetel/maand afhankelijk van abonnement
Hosting Cliënt (eigen infra, IaaS naar keuze, dedicated datacentrum) ARDNTECH (soevereine Europese hosting)
Initiële setup Verantwoordelijkheid cliënt (Docker Compose of Kubernetes) Inclusief, geautomatiseerd (provisioning in minuten)
OS- en runtimeonderhoud Verantwoordelijkheid cliënt Inclusief
Back-ups Verantwoordelijkheid cliënt (gedocumenteerde procedure) Inclusief, dagelijkse versleutelde snapshots
Updates Verantwoordelijkheid cliënt (tagged Docker-image, upgrade-plan verstrekt) Inclusief, aangekondigde onderhoudsvenster
Beschikbaarheid SLA Geen (cliënt exploiteert eigen infra) Best effort (Free), 99,5 % (Business), onderhandeld (Enterprise)
Ondersteuning Community (forum, GitHub-kwesties) Community + e-mail volgende werkdag (Business) + telefoon (Enterprise)
Multi-organisatie Ja (pivot account, granulaire RBAC) Ja (pivot account, granulaire RBAC)
DPA Niet van toepassing (cliënt is de gegevensverantwoordelijke) Standaard DPA (Business) of onderhandeld (Enterprise)
Compliance Verantwoordelijkheid van cliënt Gekwalificeerde hosting, SecNumCloud-traject gericht
Typisch doel Cybersecurity-bedrijven met volwassen ops, OIV, organisaties met een groot ops-team MKB'en, mid-market, bedrijven zonder dedicated ops-team, organisaties die liever betalen dan exploiteren
Totale eigendomskosten Variabel: €0 licentie + interne tijd + infra Voorspelbaar: abonnement per zetel, all-inclusive
Air-gap Ondersteund (standaard geen outbound telemetrie) Niet van toepassing (instantie beheerd door ARDNTECH)

De tabel lezen. Voor een team van minder dan vijftig actieve seats zonder een dedicated ops-team, is Cloud SaaS vaak de rationele keuze. Daarbuiten, of als infrasoevereiniteit een regelgeving of contractuele eis is, wordt zelf-hosting relevant. Beide migraties zijn gepland en gedocumenteerd.

04 / Vereisten

Technische vereisten.

Slechts drie vereisten, allemaal standaard in een moderne serveromgeving. Geen verplichte dienst van derden bij de uitvoering, geen niet-standaard uitgaande poort, geen propriëtair protocol.

Linux-server en container-runtime

Een Linux-server x86_64 of ARM64 met Docker 24 of hoger en Docker Compose v2. Debian, Ubuntu LTS, Red Hat Enterprise Linux en hun derivaten worden continu getest. De container-runtime werkt zowel op een toegewijde virtuele machine als op managed Kubernetes.

Dimensionering

2 vCPU en 4 GB RAM volstaan voor vijftig actieve gebruikers. Voor vijfhonderd gebruikers, voorzie 8 vCPU en 16 GB RAM. De opslag hangt af van het aantal secrets : reken op ongeveer 100 MB basis per duizend secrets, plus de bewaring van de auditlogs volgens uw plan.

Domeinnaam en TLS-certificaat

Een domeinnaam en een geldig TLS-certificaat. Let's Encrypt is gedocumenteerd en werkt zonder specifieke configuratie. Geen niet-standaard uitgaande poort is vereist. Een air-gap-uitrol is mogelijk zonder wijziging van de applicatiecode : de instantie raadpleegt geen enkele externe dienst tijdens de runtime.

05 / Installatie

Installatie in vijf minuten.

Drie ondersteunde implementatievarianten, van een POC van een onafhankelijk bedrijf tot multi-AZ productie voor een operator van kritieke infrastructuur. Dezelfde code, drie orkestraties.

Variant 1 - Docker Compose

Aanbevolen voor POC's, kleine teams en ontwikkelomgevingen. Een enkele machine, lokale persistentie of netwerkvolume, implementatie in één commando.

git clone https://github.com/aegirex/aegirex.git
cd aegirex
make install
# genereert de secrets, bouwt het image vanuit de Dockerfile van de repo,
# past de migraties toe en start alle services.
# De instantie is beschikbaar op http://localhost:8280

Standaard vanuit bron bouwen. Wat in productie draait is precies wat in git log staat: geen black-box registry, geen afhankelijkheid van een derde-partij Docker Hub-account. De composer.lock en importmap.lock bestanden pinnen de versies en SHA-vingerafdrukken van afhankelijkheden; een gecompromitteerde Packagist of CDN zou de build breken in plaats van stiekem een payload in te voeren. Voor ops in haast, een make install-from-registry variant trekt de voorgebouwde image ondertekend door onze CI.

Variant 2 - Kubernetes

Aanbevolen in productie, op beheerde of zelf-beheerde cluster. Officiële manifesten en Helm-grafiek voorzien. Compatibel met Kubernetes-clusters van SecNumCloud-gekwalificeerde operators (OVHcloud, Outscale, Cloud Temple, NumSpot).

helm repo add aegirex https://charts.aegirex.eu
helm repo update
helm install aegirex aegirex/aegirex \
  --namespace aegirex --create-namespace \
  --values values.production.yaml
kubectl -n aegirex rollout status deployment/aegirex-app
kubectl -n aegirex exec deploy/aegirex-app -- bin/console doctrine:migrations:migrate

Variant 3 - Air-gap

Aanbevolen voor omgevingen met radicale soevereiniteitsvereisten: OIV, defensie, geclassificeerd onderzoek. Geen uitgaande verbinding, handmatige back-ups, updates via interne mirror-registry.

# op een verbonden apparaat
docker pull ghcr.io/aegirex/aegirex:v1.4.2
docker save ghcr.io/aegirex/aegirex:v1.4.2 -o aegirex-v1.4.2.tar
# fysieke overdracht naar het air-gap-netwerk (verzegelde USB, netwerkdiode)
# op een air-gap-instantie
docker load -i aegirex-v1.4.2.tar
docker tag ghcr.io/aegirex/aegirex:v1.4.2 registry.internal/aegirex:v1.4.2
docker compose -f docker-compose.airgap.yml up -d
bin/console doctrine:migrations:migrate
06 / Architectuur

Technische architectuur van de stack.

Een moderne PHP-stack, zonder SPA, zonder npm, zonder runtime-afhankelijkheid van een dienst van derden. Elke bouwsteen is gedocumenteerd en onafhankelijk auditeerbaar.

Backend

PHP 8.4, Symfony 7.4, Doctrine ORM 3, MariaDB 11. FPM of FrankenPHP naar keuze. Geen propriëtaire PHP-extensie. Versiebeheerde Doctrine-migraties, geteste rollback.

Frontend

Twig aan serverzijde + Stimulus aan clientzijde. AssetMapper voor de levering (geen npm, geen bundler van derden). Modulaire custom CSS. Geen SPA, geen propriëtair JavaScript-framework.

Cryptografie aan clientzijde

OpenPGP.js v6 met X25519, Ed25519 en AES-256-GCM SEIPDv2. Argon2id-afleiding van het hoofdwachtwoord (RFC 9106, 5 passes, 256 MiB, parallelisme 4). De privésleutels verlaten nooit de browser.

HMAC-SHA-256-auditketen

Auditketen cryptografisch verzegeld en geketend met HMAC-SHA-256. Onafhankelijke verificatie via een openbaar CLI-commando voor de controle van de keten. Detectie van elke poging tot retroactieve vervalsing, opvorderbaar voor de rechter zoals voor de CISO.

Authenticatie

Symfony Security + scheb/2fa-bundle : e-mail, TOTP (RFC 6238), back-upcodes. SSO SAML 2.0 en OIDC (RFC 6749 en RFC 7519). WebAuthn-passkeys (W3C WebAuthn Level 2) optioneel.

Opslag en wachtrij

Alles in MariaDB 11 : relationeel schema, blobs beperkt tot 1 MB. Geen externe objectopslag vereist. Wachtrij via Symfony Messenger + Doctrine-transport, zonder Redis-afhankelijkheid voor de V1.

07 / Operaties

Back-ups, onderhoud, updates.

Drie geïndustrialiseerde en gedocumenteerde procedures. De self-host-modus draagt de operationele verantwoordelijkheid over aan de klant, zonder er een last van te maken : de commando's zijn scriptbaar, idempotent en getest in continue integratie.

Versleutelde back-up

Een CLI-back-upcommando produceert een exporteerbaar bestand versleuteld in OpenPGP-formaat, met automatische rotatie. De ontvanger van de back-up is configureerbaar (organisatorische archiveringssleutel). De restauratie is gedocumenteerd en bij elke release getest.

Blue-green-updates zonder downtime

Docker-image getagd in semantic versioning op ghcr.io/aegirex/aegirex. Alle Doctrine-migraties zijn gestructureerd in drie stappen (ADD nullable, backfill, ALTER NOT NULL) om een blue-green-uitrol zonder serviceonderbreking mogelijk te maken, zelfs op grote databases. Breaking changes worden minstens een minor-versie van tevoren aangekondigd.

Rollback in minder dan vijf minuten

De combinatie van een databasesnapshot plus het vorige Docker-image maakt een terugkeer mogelijk in minder dan vijf minuten. De Doctrine-migraties leveren hun geteste down()-methode. Geen enkele handmatige interventie op het SQL-schema is vereist.

Veerkrachtige asynchrone worker

De uitgaande e-mails en de audit-webhooks worden asynchroon gedispatcht via Symfony Messenger. Als een externe dienstverlener uitvalt (e-mail, ontvangende webhook), worden de HTTP-verzoeken nooit geblokkeerd : de jobs worden opnieuw geprobeerd met exponentiële backoff, en daarna opgeslagen in een persistente wachtrij als de fout aanhoudt. De worker draait als systemd-service of toegewijde container, automatische herstart zonder verlies.

Gezondheidsendpoints klaar voor LB en Kubernetes

GET /health publiek voor de liveness-sondes (load balancer, UptimeRobot, Kubernetes-sondes). GET /health/deep beschermd door een allowlist van IP-adressen, voor de diepgaande controles vanuit uw interne monitoringstack (database-ping, cache, wachtrij). Geen gevoelige informatie geëxposeerd.

07bis / Soevereine observability

Een 100% Europese monitoringstack.

De soevereiniteit stopt niet bij de applicatieve hoster. ARDNTECH zendt zijn logs uit in gestructureerd JSON-formaat en exposeert standaard Prometheus-metrieken, om te integreren in een volledig Europese of self-hosted observabilitystack. Geen verplichte propriëtaire SDK, geen uitgaande telemetrie standaard.

Soevereine fouttracking

Compatibel met Bugsink (Nederland, MIT, self-hostable op uw SecNumCloud-instantie), GlitchTip (VS, MIT, self-hostable) of Sentry self-host. De standaard Sentry-SDK van Symfony is compatibel met deze drie backends zonder codewijziging. Uw fouten verlaten nooit uw infrastructuur.

Logs en metrieken managed in Frankrijk

JSON-logs verwerkbaar door Loki + Grafana self-hosted, OVHcloud Logs Data Platform (managed Graylog, Frankrijk) of Scaleway Cockpit (managed Loki, Mimir, Tempo, Frankrijk). Prometheus-metrieken kunnen worden geëxposeerd op een toegewijd endpoint, beperkt door een allowlist van IP-adressen.

Dagelijkse integriteitsverificatie

Een openbaar CLI-commando maakt het mogelijk de integriteit van de HMAC-SHA-256-auditketen te verifiëren. Planbaar in een dagelijkse cron, triggert het een waarschuwing (PagerDuty, interne webhook, soevereine Slack) als de keten beschadigd is. Elke retroactieve wijziging van het logboek wordt in O(1) gedetecteerd, zonder afhankelijkheid van een extern binary.

Lokale IP-geolocatie (soeverein EU)

De e-mails "Nieuwe verbinding gedetecteerd" worden verrijkt met het land en de stad dankzij de database DB-IP Lite (Belgische uitgever, licentie CC-BY 4.0), lokaal op uw instantie opgelost : het gebruikers-IP-adres wordt nooit aan een dienst van derden doorgegeven. De database wordt automatisch elke maand via cron ververst.

08 / Compliance

Sectoriële compliance gemakkelijk gemaakt.

Self-host-modus laat u compliance dragen op het niveau van de hostingprovider die u hebt gekozen. Vier veel voorkomende regelingen zijn hieronder gedocumenteerd, zonder ARDNTECH verder dan de AGPL-3.0-toepassingscode in te schakelen.

SecNumCloud

Inzetbaar bij OVHcloud Hosted Private Cloud, Outscale 3DS, Cloud Temple of NumSpot, operators gekwalificeerd door ANSSI. Het SecNumCloud-traject blijft een gericht doel voor Cloud ARDNTECH SaaS; in zelf-host, effectieve kwalificatie hangt af van uw hostingprovider.

HDS · gezondheidszorg

Inzetbaar bij een HDS-gecertificeerde host voor zorgoperators. De toepassingscode past in de end-to-end HDS-keten zolang de onderliggende infrastructuur gekwalificeerd is. Auditlogboek met lange inhouding is nativeelijk beschikbaar.

OIV en NIS2

Air-gap implementatie ondersteund. AGPL-3.0-code auditeerbaar door uw CISO, tot op de cryptografische primitieven. De HMAC-SHA-256 auditkechain levert traceerbaarheid opeisbaar aan sectoriële regelgevers.

GDPR

In zelf-host-modus blijft u de enige gegevensverantwoordelijke. Geen ARDNTECH-subverwerker is betrokken in het gegevenspad. ARDNTECH is nooit een subverwerker onder GDPR: de relatie is beperkt tot het beschikbaarstellen van de AGPL-3.0-broncode.

09 / Doelgroepen

Typische toepassingsgevallen.

Drie organisatieprofielen kiezen vaak voor de self-host-modus. Het gemeenschappelijke punt : een Linux-ops-team dat al gedimensioneerd is en in staat is om een Symfony-dienst met relationele database in productie te exploiteren.

Profiel 1

Cybersecuritybureaus met volwassen operaties

Security-ESN, cybersecurity-adviesbureaus, geïnternaliseerde pentestteams. Zij exploiteren al een gehard IS, beschikken over een senior ops-team en willen intern de criteria toepassen die zij bij hun klanten auditeren. De self-host laat hen toe de coherentie tussen discours en tooling te bewijzen.

Profiel 2

Publieke sector met radicale soevereiniteit

Overheden, agentschappen, essentiële operatoren in de zin van NIS2, organisaties onder toezicht. Intern beleid dat elke SaaS weigert, zelfs een gekwalificeerde Franse. De self-host garandeert dat de versleutelde gegevens en hun auditketen strikt binnen de gewenste administratieve perimeter blijven.

Profiel 3

Integrerende ESN's en managed resellers

ESN's die aan hun eigen klanten een door henzelf beheerde ARDNTECH-instantie doorverkopen. De self-host-modus wordt een bouwsteen van hun commerciële aanbod : zij exploiteren het platform, factureren aan hun klanten en behouden de relatie. De AGPL-3.0-licentie staat dit commerciële gebruik uitdrukkelijk toe.

10 / Technische FAQ

Veelgestelde vragen van ops-teams.

Acht terugkerende vragen gesteld door CISO's en DevOps-teams bij evaluatie van zelf-host-modus. Als de jouwe ontbreekt, schrijf ons.

Is de code echt identiek tussen Zelf-host en Cloud ?

Ja. De aegirex/aegirex opslagplaats bevat de volledige toepassingscodebase onder AGPL-3.0. Geen Team-, Business- of Enterprise-feature is gereserveerd voor Cloud-modus. De enige verschillen hebben betrekking op runtime-configuratie (omgevingsvariabelen, ANSSI-track-geheimen, hostinginstellingen) en dat de Cloud-instantie is gekoppeld aan de toezichts- en factureringsinfrastructuur beheerd door ARDNTECH. Geen propriëtaire softwaremodule wordt aan de Cloud-kant toegevoegd.

Hoe migreer ik mijn zelf-host naar Cloud SaaS (en terug) ?

Migratie relies op een volledige kluisexport via de ingebouwde tools (gebruiker-kant ontsleutelde JSON-export, in overeenstemming met GDPR artikelen 17 en 20) en import in een frisse doelorganisatie. Migratie bewaart de auditgeschiedenis niet als-is: de auditkechain herstart op de importdatum, het bronlogboek wordt bewaard als downloadbaar archief. De HMAC-sleutelrotatie op de doelinstantie start een nieuwe keten. Aangezien de code identiek is, is schemacompatibiliteit gegarandeerd.

Wat zijn de typische totale jaarlijkse kosten van zelf-hosting (infra + ops) ?

De AGPL-3.0-softwarelicentie is gratis. Voor een bedrijf met dertig personen met drie interne Linux-servers, verwacht u typisch 50 tot 150 € per maand in soevereine hosting voor compute en opslag, plus 500 tot 2.000 € per maand in marginale operationele kosten (0,1 tot 0,3 FTE voor updates, back-ups en bewaking). Zelf-hosting wordt economisch aantrekkelijk zodra werknemersgrootte de marginale ops-kosten verwaarloosbaar maakt en het ops-team al overeenkomstig is gegroeid. Onder vijftig actieve seats is Cloud zeer vaak de rationele keuze tenzij er een strikte infrasoevereiniteitsvereiste is.

Hoe integreer ik LDAP SSO, Keycloak of Authentik ?

De Symfony Security-bundel stelt SAML 2.0 en OpenID Connect bloot. Configuratie gebeurt via omgevingsvariabelen, zonder hercompilatie. Een geldige OIDC-connector voor Keycloak, Authentik of willekeurige RFC 6749 en RFC 7519 compatibele provider. Voor LDAP is directe binding gedocumenteerd met groep-naar-RBAC-rol toewijzing. SCIM 2.0 (RFC 7644) is beschikbaar in Business voor geautomatiseerde provisioning.

Werkt ARDNTECH op beheerde Kubernetes (EKS, GKE, AKS, Kapsule) ?

Ja, Kubernetes-implementatie is gedocumenteerd voor standaarddistributies. Manifesten bevatten de vereiste Deployment, Service, Ingress, PersistentVolumeClaim en ConfigMap. Een officiële Helm-grafiek wordt verstrekt met standaardwaarden geschikt voor beheerde clusters. Voor datasoevereiniteit wordt gebruik van beheerde Kubernetes bij een SecNumCloud-gekwalificeerde operator (OVHcloud, Outscale, Cloud Temple, NumSpot) aanbevolen; extra-Europese beheerde clusters blijven technisch compatibel maar vallen buiten de soevereiniteitsaanbevelingen.

Welke monitoring wordt aanbevolen (Prometheus, OpenTelemetry, ELK) ?

De instantie stelt Prometheus-compatibele metrics op een dedicated eindpunt bloot, en emitteert OpenTelemetry traces op kritieke aanvragen. Toepassingslogboeken worden in gestructureerde JSON-indeling uitgestoten, rechtstreeks inneembaar door ELK, Loki of een standaard Syslog-verzamelaar. Auditgebeurteningen kunnen in CEF, LEEF en OCSF-indelingen voor Splunk, Elastic, QRadar en Microsoft Sentinel SIEM's worden geëxporteerd. Geen telemetrie wordt standaard naar een service van derden verzonden.

Wat is het community vs betaald ondersteuningsplan ?

Community-ondersteuning verloopt via het openbare forum en GitHub-kwesties: geen SLA, onderhouden door medewerkers en het ARDNTECH-team. Betaalde ondersteuning is beschikbaar voor organisaties wensend een gecontroleerde implementatie, complexe SSO-integratie, high-availability cluster setup of een architectuurcontrole vóór productie. Geen SLA is aan zelf-host-modus gekoppeld: per ontwerp exploiteert de cliënt de infrastructuur.

Hoe schakel ik over naar air-gap na een standaardinstallatie ?

Air-gap betekent het verwijderen van alle uitgaande connectiviteit van de ARDNTECH-instantie. Vereisten zijn: een interne Docker mirror-registry voor image-updates, een mirror package-opslagplaats voor OS-afhankelijkheden, een handmaul kanaal voor versleutelde back-up export en import. Aangezien standaard geen telemetrie wordt uitgestoten, heeft de toepassing zelf geen runtime-afhankelijkheid van een externe service. Uitgaande webhooks kunnen via configuratie worden uitgeschakeld of naar een interne relay worden gerouteerd. De volledige procedure is gedocumenteerd in de air-gap gids van de opslagplaats.

12 / Aan de slag

Zelf-host ARDNTECH,
uw infrastructuur, uw perimeter.

Lees de volledige technische documentatie op GitHub of vraag een gecontroleerde implementatie aan. Geen agressieve vervolgverkoop: een technisch gesprek over de relevantie van de oplossing in uw context.

AGPL-3.0-code, volledige toegang, fork toegestaan
Docker Compose in minder dan vijf minuten
Beheerde Kubernetes bij een SecNumCloud-gekwalificeerde operator
Air-gap ondersteund, geen outbound telemetrie
HMAC-SHA-256 auditkechain onafhankelijk verifieerbaar