Onderdeel van Conocido ICT — software in eigen huis
Categorie III · Identity & Security

ConoCard

API voor kaartprinters — zonder driver-circus.

LIVE v1 · ZC350 + 2N + Webhook Bearer-Auth · Audit-Log Rust · Linux + Windows
Zebra ZC350 kaartprinter met "ZC350 ready" op het display
Zebra ZC350
ConoCard
2N IP Style video-intercom met touchscreen en NFC-lezer
2N IP Style

Wat is ConoCard?

ConoCard lost één heel specifiek, hardnekkig probleem op: de driverloze aansturing van de Zebra ZC350 over het netwerk, vanaf elk OS — inclusief contactloze UID-uitlezing in dezelfde sessie. Precies daar waar Zebra's standaard-stack je dwingt tot één Windows-werkplek per printer met een USB-kabel, en waar alternatieven als Silex SX Virtual Link per machine een vendor-driver-installatie eisen.

Een uitgifte verloopt als end-to-end-flow in één REST-call: POST /api/issue → de server drukt het design, encodeert de chip, leest de UID contactloos uit en registreert die als nieuwe kaart in 2N Access Commander (of via webhook in een ander toegangscontrole-systeem of PMS). De response is JSON met UID en status — direct bruikbaar in het systeem dat de call deed. De API is Bearer-token-geauthenticeerd, en elke uitgifte landt in een append-only JSON-Lines audit-log, rechtstreeks in te lezen door een SIEM.

Onder de motorkap een statische Rust-binary zonder runtime, GC of unsafe-blocks: dezelfde codebase compileert en draait op Linux (geverifieerd op Ubuntu 24.04) en Windows, en bedient meerdere printers tegelijk via een gedeelde control-plane met source-IP-demux. Geen kernel-driver-installaties, geen onderhoud per werkplek, geen USB-tether.

Werkt met de Zebra ZC350

ConoCard is gebouwd rond één specifieke kaartprinter: de Zebra ZC350. We sturen die volledig over het netwerk aan, via een herimplementatie van het Silex SX-200 USB-over-IP-protocol — zonder Zebra's eigen driverstack of CardStudio. Dit is de huidige v1-stand:

Printerv1-statusDriverloos via IPContactloze UID-uitlezing
Zebra ZC350 (met Silex-chip)OndersteundJaJa
Zebra ZC300 (met Silex-chip)Scoping per dealWaarschijnlijk jaWaarschijnlijk ja
Zebra ZC100Scoping per dealTe verifiërenGeen NFC-encoder
Magicard, Evolis, IDP SmartOp aanvraagOp aanvraagOp aanvraag

De ZC300- en ZC100-varianten met netwerk-optie gebruiken dezelfde Silex-chip als de ZC350; werken is daarom waarschijnlijk, maar zonder fysieke verificatie niet gegarandeerd. Vraag voor concrete deals een gescopet traject aan.

Wat het doet — wat vandaag solide is

Driverloze ZC350-aansturing

Volledige aansturing van de Zebra ZC350 over IP — zonder vendor-driverstack, zonder USB-tether, zonder lokale werkplek per printer. Live bewezen op de fysieke printer.

Contactloze UID-uitlezing

De UID van de uitgegeven kaart wordt in dezelfde sessie contactloos teruggelezen en zit direct in de API-response. Geen aparte lezers, geen extra stap.

Volledige uitgifte in één REST-call

POST /api/issue → drukken, encoderen, UID-lezen en registreren in 2N Access Commander gebeuren server-side in één flow. JSON terug met UID en status.

2N Access Commander-registratie

De uitgelezen UID wordt direct als nieuwe kaart in 2N Access Commander geregistreerd — de gebruiker heeft binnen seconden toegang.

REST API met Bearer-token-auth

Secure by default: de service weigert te starten zonder geconfigureerd token en vergelijkt tokens in constante tijd. Geen open netwerken nodig, geen aparte reverse-proxy alleen voor authenticatie.

Audit-logging — JSON-Lines

Append-only log van elke uitgifte (succes én fout) met UID, timestamp en bron. Rechtstreeks in te lezen door een SIEM — geen parsers, geen schema-conversies.

