Run the front officev4.1.1

Visitora

A reception kiosk and one evacuation list naming everyone inside, kept on the device when the network dies.

For reception desks and site safety. Often replaces Envoy, Greetly, Sign In App or Vizito.

Single license $79 · Extended license $179 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

One page, everyone on site

Staff, contractors and visitors, newest first, with each host's phone number. One tap marks a person accounted for, with a running tally.

It survives the network dying

The evacuation page is kept on the device. If the network goes, it still shows the list as of the last load.

Wardens tick from their phones

A personal link each, no account. Several wardens tick people off at once, and it keeps working when the network drops.

Paper beats both

A printed muster sheet with a tick box per row, and a CSV, are one click each.

Kiosk mode

A full-screen reception page where visitors sign themselves in and get a badge number. Nothing else to wander into.

Everyone on the roll call

Staff tap in and out at the kiosk with a personal code, or from their phone. Presence only: no timesheets.

The host hears about it

By email, or in Slack, Microsoft Teams, Google Chat or Discord. Off until you switch it on.

Badges from any printer

Numbers come from the badges you own and return on sign-out. The kiosk prints on any printer, and visitors scan out.

Site rules and pre-registration

Visitors accept your safety rules or NDA before signing in, and expected visitors arrive already on the list.

Contractors sign their own document

Write an induction or permit-to-work summary once. Every contractor accepts it at the kiosk, and the exact text stays on their visit.

Deliveries and watchlist

Couriers sign parcels in and the recipient hears by email or chat. Reception is told when someone on the watchlist signs in.

Every entrance covered

Name your entrances and put a kiosk at each. Every visit records the door it came in by.

Also: staff names kept off the kiosk, contractors listed apart, and a list that can never drift.

Self-hosted without the assembly

The other answer to “self-hosted” is a repository: clone it, read the compose file, provision a database, wire up mail, then keep it patched yourself. That is a fair answer when running infrastructure is already your job, and we would rather say so than pretend otherwise. This is the other kind. It is bought once at $79.00, the full PHP source is in the download, and the web installer finishes on ordinary shared hosting in about two minutes. No Composer, no Node, no build step, nothing to compile, and nothing that phones home.

Is it right for you?

What Visitora deliberately doesn’t do.

  • **A sign-in book, not a security system.** It records what people tell it — no ID scan, no passport read
  • **No door access, no turnstiles, no badge encoding** — it does not unlock anything
  • **No photo capture, no ID upload** — deliberate: neither is needed to answer "who is inside", and both are data you then have to protect
  • **Single-tenant: one site per installation**
  • Email through your own SMTP server and texts through your own SMS gateway, both off until you switch them on — no push, and Visitora sells no credits for either. A host gets arrival texts only if they ask for them, and arrivals can also be posted to your team's Slack, Teams, Google Chat or Discord channel
  • **The visitor is never emailed a copy of their visit** — only the host arrival notice and the pre-registration link
  • **Not legal advice** — the right retention period, and whether your site rules are adequate, are your decisions

What renting costs instead

GreetlyEssential $99/month billed yearly, for "smaller organizations or offices with basic visitor check-in needs"; the upper tier $159/month billed yearly for multi-location workplaces. "Unlimited users, check-ins, and hosts" on both, with "no extra charges or hidden fees"

1 month of Greetly costs what Visitora costs once.

Read Sep 3, 2026 · source
EnvoyVisitors Premium $362 per location/month billed annually (Basic free with limited features; Enterprise custom)

1 month of Envoy costs what Visitora costs once.

Read Aug 22, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? Greetly alternative · Envoy alternative · Vizito alternative · Sign In App alternative

Release history

Own It 4.1A text when the visitor arrivesOct 4, 2026

For Visitora, 4.1 adds a text to the host when their visitor signs in, through your own SMS gateway, for hosts who ask for it. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Visitora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.3Contractors sign their own documentSep 27, 2026

For Visitora, 3.3 gives contractors their own document: an induction or permit-to-work summary that every contractor reads and accepts at the kiosk, with the exact… What’s new in 3.3 →

Own It 3.2Everyone really means everyoneSep 26, 2026

For Visitora, 3.2 put everyone on the fire roll call: staff tap in beside visitors and contractors, and wardens tick people off on their own phones.

Own It 3.1It writes to the people you serveAug 20, 2026

