CertiFlow documentation

Issue training certificates, have them approved by a verifier, deliver them by email, and let anyone check one without an account.

CertiFlow is a certificate registry for organisations that train people. It runs on ordinary PHP hosting, keeps the record of every certificate it issues, and gives the outside world one address where a certificate can be checked and nothing else can be learned.

Install it in about fifteen minutes

  1. Check that your server meets the requirements. The installer checks them too, and refuses to continue if something is missing.
  2. Follow installation: upload the files, create an empty database, open /install, answer five screens.
  3. Add the scheduled jobs. Without the email job, nothing is delivered by email.
  4. Set your logo and colours, then issue your first certificate by following core workflows.

What the roles are

Every account holds exactly one role, and the role decides what it may do. The full matrix is on the roles and permissions page.

RolePurpose
AdminRuns the installation: accounts, branding, email, translations, audit log, and everything a Manager can do.
ManagerDoes the daily work: courses, participants, certificates, bulk imports and exports.
VerifierAn outside body that approves certificates assigned to it, and sees nothing else.

The public has no account at all. A visitor types a certificate number, opens a link or scans a QR code, and sees one record.

All pages

Server requirements

What the server has to provide, and how to check it before you buy hosting.

Installation

Upload, create a database, run the five installer steps, sign in.

Configuration reference

Every setting in the .env file, what it means and what may go in it.

Roles and permissions

Admin, Manager and Verifier, and exactly what each one may do.

Core workflows

From a course to a verified certificate a stranger can check.

Bulk import

The column specification, the five stages, and what a rejected row means.

Email and templates

SMTP settings, the sender address, and editing the wording of every message.

Branding and white label

Logo, favicon, colours, fonts and browser title.

Translations and languages

Change any word, translate a whole language in a file, add a language.

Scheduled jobs

The scheduled jobs, what each one does and how often to run it.

Backup and restore

What to back up, how to restore it, and what a restore cannot recover.

Upgrading

Moving to a new release without losing branding, translations or data.

Troubleshooting and FAQ

The failures buyers hit most, with the fix for each.

Support scope

Included support, response commitment, update renewal and secret-free requests.

Refund policy

Conditional fourteen-day refunds, marketplace terms and consumer rights.

Security and privacy

The controls in the product, and the data it deliberately does not store.

Architecture overview

How the application is put together, for a developer extending it.

Database reference

Every table the schema creates and what it holds.

Changelog

What changed in each release, newest first.

Getting help

Support is by email and is answered within two business days. Before writing, open /admin/diagnostics as an Admin: it reports the server your installation is actually running on, which answers most questions immediately. The troubleshooting page covers the failures buyers hit most often.