Webhook-output naar andere systemen

Generieke webhook achter dezelfde integratielaag (AccessSystem-trait): naast 2N voed je elk HTTP-systeem — Salto, Dormakaba, HID, Nedap, een PMS of eigen tooling.

Eén server → meerdere printers

Gedeelde control-plane met source-IP-demux: één instance bedient meerdere ZC350 tegelijk. Geen 1-op-1-relatie tussen server en printer.

Cross-platform: Linux en Windows

Eén statische Rust-binary die op beide compileert en draait. Geverifieerd op Ubuntu 24.04 en Windows; 87 tests groen op elk. TLS ingebouwd.

Rust — productieklaar

Geheugenveilig, geen runtime, geen GC, en nul unsafe in de codebase. Geen DLL-hel, geen JVM, geen interpreter.

REST API als integratievlak

HR-systeem, bezoekersbeheer, receptie-app, PMS of script — alles wat HTTP spreekt kan een uitgifte aanvragen. Geen UI-koppeling nodig.

Deploybaar als zelfstandige binary

Draai op een Linux-VM, een Windows-server, een Raspberry Pi/mini-PC of als systemd/Windows-service. Geen client-installaties op werkplekken, geen kernel-driver-installaties.

Voor wie — vier use-cases, één engine

Dezelfde Rust-engine wordt op vier manieren ingezet. Wat in jouw situatie het verschil maakt is niet welke "editie" je koopt, maar hoe we het deployen, koppelen en afrekenen.

Use-case I

Enterprise IT & casino's

Server-side aansturing in een datacenter of corporate-VM. 2N Access Commander end-to-end, audit-log naar SIEM, Bearer-token-auth voor compliance-eisen, meerdere printers per server voor grote bestanden. Geen werkplek-installaties.

Use-case II

Hospitality & vakantieverhuur

Self-check-in via je PMS: een nieuwe boeking triggert via webhook een kaart-uitgifte zonder front-desk. Een kleine Linux-box in de technische ruimte (Raspberry Pi of mini-PC) volstaat. Hotels, serviced apartments en boutique-ketens.

Use-case III

Integrators & 2N-partners

Server-side ZC350-vloten beheren over meerdere klanten of locaties. REST + webhook om te koppelen aan eigen monitoring, ticketing of provisioning. Uniform over locaties, multi-tenant deploybaar.

Use-case IV

Workflow-bouwers & MSP's

Kaart-uitgifte als API-call in HR-onboarding, bezoekersbeheer, ticketing of eigen apps. Alles wat HTTP spreekt kan een uitgifte aanvragen — geen UI-koppeling nodig. Webhook-output naar systemen verderop in de keten.

Stack & integraties

Tech-stack

Rust · platform-onafhankelijke binary · REST API · TLS

Wat vandaag solide werkt

Zebra ZC350 (driverloos, via IP)Contactloze UID-uitlezing2N Access CommanderGenerieke webhook-outputBearer-token-authAudit-log (JSON-Lines)TLSLinux (Ubuntu 24.04)Windows

Op de roadmap

We zijn expliciet over wat al werkt en wat nog moet komen. De architectuur (AccessSystem/GuestSource-traits, ccp-issue-use-case-laag) maakt de meeste punten hieronder klein. Wil je een feature met prioriteit? Neem contact op — we plannen op concrete deals.

Andere printer-modellen

Magicard, Evolis, IDP Smart — op aanvraag gescopet per concrete deal (typisch 4 tot 8 weken). De printer-laag is een trait, dus uitbreidbaar zonder de core aan te raken.

Specifieke PMS-adapters

Webhook-koppeling werkt vandaag met elk PMS dat HTTP spreekt; kant-en-klare adapters voor Lodgify, Smoobu, Hospitable en andere zijn scoping-werk per concrete hospitality-deal.

SSO / SAML / OIDC / RBAC

Op aanvraag voor deployments waar dit een acceptatie-eis is. Bearer-token-auth zit in v1; SSO komt daar voor enterprise-omgevingen bovenop.

Multi-site management-dashboard

