Welcome to Gateonix
Welkom bij Gateonix
NFC access control for events on an Android phone. No scanner hardware, no cloud subscription.
NFC-toegangscontrole voor evenementen op een Android-telefoon. Geen scanner-apparatuur, geen cloud-abonnement.
What is Gateonix
Wat is Gateonix
Gateonix turns an Android phone into a complete access-control system for events. You register NFC cards in advance, link each card to a name and (optionally) a PIN, and at the door you simply hold the cards against the phone for instant green-or-red feedback. All data stays on your device.
Gateonix maakt van een Android-telefoon een compleet toegangscontrole-systeem voor evenementen. Je registreert NFC-kaarten van tevoren, koppelt ze aan een naam en (optioneel) een PIN, en aan de deur hou je de kaarten tegen de telefoon voor directe groen-of-rood feedback. Alle data blijft op je toestel.
Requirements
Vereisten
- Android 8.0 (Oreo) or newer
- NFC hardware in the phone (most Android phones from 2018 onwards)
- Internet connection only required for the one-time activation of a paid licence
- For multi-device events: one PC on the same Wi-Fi network
- Android 8.0 (Oreo) of nieuwer
- NFC-hardware in de telefoon (vrijwel alle Android-telefoons van 2018 of later)
- Internetverbinding alleen nodig voor de eenmalige activatie van een betaalde licentie
- Voor multi-device events: één PC op hetzelfde wifi-netwerk
How this manual is organised
Hoe deze handleiding is opgebouwd
The sidebar groups topics by what you're doing: getting started, registering cards, scanning at the door, managing your licence, making backups, and setting up the multi-device server for larger events. Click any item to jump there. Or use the search bar at the top.
De zijbalk groepeert onderwerpen op wat je aan het doen bent: aan de slag, kaarten registreren, scannen aan de deur, je licentie beheren, backups maken, en de multi-device server opzetten voor grotere events. Klik een item aan om er direct naartoe te springen. Of gebruik de zoekbalk bovenaan.
Start with First run for a quick walkthrough of installation, agreement and your first event.
Begin met Eerste keer voor een korte walkthrough van installatie, voorwaarden en je eerste event.
First run
Eerste keer
Installation, agreement, and your first event in five minutes.
Installatie, voorwaarden en je eerste event in vijf minuten.
In the free version you can use one event with up to 100 cards, no time limit. Backup and multi-device sync require a licence — see Free vs paid.
In de gratis versie kun je één event met maximaal 100 kaarten gebruiken, zonder tijdslimiet. Backup en multi-device sync vereisen een licentie — zie Gratis vs betaald.
Manage events
Events beheren
Create, configure and delete events.
Events aanmaken, instellen en verwijderen.
Creating an event
Een event aanmaken
From Home tap Register, then + New event. Pick a unique name (e.g. "Festival 21 June"). On the next screen you choose three settings:
Vanaf Home tik je op Registreren, dan + Nieuw event. Kies een unieke naam (bv. "Festival 21 juni"). Op het volgende scherm kies je drie instellingen:
- PIN protection — when on, you'll be asked at registration whether each cardholder needs a PIN. At scan time, PIN-cards prompt for the 4-digit code.
- Max cards per name (1–6) — useful for families and groups under one ticket.
- Single use — when on, a card can only be successfully scanned once. After that, the scanner shows "Already used on dd/mm hh:mm".
- PIN-beveiliging — als aan: bij registratie wordt gevraagd of elke houder een PIN moet hebben. Bij scannen vragen PIN-kaarten om de 4-cijferige code.
- Max kaarten per naam (1–6) — handig voor families en groepen onder één naam.
- Eenmalig — als aan: een kaart kan maar één keer succesvol gescand worden. Daarna toont de scanner "Al gebruikt op dd/mm hh:mm".
Once an event is created, you cannot change these settings without deleting the event. Choose carefully before you start registering.
Zodra een event is aangemaakt kun je deze instellingen niet wijzigen zonder het event te verwijderen. Kies dus zorgvuldig voordat je begint met registreren.
Free version limits
Limieten gratis versie
In the free version you can have one event at a time with a maximum of 100 cards across all cardholders. To run multiple events or larger ones, activate a licence.
In de gratis versie kun je één event tegelijk hebben met maximaal 100 kaarten over alle kaarthouders. Voor meer events of grotere events activeer je een licentie.
Deleting an event
Een event verwijderen
In the event list tap the trash icon next to the event. After confirmation you must type DELETE in capitals to actually delete. This removes the event, all cardholders, all cards and scan logs in one go.
In de event-lijst tik je op het prullenbak-icoon naast het event. Na bevestiging moet je DELETE in hoofdletters intypen om echt te verwijderen. Daarmee gaan event, alle kaarthouders, alle kaarten en scan-logs in één keer weg.
Register cards
Kaarten registreren
Link NFC cards to names, with optional PIN.
NFC-kaarten koppelen aan namen, met optionele PIN.
Adding a cardholder
Een kaarthouder toevoegen
Removing a card
Een kaart verwijderen
In the event tap Remove card. Two methods:
Tik in het event op Kaart verwijderen. Twee methodes:
- Scan — hold the card against the phone, confirm.
- Search by name — pick the cardholder from the list, then tap a card to remove just that card, or "Remove whole holder + all cards" to delete the entire person.
- Scan — hou de kaart tegen de telefoon, bevestig.
- Zoeken op naam — kies de kaarthouder uit de lijst, tik daarna op een kaart voor alleen die kaart, of "Hele houder + alle kaarten verwijderen" voor de hele persoon.
Scan flow
Scan-flow
Validate cards at the door.
Kaarten valideren aan de deur.
Starting a scan session
Een scan-sessie starten
From Home tap Scan. If a multi-device server is configured you'll first be asked to choose between Local (this phone's data) and Server (centralised). Otherwise it goes straight to the event picker.
Vanaf Home tik je op Scannen. Als er een multi-device server is ingesteld krijg je eerst de keuze tussen Lokaal (data op deze telefoon) en Server (gecentraliseerd). Anders ga je direct door naar de event-keuze.
Pick the event you want to scan, the screen turns into "Hold the card against the phone". Each scan gives one of these results:
Kies welk event je wilt scannen, het scherm wordt "Bied de kaart aan". Elke scan geeft één van deze uitkomsten:
Scan results
Scan-uitkomsten
Card is registered for this event. Holder name is shown for 3 seconds.
Kaart is geregistreerd voor dit event. Houder-naam is 3 seconden zichtbaar.
Card is not registered for this event. Could be a different event's card, or a card that was never linked.
Kaart is niet geregistreerd voor dit event. Kan een kaart van een ander event zijn, of een kaart die nooit gekoppeld is.
Card requires a PIN and the typed code didn't match. Holder can try again with a fresh scan.
Kaart vereist een PIN en de getypte code klopte niet. Houder kan opnieuw proberen met een verse scan.
Same card was scanned within the last 5 seconds. Anti-double-scan protection — no duplicate admission.
Zelfde kaart is binnen de laatste 5 seconden al gescand. Anti-dubbele-scan bescherming — geen dubbele toelating.
Single-use event only. The card was already successfully scanned earlier — date and time are shown.
Alleen bij eenmalig event. De kaart is eerder al succesvol gescand — datum en tijd worden getoond.
Server mode only. Another scanner just admitted the same card within 5 seconds. Both grants pass; the system flags it for review.
Alleen in server-modus. Een andere scanner heeft net binnen 5 seconden dezelfde kaart toegelaten. Beide toelatingen blijven, het systeem markeert het ter controle.
PIN entry during scanning
PIN invoeren tijdens scannen
When a PIN-protected card is scanned, the screen switches to a 4-digit PIN keypad. The cardholder types their PIN, then taps "Confirm". Wrong PIN shows red, correct PIN turns green and the visitor is admitted.
Wanneer een PIN-beveiligde kaart wordt gescand schakelt het scherm naar een 4-cijferige PIN-keypad. De kaarthouder typt zijn PIN, daarna "Bevestigen". Foute PIN = rood, juiste PIN = groen en de bezoeker mag binnen.
Every scan attempt — successful or not — is recorded in the local scan log. Useful for incident investigation: "why was X denied?" can be answered exactly.
Elke scan-poging — geslaagd of niet — wordt vastgelegd in de lokale scan-log. Handig bij incident-onderzoek: "waarom is X geweigerd?" kun je precies terugvinden.
Free version vs. paid licence
Gratis versie vs. betaalde licentie
What you get without a key, and what unlocks with one.
Wat je krijgt zonder sleutel, en wat een sleutel ontgrendelt.
Free version
Gratis versie
No time limit, no credit card. Perfect for one-off events with up to 100 visitors.
Geen tijdslimiet, geen creditcard. Perfect voor een eenmalig event met maximaal 100 bezoekers.
- 1 event at a time
- Up to 100 cards in that event
- Full PIN, single-use, audit log
- No backup share, no auto-cloud-backup, no multi-device server
- 1 event tegelijk
- Tot 100 kaarten in dat event
- Volledige PIN, eenmalig, audit-log
- Geen backup-delen, geen auto-cloud-backup, geen multi-device server
Active licence
Actieve licentie
- Unlimited events and cards
- Backup to your own cloud (Drive, OneDrive, Dropbox, NextCloud) via the Storage Access Framework
- Manual backup share via the Android share menu — works with Proton Drive too
- Multi-device live scanning via a local Wi-Fi server
- 2 activated devices included; more on request
- Onbeperkt events en kaarten
- Backup naar je eigen cloud (Drive, OneDrive, Dropbox, NextCloud) via het Android Storage Access Framework
- Handmatige backup-deel via Android share-menu — werkt ook met Proton Drive
- Multi-device live scannen via een lokale wifi-server
- 2 geactiveerde apparaten inbegrepen; meer op aanvraag
Expired licence behaviour (hybrid)
Gedrag bij verlopen licentie (hybride)
When a licence expires, Gateonix is deliberately not strict-locked. Existing events stay fully editable (you can keep adding cards to a running event), and scanning works as before. Only creating new events and making backups requires renewal. This protects an event mid-flow if the licence expires unexpectedly.
Wanneer een licentie verloopt is Gateonix bewust niet hard-vergrendeld. Bestaande events blijven volledig bewerkbaar (je kunt blijven kaarten toevoegen aan een lopend event), en scannen werkt als altijd. Alleen nieuwe events aanmaken en backups maken vereist verlenging. Hiermee blijft een lopend event werkbaar als de licentie onverwacht verloopt.
Activate & manage devices
Activeren & apparaten beheren
Activate your licence key, and free up device slots that older installs are still occupying.
Je licentiesleutel activeren, en plekken vrijmaken die oude installaties nog bezet houden.
Requesting a key
Een sleutel aanvragen
Email info@wizarion.com with your name, organisation, and how many devices you need. You'll receive a key in the format GIOX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.
Mail naar info@wizarion.com met je naam, organisatie, en hoeveel apparaten je nodig hebt. Je krijgt een sleutel in het formaat GIOX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.
Activating in the app
Activeren in de app
GIOX-…-…-…-….GIOX-…-…-…-….Device limit reached?
Apparaatlimiet bereikt?
If you reinstalled the app without first deactivating, your old install still occupies a slot. The error message has a Manage devices button — tap it to see all registered devices for this licence and free up an old slot yourself.
Als je de app hebt geherinstalleerd zonder eerst te deactiveren, bezet je oude installatie nog een plek. De foutmelding heeft een Apparaten beheren-knop — tik daarop om alle geregistreerde apparaten voor deze licentie te zien en zelf een oude plek vrij te maken.
Use Home → kebab menu → "Deactivate device" before removing the app or factory-resetting your phone. That immediately frees the slot.
Gebruik Home → kebab-menu → "Apparaat deactiveren" voordat je de app verwijdert of je telefoon reset. Dan komt de plek meteen vrij.
Backup & share
Backup & delen
Keep a safety copy of your event data in your own cloud — requires a licence.
Bewaar een veiligheidskopie van je event-data in je eigen cloud — vereist een licentie.
Two backup paths
Twee backup-paden
Gateonix offers two complementary backup paths, both of which write to your cloud — never to a Wizarion server.
Gateonix biedt twee aanvullende backup-paden, beide schrijven naar jouw cloud — nooit naar een Wizarion-server.
1. Auto-backup to a chosen folder
1. Auto-backup naar een gekozen folder
In Settings tap "Choose folder". The Android Storage Access Framework opens — select a folder in your Drive, OneDrive, Dropbox, or NextCloud app. From then on, after every change to events or cards, Gateonix writes a fresh backup file to that folder. No API keys, no OAuth.
In Instellingen tik je "Folder kiezen". Het Android Storage Access Framework opent — kies een folder in je Drive, OneDrive, Dropbox of NextCloud-app. Vanaf dan schrijft Gateonix na elke event- of kaart-wijziging een verse backup naar die folder. Geen API-sleutels, geen OAuth.
Proton Drive does not offer an Android DocumentsProvider, so it cannot be used as auto-backup target. Use the manual share path (next section) for Proton.
Proton Drive biedt geen Android DocumentsProvider, dus is niet bruikbaar als auto-backup-doel. Gebruik voor Proton de handmatige share-route (volgende sectie).
2. Manual share per event
2. Handmatig per event delen
Open an event and tap Share event backup. The Android share menu opens — pick any app you want: Drive, Proton Drive, OneDrive, Email, etc. Gateonix exports a standalone SQLite file containing only that event's data.
Open een event en tik op Backup van event delen. Het Android share-menu opent — kies een willekeurige app: Drive, Proton Drive, OneDrive, e-mail, etc. Gateonix exporteert een standalone SQLite-bestand met alleen de data van dat event.
File format
Bestandsformaat
Backup files are SQLite databases with the Gateonix Room v3 schema. They include only the events, cardholders, cards, and scan logs of the relevant event. The file name is gateonix-<eventname>-<timestamp>.db.
Backup-bestanden zijn SQLite-databases met het Gateonix Room v3-schema. Ze bevatten alleen de events, kaarthouders, kaarten en scan-logs van het betreffende event. Bestandsnaam: gateonix-<eventnaam>-<tijdstempel>.db.
Why this matters
Waarom dit belangrijk is
Phones break, get lost, fall in beer. All your data lives only on the device. A daily backup means worst-case recovery time is minutes, not the entire pre-sale period redone.
Telefoons gaan kapot, raken kwijt, vallen in bier. Al je data staat alleen op het toestel. Een dagelijkse backup betekent dat de worst-case herstel-tijd minuten is, niet de hele voorverkoop opnieuw doen.
Local multi-device server
Lokale multi-device server
Run multiple scanners side by side, all in sync over your own Wi-Fi.
Draai meerdere scanners naast elkaar, allemaal in sync over je eigen wifi.
Why a local server
Waarom een lokale server
For events with two or more scanners (multiple doors, queue dividing, etc.) you need shared state: a card admitted at door A must be marked used immediately at door B. The Gateonix server runs on a laptop in the same Wi-Fi network and acts as a single source of truth.
Voor events met twee of meer scanners (meerdere deuren, wachtrij splitsen, etc.) is gedeelde state nodig: een kaart toegelaten bij deur A moet meteen als gebruikt bekend zijn bij deur B. De Gateonix-server draait op een laptop in hetzelfde wifi-netwerk en is de single source of truth.
Components
Onderdelen
- Server — Node.js + Express + SQLite, in tools/server/. Talks REST + WebSocket.
- Desktop console — Electron app, in tools/desktop/. Wraps the server, shows IP and token, displays the live scan feed.
- Android-side scan-server config — Settings → Scan server. Enter IP, port, token from the desktop console.
- Server — Node.js + Express + SQLite, in tools/server/. Spreekt REST + WebSocket.
- Desktop console — Electron-app, in tools/desktop/. Wikkelt de server in, toont IP en token, geeft de live scan-feed.
- Android-kant scan-server-config — Instellingen → Scan-server. Vul IP, poort, token in vanuit de desktop console.
Starting the server (organiser)
De server starten (organisator)
On a laptop with Node.js 22 LTS:
Op een laptop met Node.js 22 LTS:
cd tools/server npm install cd ../desktop npm install npm start
The Electron console opens. Click Start server. The console prints a token (24 hex characters) and the IP address(es) the server listens on (one per network interface).
De Electron-console opent. Klik Start server. De console toont een token (24 hex-tekens) en de IP-adres(sen) waarop de server luistert (één per netwerk-interface).
Importing event data
Event-data importeren
A fresh server starts with an empty database. Click Import .db to load a merged backup (output of the merge tool — see next section). All events, cardholders and cards are now available for scanners.
Een verse server start met een lege database. Klik Importeer .db om een gemergede backup te laden (output van de merge-tool — zie volgende sectie). Alle events, kaarthouders en kaarten zijn nu beschikbaar voor scanners.
Connecting a scanner phone
Een scan-telefoon verbinden
Race conditions
Race-condities
If two scanners admit the same card within five seconds (rare but possible during peak rush), Gateonix doesn't refuse the second admission. Both go green, but the second result has the simultaneous flag and the desktop feed shows it next to the original. The organiser can then check whether it's a real duplicate (visitor returning?) or a busy-moment artefact.
Als twee scanners binnen vijf seconden dezelfde kaart toelaten (zeldzaam maar mogelijk in de piek), weigert Gateonix de tweede toelating niet. Beide gaan groen, maar de tweede uitkomst krijgt de simultaan-vlag en de desktop-feed toont 'm naast de eerste. De organisator kan dan controleren of het een echte dubbele is (bezoeker komt terug?) of een drukte-artefact.
In server mode, scanning requires a working Wi-Fi connection to the server. There is no offline queue: if Wi-Fi drops the scanner shows an error, scan the card again once the connection is restored. By design — an offline buffer could lead to false admissions.
In server-modus vereist scannen een werkende wifi-verbinding naar de server. Er is geen offline-queue: als wifi wegvalt toont de scanner een fout, scan de kaart opnieuw zodra de verbinding terug is. Met opzet — een offline buffer zou tot foute toelatingen kunnen leiden.
Merge tool
Merge-tool
Combine pre-sale data from multiple phones into one database for the scan day.
Voorverkoop-data van meerdere telefoons samenvoegen tot één database voor de scandag.
When you need this
Wanneer je dit nodig hebt
Pre-sale on multiple phones (each volunteer gets a phone, registers their share). Right before the event you collect everyone's .db files and merge them into a single database, which you import into the local server for scan day.
Voorverkoop op meerdere telefoons (elke vrijwilliger heeft een telefoon, registreert zijn deel). Vlak voor het event verzamel je iedereens .db-bestanden en mergt ze tot één database, die je in de lokale server importeert voor de scandag.
Running the tool
De tool draaien
cd tools/merge npm install npm start
Workflow
Werkwijze
FAQ & troubleshooting
FAQ & problemen oplossen
Common questions and how to fix them.
Veelgestelde vragen en hoe je ze oplost.