Visitora was built after the 3.1 wave.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • QUICKSTART.txt
  • assets/
  • bin/
  • config.sample.php
  • controllers/
  • cron/
  • deploy/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Visit.php: a real module, the first 24 of 584 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * Visit.php — THE core: who is inside the building, right now (fully covered by tests/run.php).
 *
 * Four properties, all provable, all tested:
 *
 *   1. ON SITE IS DERIVED, NEVER STORED. A visit is on site when it has a sign-in time and no
 *      sign-out time. There is no `is_onsite` column to go stale, no nightly job to forget, and
 *      no way for the evacuation list to disagree with the visit log. Everything else — the
 *      dashboard count, the CSV, the badge check, the API — reads the same one rule.
 *
 *   2. SIGNING OUT IS IDEMPOTENT AND CANNOT BE UNDONE BY A RACE. `signOut()` is a conditional
 *      UPDATE (`WHERE signed_out_at IS NULL`), so two taps, two devices or a double-submitting
 *      kiosk produce exactly one sign-out at one time. It reports whether it was the one that
 *      did it, so callers never announce an event that did not happen.
 *
 *   3. WHAT A VISITOR AGREED TO IS SELF-CONTAINED. When a visitor accepts the site rules, the
 *      exact text and its SHA-256 are stored ON the evidence row, not a pointer to a settings
 *      field somebody can edit afterward. Changing the rules tomorrow cannot rewrite what
 *      somebody accepted today, and proving it needs no join.
 *
 *   4. BADGE NUMBERS ARE REUSED, NOT EXHAUSTED. A badge is physical: it comes back and goes out
 *      again. The allocator hands out the lowest number in the configured range that nobody on
 *      site is holding — so a reception desk with 50 badges never runs out on visitor 51, and

Runs on: Web installer in about two minutes; plain PHP 8.1+ with MySQL/MariaDB (or SQLite for a trial), no Composer and no build step — Docker one-liner included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- visitora <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$79
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $79
Extended license$179
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $179

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

Does it unlock doors or print encoded badges?
No. It is a sign-in book, not a security system: no door access, no turnstiles, no badge encoding. It prints a paper badge with a number on it and records who holds it.
Does it verify identity?
No, and deliberately. No ID scan, no passport read, no photo capture, no ID upload. None of that is needed to answer who is inside, and all of it is data you then have to protect.
What happens when the wifi drops during an evacuation?
The evacuation page is kept on the device and still shows the list as of its last load. There is also a one-click print muster sheet, because paper beats every screen at 2% battery.
Can it text a host instead of emailing?
Yes, if you connect your own SMS gateway and the host asks for it: a host turns arrival texts on from their own phone link, and each text names the visitor and the badge and ends with a stop link. Email through your own SMTP server and texts through your own SMS gateway, both off until you switch them on — no push, and Visitora sells no credits for either. Arrivals can also be posted to your team's Slack, Teams, Google Chat or Discord channel.
Can one install cover several sites?
No. Single-tenant, one site per installation. Staff get their own accounts, roles and 2FA within it.
Is it priced per site, or per visitor?
Neither. You pay for the license once, whatever the footfall through reception.
Can the evacuation list ever disagree with the sign-in log?
Not by construction. Being on site is derived — a visit with a sign-in time and no sign-out — so there is no stored flag to go stale and no nightly job to forget. The dashboard, the roll-call page, the CSV, the badge check and the API all read that single rule, and the test suite greps the codebase for a second copy of it.
Could a data purge remove somebody who is still in the building?
No. Anybody still signed in is out of a purge's reach, and it keeps no list of who it purged.
Can an AI agent sign a visitor in?
No. Signing somebody into a building is a human act with a human accountable for it.
Better together
Studio Suite: Slotly, Waiverly, Gymora and Visitora
Online booking, digital waivers, and membership management — run a studio, gym, or spa on your own server.
4 tools for$199
$326 separatelySave $127
Better together
Front-Desk Suite: Visitora, Membora, Helpora and Loyalora
Sign-in, membership, loyalty and the request queue — the counter where an organization meets everyone it deals with, bought once.
4 tools for$159
$266 separatelySave $107

Covered in these guides

Also covered in: What a Reception Sign-In Book Rents For — Visitor Management Priced Per Site, Per Year.

More about Visitora

Self-hosted evacuation list for reception and site safety: one page naming everyone still inside — staff, contractors and visitors — derived from the sign-in log and kept on the device for when the network dies.

The problem it solves

A self-hosted visitor sign-in system for reception is rare: most are cloud SaaS billed monthly per location — Envoy being the best-known — and the visitor log lives on their servers. Visitora is the self-hosted version: $79 one-time, full PHP source, a front-desk sign-in screen any tablet browser can run, and a visitor log that stays on your own server.