Centraal overzicht over instances op meerdere locaties. Vandaag draait multi-site als één instance per locatie of via VPN.

Actieve SIEM-push & compliance-reporting

Het audit-log is al JSON-Lines en dus SIEM-inleesbaar (Splunk, ELK, Sentinel). Op de roadmap: actieve push-export en kant-en-klare templates voor NEN 7510 / ISO 27001.

Veelgestelde vragen

Welke printer wordt nu ondersteund?

In v1 uitsluitend de Zebra ZC350. We sturen die volledig over IP aan, zonder vendor-driverstack, inclusief contactloze UID-uitlezing. Andere modellen (Magicard, Evolis, IDP) op aanvraag; voor concrete deals is een gescopet traject mogelijk — typisch 4 tot 8 weken.

Welk toegangscontrole-systeem wordt nu ondersteund?

2N Access Commander end-to-end: een uitgifte registreert de UID direct als nieuwe kaart. Daarnaast is er een generieke webhook-output achter dezelfde integratielaag — daarmee stuur je elk HTTP-systeem aan (Salto, Dormakaba, HID, Nedap, een PMS of eigen tooling).

Werkt het voor hotels en vakantieverhuur?

Ja. Een typische hospitality-deployment koppelt het PMS (boekingssysteem) via webhook aan ConoCard, zodat een nieuwe boeking automatisch een kaart genereert zonder front-desk. De PMS-koppeling scopen we per deal — de webhook-laag is generiek, specifieke PMS-adapters bouwen we op aanvraag.

Hoe verloopt een uitgifte technisch?

Eén geauthenticeerde REST-call: POST /api/issue met Bearer-token in de header en kaartdata in de body. De server stuurt de print-job over IP naar de printer, encodeert de chip, leest de UID contactloos terug, registreert die in 2N Access Commander (en optioneel via webhook in een ander systeem) en geeft JSON terug met UID en status. Geen lokale werkplek, geen USB-kabel.

Op welke besturingssystemen draait het?

Eén statische Rust-binary die zowel op Linux (Ubuntu 24.04 geverifieerd) als Windows compileert. 87 tests groen op beide. Geen runtime-afhankelijkheden, geen GC, en nul unsafe in de codebase. TLS ingebouwd.

Hoe zit het met authenticatie en audit-logging?

Beide in v1 ingebouwd. Bearer-token-authenticatie is secure by default: de service weigert te starten zonder geconfigureerd token en vergelijkt tokens in constante tijd. Audit-logging schrijft elke uitgifte (succes en fout) als append-only JSON-Lines met UID, timestamp en bron — rechtstreeks in te lezen door een SIEM zonder parsers of schema-conversies.

Wat met SIEM-export, SSO of compliance-reporting (NEN 7510 / ISO 27001)?

Het audit-log is al JSON-Lines en dus inleesbaar door Splunk, ELK en Microsoft Sentinel. Op de roadmap: een actieve push-export en kant-en-klare templates voor NEN 7510 / ISO 27001. SSO/SAML/OIDC komt bovenop de bestaande Bearer-token-auth voor enterprise-omgevingen.

Hoe verhoudt dit zich tot Zebra CardStudio?

CardStudio is een desktop-tool per werkplek, met USB-tether en zonder API. ConoCard is server-side en netwerk-native, aanstuurbaar via REST — één server vervangt het patroon van driverstacks per werkplek. Meer over het CardStudio-alternatief →

Is het multi-site te gebruiken?

Eén server bedient meerdere printers via source-IP-demux. In een multi-site-scenario draait één instance per locatie of een centrale instance met VPN-koppeling. Een centraal multi-site management-dashboard staat op de roadmap.

Hoe ziet het deployment eruit?

Eén statische Rust-binary, geen runtime, geen kernel-driver-installaties. Draai het in een Linux-VM, op een Windows-server, op een Raspberry Pi/mini-PC of als systemd/Windows-service. Er is geen aparte client-installatie op werkplekken.

Meer weten over ConoCard?

Plan een demo of vraag een offerte aan. We denken graag met je mee — enterprise, hospitality of integrator.

Demo plannen →