A paper sign-in book fails at exactly one moment: the one it exists for. Somebody carries it outside, half the names are illegible, and nobody can say whether the contractor who arrived at eleven has left.

The cloud products that replace it charge per site, per month, and put the name of every person who visited you on somebody else's server. Then the wifi goes down during the fire drill and the tablet shows a spinner.

  • A book that cannot be searched, cannot be counted, and cannot survive the walk to the car park
  • Per-site monthly fees for what is a list of names and two timestamps
  • Visitor personal data, including who they came to see, sitting in a jurisdiction you did not pick

Every feature

  • One page, every visitor on site. Newest arrival first, with their host and their host phone number. One tap marks a person accounted for, and the tally reads on site / accounted for / still missing. It is the screen you open in the car park.
  • It survives the network dying. The evacuation page is kept on the device. If the network is gone it still shows the list as of the last load — because the fire alarm and the router failing are not independent events.
  • Paper beats both. A print muster sheet with a tick box per row, and a CSV, are one click each. When the tablet is at 2% the sheet is already printed.
  • The list and the log can never disagree. On site is not a column that could go stale — it is derived from the sign-in and sign-out entries themselves. There is no second source of truth to drift.
  • Kiosk mode. A full-screen page for a tablet at reception: big targets, no admin chrome, and nothing a visitor can wander into. They sign themselves in and get a badge number. Their host is told by email, or in your team's chat channel, when you switch it on, and the screen says so only when it went. Reception prints the badge from the visit record in one click.
  • Badges that come back. Numbers are handed out lowest-first from however many badges you own, and returned to the pool on sign-out. Sign out by badge number or by name, with a disambiguation step when more than one person matches.
  • Site rules and pre-registration. Optional text a visitor accepts before signing in — safety rules, an NDA, a site induction — and a pre-registration link so an expected visitor arrives already on the list.
  • Everyone on the roll call. Staff tap in and out at the kiosk with a personal code, or from their phone. The evacuation list shows staff, contractors and visitors, with one tally. Presence only: no timesheets.
  • The host hears about it where the team is. Arrivals posted to Slack, Microsoft Teams, Google Chat or Discord, as well as the host's email.
  • Contractors apart. Visitors and contractors sign in as what they are, and the list keeps them apart.
  • The roll call on your wardens' phones. A personal link each, no account; several wardens tick people off at once, and it keeps working when the network drops.
  • Badges from any printer, with a sign-out QR. The kiosk prints the badge on whatever printer it uses; visitors sign out by scanning it as they leave.
  • Watchlist. Reception is told when someone on it signs in; the visitor sees nothing different.
  • Deliveries. Couriers sign parcels in at the kiosk; the recipient hears by email or chat, and reception tracks it until collected.
  • Contractors sign their own document. Write an induction or permit-to-work summary once. Every contractor reads and accepts it at the kiosk, and the exact text is kept on their visit, beside the site rules.
  • Every entrance covered. Name your entrances, put a kiosk at each, and every visit records the door it came in by. It shows on the roll call, in the exports and in the API.
  • Keep staff names off the kiosk. Visitors and couriers type the name of the person they are here for instead of choosing from a list, and the thank-you screen names nobody.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • A text when their visitor arrives. A host who asks for it gets a text when their visitor signs in at the kiosk, through your own SMS gateway: the visitor, their company and the badge, never the purpose of the visit. Every text ends with a stop link, and a daily cap keeps made-up sign-ins from becoming paid texts.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Visitora, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Visitora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: a text when the visitor arrives. For Visitora, 4.1 adds a text to the host when their visitor signs in, through your own SMS gateway, for hosts who ask for it. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Visitora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Visitora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
  • Own It 3.3: contractors sign their own document. For Visitora, 3.3 gives contractors their own document: an induction or permit-to-work summary that every contractor reads and accepts at the kiosk, with the exact text kept on their visit beside the site rules.
  • Own It 3.2: everyone really means everyone. For Visitora, 3.2 put everyone on the fire roll call: staff tap in beside visitors and contractors, and wardens tick people off on their own phones. The host hears about arrivals where the team already talks, badges print on any printer with a sign-out QR, deliveries and a watchlist sit at reception, each entrance can have its own kiosk, and staff names can be kept off the screen.
  • Own It 3.1: it writes to the people you serve. Visitora was built after the 3.1 wave. Its outbound path is the host notice: with email switched on, a visitor's host gets an email through your own SMTP, and the kiosk tells the visitor only when it went. Off until you switch it on.

Browse self-hosted: Front-office software · School & training-provider software · Charity, club & association software · Event & venue software · Coworking & workspace software

Visitora$79 once
Demo Buy