Getting started
Vygard is a lone-worker safety platform. A worker on their phone (or paired Apple Watch) presses SOS, and within seconds their dispatcher, buddy, duty manager and — if you've set it up — your ARC monitoring partner all get the alert across push, SMS, WhatsApp and voice. This section walks you from cold to your first real alert in about 20 minutes.
- 1
Sign up your team
Go to vygard.com → Start free trial. The 10-step wizard captures your company name, sector (forestry, care, construction, etc.), branding, the first few workers you want to invite, and the escalation policy (who hears the SOS, in what order). No card up-front; you have 14 days free.
- 2
Pick your sector
Sector picks the right safety pack — chainsaw kickback detection for forestry, medication double-check for care, gas alarm integration for petro, etc. You can only pick one. If you operate across two sectors (e.g. forestry contracting + tree-surgery for arborist crews) pick the dominant one and we'll layer extras on later.
- 3
Invite your first workers
Step 4 of the wizard captures names + UK mobile numbers. Each worker gets one SMS with a link. They tap, install the iOS app, set a password (or Face ID), and they're live. Skip this step if you'd rather invite later from /admin/team.
- 4
Set the escalation policy
Step 5 builds the cascade. Default is buddy (2 min) → duty manager (5 min) → ARC partner (immediately). Each tier has its own ack timeout and channel list. You can override per site, per shift type, or per individual worker later.
- 5
Run a test SOS
Step 8 of the wizard — or the Trust + verify panel on /admin home any time — simulates a real SOS firing through your cascade. No actual notifications go out. You'll see exactly which worker would be alerted at which tier, plus the AI-ranked nearest-responder dispatch. Run this BEFORE betting a real worker's safety on it.
The 10-step wizard saves your progress as you go. Close the tab and the next visit resumes where you left off, including the email link if you supplied one.
Adding and managing workers
Workers are the people Vygard protects. Each worker holds a seat against your subscription. You invite them by name + phone; they install the app and set their own password / Face ID. They never need to set up an account separately — your invitation IS their account.
- 1
Invite one worker
Open /admin/team → Invite a worker → enter their name + UK mobile + role. They get a single SMS with an install link. The invite expires in 7 days; if they don't act, resend from the same screen.
- 2
Bulk import via CSV
On /admin/team click Bulk import. Drop a CSV with columns Name, Mobile, Role. We send all the SMS invites at once. Workers can install at their own pace; their seat doesn't activate until they sign in.
- 3
What workers see in the SMS
"Your employer [Company] has added you to Vygard for lone-worker safety. Tap [link] to set up your account. — Vygard". The link opens the App Store on iOS or the Play Store on Android. Once installed, the worker is auto-signed in by the same magic link.
- 4
Worker sets up Face ID
First sign-in asks for a password. Second screen offers Face ID for everyday unlock. Their password stays as the backup so they can sign in on a new phone without admin help.
- 5
Deactivate a worker
If a worker leaves the company, deactivate them on /admin/team. Their seat is freed immediately (no proration weirdness, no end-of-month wait). They can no longer sign in. Their historic incidents stay on file for compliance — you can't delete them.
Don't share one worker login between multiple people. Vygard tracks who's on shift, where they are, and who fired the SOS — shared logins make all of that meaningless and may invalidate your audit log for HSE/ARC purposes.
If a worker loses their phone, deactivate that device from /admin/team → worker detail → Devices, then invite them again. The new phone gets a fresh SMS; the old one is wiped of session state on next online wake.
How the SOS cascade works
When a worker presses SOS on their phone or Apple Watch, Vygard fires a multi-channel, multi-tier alert that escalates until somebody acknowledges. This section explains the cascade end-to-end so you understand exactly who gets notified, when, and how to tune it for your team.
An SOS event has three independent components that fire in parallel: the alert cascade, AI nearest-responder dispatch, and the dispatcher dashboard notification. They don't depend on each other — if any one path is unavailable (worker has no signal, AI is rate-limited, etc.), the others still fire. The worker's app keeps trying every 8 seconds in the background until at least one path succeeds.
The alert cascade runs your configured escalation policy. Tier 1 (default: buddy worker) gets the alert immediately by push, SMS, WhatsApp and voice — in parallel, not sequence. If nobody on Tier 1 acknowledges within the ack timeout (default 2 minutes), Tier 2 fires automatically (default: duty manager, 5-minute timeout). Tier 3 is your ARC partner (BS 8484-monitored response centre) — they're alerted by voice immediately, no delay.
AI nearest-responder dispatch runs alongside the cascade. Claude ranks every other worker in your tenant by distance from the SOS, role match, on-shift status and recent location ping freshness. The top 3 get a push + SMS — they're independent of the escalation tiers, so a buddy 50 metres away gets the alert before the duty manager 50 km away even if the cascade hasn't reached the buddy yet.
Dispatcher dashboard lights up on every admin's notification bell within 10 seconds of the SOS firing. The admin sees the incident card with worker name, location, what3words address, and an AR site view if location accuracy allows.
Acknowledgement stops the cascade. The first person to tap Acknowledge — buddy, duty manager, ARC operator — silences all further tier escalations and marks themselves as the responder. The incident stays open until somebody marks it Resolved or False Alarm.
Run the Test SOS on /admin home → Trust + verify weekly. It exercises every Twilio + push + email path without notifying anyone, so you'll catch a bad ARC phone number or expired WhatsApp template months before a real incident does.
SOS bypasses every trial cap and per-channel quota. Even if you've hit your Starter SMS limit for the month, every SOS still fires across every channel. You're never blocked from making a real safety call.
Running your day
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
After the initial setup, most days are calm. The admin home page (/admin) is the dashboard you'll live in — open tasks, today's shifts, unassigned work, and the action cards for the four things you do most: invite, dispatch, schedule, sync.
- 1
Dispatch a task
Open /admin/tasks → New job. Pick a worker (or leave unassigned), enter location + what3words, hazard notes, and the expected duration. The worker sees it on their phone with a Navigate button (opens Apple Maps / Google Maps / OS Maps based on their preference).
- 2
Build this week's roster
Open /admin/roster. Drag shifts onto the weekly grid, or click an empty cell to add one. You can pre-assign or leave unassigned — workers can pick up open shifts via the swap marketplace.
- 3
Sync to your calendar
Settings → Calendar sync. Generate an iCal URL and subscribe from Outlook / Google / Apple Calendar. Every roster change pushes within 60 seconds.
- 4
Send a broadcast
Open /admin/broadcast. Pick recipients (all workers / one site / one role), pick channels (push / SMS / WhatsApp), write a message. Track who's read it via per-worker ack columns. Broadcasts respect each worker's individual channel preferences — if Alex turned off WhatsApp, your broadcast falls back to SMS for them.
- 5
Review incidents
/admin → Today on the roster shows live shifts. Notification bell shows the latest 50 alerts (SOS, no-movement, geofence, welfare ping). Click any to jump into the incident detail page with the full audit trail.
Organise your people, and say who supervises whom
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Once you are past a handful of workers on one site, a flat list stops being useful. Groups let you mirror how your organisation actually works — divisions, departments, sites, teams — and assign supervisors to them. Supervisors then see their own people and nobody else's.
- 1
Create your structure
Settings → Groups → New group. Give it a name and a kind (division, department, school, location, team). Leave the parent blank for a top-level group, or pick one to nest it. You can nest as deep as your organisation genuinely is — but do not build more structure than you will maintain. Three levels is plenty for most customers.
- 2
Add workers
Open a group → Members → pick from your worker list. A worker can be in more than one group, and often should be: a caretaker might be in 'St Mary's' and also in 'Out-of-hours cover'. Escalation and messaging reach them through either.
- 3
Assign supervisors
Open a group → Supervisors → add an administrator, and mark them primary or deputy. Primary is contacted first when escalation reaches the supervisor tier. Deputies are your cover for holidays and sickness — set them now rather than the first time a primary is unreachable at 22:00.
- 4
Check what a supervisor sees
A supervisor account sees only workers in the groups they supervise — their live map, their alerts, their messages. Everyone with a broader role still sees the whole organisation.
A supervisor with no assigned group sees **nothing**, not everything. That is deliberate — an unconfigured account should be useless rather than over-privileged — but it does mean you must assign groups before a new supervisor can do their job.
Groups are not sites. A site is a physical place with a geofence; a group is an organisational unit that may span several sites, or none. You will usually want both.
Who can do what
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Every administrator account holds one or more roles, and each role grants a specific set of permissions. This is how you give a dispatcher what they need to handle alerts without also handing them your billing settings.
Administrator — everything, including billing and managing other administrators. Keep this to the smallest number of people who genuinely need it.
Safety officer — incidents, escalation policies, audit and export, plus broadcasts. The role for whoever owns your health-and-safety obligations.
Duty manager — incidents, workers, rosters and broadcasts. Day-to-day operational control without policy or billing.
Dispatcher — incidents and broadcasts. Built for whoever is watching the console during a shift.
Supervisor — their own people only, as described under Groups & supervisors. Can acknowledge an alert but cannot change the escalation chain that called them.
Viewer — read-only across the organisation. Useful for an auditor, a client, or a senior manager who wants visibility without the ability to change anything.
A person can hold more than one role — a safety officer who also covers as duty manager, for example. Their permissions are the combination of both. Add extra roles under Settings → Team → the person → Roles.
Permissions govern the console only. Nothing here can prevent a worker raising an SOS, reporting a fall or posting a check-in — a worker in trouble is never refused for lack of a permission.
Sign in with Microsoft (single sign-on)
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Let your administrators sign in with their existing work Microsoft account instead of an emailed code. Your own conditional access and multi-factor policies apply, and Vygard does not ask for a second factor on top of them. Vygard is a registered multi-tenant Microsoft application, so there is nothing to set up in Azure — you supply your directory ID and approve Vygard for your organisation once. It takes a couple of minutes.
- 1
Find your directory ID
In the Azure portal, go to Microsoft Entra ID → Overview and copy the Tenant ID. This is the single most important value on the page: only accounts from that directory will ever be accepted, and a sign-in from anywhere else is refused outright.
- 2
Enter the directory ID and turn it on
Paste the Tenant ID into Admin → Settings → Single sign-on and save. There is nothing to register in Azure — Vygard is a multi-tenant Microsoft app. Optionally restrict which email domains may sign in — useful if your directory also contains guests or contractors who should not reach the console.
- 3
Approve Vygard for your organisation
The first time an administrator signs in with Microsoft, your directory asks an IT admin to approve Vygard once — a standard admin consent. After that, any of your administrators can sign in. No app registration and no secret to manage on your side.
- 4
Decide about automatic account creation
Leave this off unless you have a reason not to. With it on, anybody in your Microsoft directory can give themselves a console account by signing in once, with no approval step. With it off, an administrator adds the person first and single sign-on only changes how they prove who they are.
- 5
Test with your own account
Sign out, then enter your work address on the sign-in page. You are sent to Microsoft, and back again already signed in. Existing administrators keep their role, their group assignments and their history — the account is linked, not replaced.
Administrators who sign in through Microsoft are **not** asked for a Vygard two-factor code, even where your organisation requires two-factor. Your directory has already authenticated them and applied whatever policy you enforce there; asking again would be duplication, not security.
Keep at least one administrator who can sign in by email code. If your Microsoft directory becomes unreachable, that account is how you get back into the console.
Turn on two-factor authentication
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Administrator accounts can see where your people are and change who gets called in an emergency. Two-factor authentication means a stolen laptop or an intercepted email is not enough to get in. It takes about two minutes to set up and we would encourage every administrator to do it.
- 1
Start enrolment
Admin → Settings → Two-factor authentication → Set up. You will be shown a secret key, and a link you can open on the device holding your authenticator.
- 2
Add it to your authenticator
Open your authenticator — Google Authenticator, Microsoft Authenticator, 1Password and Authy all work — choose "add by secret key", and enter the key shown. Opening the link on the same device adds it in one tap instead.
- 3
Confirm with a code
Enter the six-digit code your authenticator shows. Two-factor only switches on once a code has been accepted, so a key that was mistyped cannot lock you out — nothing changes until a real code proves the authenticator holds it.
- 4
Signing in afterwards
Sign-in becomes two steps: your emailed code as usual, then a six-digit code from the authenticator. Codes change every 30 seconds; we accept the one either side to allow for a phone whose clock has drifted. The sign-in itself expires five minutes after the first step.
- 5
Require it across the organisation
On the same card, "Require for everyone" makes a second factor mandatory for every administrator in your organisation. It shows how many are currently enrolled before you turn it on. Administrators who have not enrolled can still sign in, but every action in the console is refused until they do — so enabling it cannot lock out the person who enabled it.
Turning two-factor **off** also requires a current code. If you lose the authenticator entirely, contact support — we will verify you by another route rather than simply switching it off on request.
Two-factor is enforced at sign-in, not just recorded against your account: with it enabled, the emailed code alone will not get you in.
Provision administrators automatically with SCIM
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
SCIM is the companion to single sign-on. With it connected, your identity provider — Microsoft Entra — creates console administrators as staff join and, more importantly, deactivates them the day they leave, with no off-boarding step on this side. Setting it up takes a few minutes and needs somebody who administers your Entra directory.
- 1
Turn it on and choose a default role
Admin → Settings → Automated provisioning. Turn it on and pick the role new administrators get when your directory does not specify one — keep it low (viewer), and promote people deliberately.
- 2
Copy the base URL and generate a token
The card shows a SCIM base URL. Click Generate token — the secret is shown once, so copy it now; only its hash is stored here and it cannot be retrieved later. Generate a new one any time; the old one stops working the moment you do.
- 3
Paste both into Entra
In the Azure portal, open your enterprise application → Provisioning → Automatic. Paste the base URL as the Tenant URL and the token as the Secret Token, then Test Connection. Assign the users and groups you want provisioned and start provisioning.
- 4
What happens next
Entra creates an administrator here for each assigned person, and deactivates them when they are unassigned or leave the directory. A deactivated administrator can no longer sign in, but the record of what they did stays in the audit trail. Every account SCIM creates or deactivates is recorded there.
SCIM provisions **console administrators**, not field workers. Workers are added from Team, or arrive through your own onboarding — a staff directory should not turn every employee into a console user.
Provisioning will never remove your last administrator: a request to deactivate the only remaining owner is refused, so an identity-provider misconfiguration cannot lock your organisation out of its own console.
Duress PIN — a silent call for help
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A duress PIN lets a worker raise the alarm without anybody nearby realising. They type a personal PIN into the app; it looks like an ordinary unlock, but it silently opens a duress incident that escalates exactly like an SOS. It is the trigger to reach for when someone is watching and an obvious SOS would make the situation more dangerous.
- 1
Allow it for your organisation
Admin → Settings → Duress PIN. It is on by default — it is a safety capability and costs nothing until a worker chooses to set one. The card shows how many of your workers currently have a PIN configured.
- 2
How a worker sets theirs
In the app: Profile → Safety → Duress PIN. The worker chooses a 4-to-8-digit PIN, distinct from any normal unlock code. It is theirs alone — it is never shown in the console, and only a scrambled form is ever stored.
- 3
What happens when it is used
The worker types the PIN. The app carries on as normal — no confirmation, no siren — while a duress incident opens on your side and your escalation chain runs. The alarm is raised on the server the instant the PIN is entered, so it is out even if the phone is then taken.
- 4
What responders see
A duress alarm is marked distinctly and carries a clear instruction: the worker may be under coercion — do not call or text them, and do not make any contact that reveals help is on the way. Dispatch discreetly and follow your lone-worker duress procedure.
Turning duress PINs **off** stops existing PINs firing immediately — a worker who types theirs will not raise an alarm. The PINs are kept, so turning it back on restores them, but while it is off the capability is genuinely gone.
A duress incident is `high` severity, not `critical`: the worker is conscious and acting. It still escalates on the same chain, at the same speed — the severity only affects triage and reporting, never how fast the alarm goes out.
Interval check-ins
A check-in is the worker confirming they are alright at a set interval. Miss one, and an incident opens and your escalation chain runs — exactly as it would for an SOS. This is what most working-alone regulations mean by 'contact at intervals appropriate to the hazard', including Alberta OHS Code s.394 and the UK's equivalent guidance.
- 1
Set the cadence
Settings → Check-ins → set an interval in minutes. This is off by default; leaving it off means nothing changes. Choose an interval you would genuinely want somebody investigated after — for most indoor facilities work that is 30 to 60 minutes; for higher-risk tasks, shorter.
- 2
How it works for the worker
When a worker clocks on, their first check-in is scheduled. Shortly before it falls due they get a reminder on their phone. They confirm in the app in one tap, and the next one is scheduled.
- 3
What happens on a miss
If the window passes without a check-in, an incident opens and the escalation chain runs to your configured tiers — no one has to notice or intervene. When the worker does check in, any open missed-check-in incident is cleared automatically.
The reminder is a courtesy; the escalation is the safety control. They run separately on purpose, so a reminder that fails to deliver can never stop the escalation firing.
Set the interval against the hazard, not the person. Two hours for a caretaker locking up is a different judgement from two hours for someone in a plant room, and an inspector will ask you how you decided.
Two-way messaging and group channels
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Broadcasts send information out. Messaging lets it come back. A worker who is uneasy rather than in danger — an aggressive member of the public, a door that will not lock, a job taking longer than expected — needs somewhere to say so that is not the SOS button.
Direct — each worker has one thread with your monitoring team. They open it from the app; it appears on your alert bell alongside open incidents rather than in a separate inbox somebody has to remember to check.
Group channels — a thread attached to a worker group, reaching every member and its supervisors. Useful for a shift, a site, or a response team.
Incident threads — a conversation attached to a specific incident, for coordinating during a response. It stays with the incident afterwards, so the record shows what was said as well as what was done.
Messages cannot be edited or deleted. During an incident the thread is part of the record, and a record that can be rewritten is not a record.
Messaging is not a replacement for the SOS button, and workers should be told so during training. If somebody is in danger they press SOS — that raises an alarm and escalates. A message waits for a human to read it.
Track what you did about it
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
The incident record answers what happened. Corrective actions answer what you did about it — the half an inspector or an insurer asks for, and the half that is usually scattered across emails.
- 1
Raise an action
Open an incident → Actions → Add. Describe what needs doing, assign an owner, and set a due date. Raise them while the incident is fresh; nobody reconstructs this accurately three weeks later.
- 2
Track it
Actions move through open, in progress and done. Overdue ones are flagged, and their owner is reminded. An action you decide not to pursue is cancelled rather than deleted — that decision is part of the record too.
- 3
Show it
Actions appear on the incident's timeline, so the audit export shows your response alongside the alarm. That is usually the document you actually want when somebody asks what changed after an incident.
What workers see and do
Workers install one of 12 sector-branded Vygard iOS or Android apps. The app handles their sign-in, location tracking, fall detection, SOS button, and any sector-specific workflows. This section walks you through the key worker-side flows so you can confidently train a new hire.
Sign-in: One-time SMS magic link from your invite, then password + Face ID for everyday unlock. Workers never see your admin dashboard — their app shows their shift, their day's tasks, their map, and the SOS button. Big and red and impossible to miss.
Clock on / clock off: On the worker's home screen, they tap Start shift. Vygard begins tracking location, fall events, and check-ins. Tap End shift to stop. Off-shift, no tracking happens — your privacy obligations are easier to defend.
The SOS button: A red pulsing ring at the bottom of every screen. One tap fires the cascade. There's no confirmation dialog by default (panic-friendly), but you can require 2-second hold from Settings → SOS gesture if you prefer. Apple Watch can also fire SOS from the wrist face.
Check-ins: On routes with no boss-imposed schedule, workers can voice-tag a check-in ("all clear, on site 4") which transcribes via the phone's built-in Siri model — no audio leaves the device unless they explicitly opt in.
Fall detection: The iPhone in their pocket runs a 50 Hz accelerometer pipeline (FallDetector.swift). Three-stage detection: sudden freefall → impact → stillness for 5 seconds. If all three trigger, the SOS cascade fires automatically — same as a manual button press, no human in the loop.
Apple Watch Chainsaw Monitor (Forestry only today): When chainsaw mode is on, the wrist sensor watches for the kickback signature — sustained vibration + sudden arm-jerk. If detected, a 3-second "Are you OK?" haptic gives the worker a chance to cancel. If they don't, SOS fires.
**Low battery.** While a worker is on shift, Vygard watches their battery level. At 20% the worker is warned; at 10% both the worker and their supervisor are told, because below that the phone may stop reporting and monitoring is effectively lost. Each level alerts once per shift, so a phone sitting at 19% does not produce a stream of messages.
Workers can set their own preferred channels in app Settings → Notifications. Some hate WhatsApp; some prefer voice for noisy environments. Respect their preference and your ack rates go up.
Plans, seats and billing
Vygard bills per active worker per month. Three plans, one currency (£), one cycle (monthly), one trial (14 days, no card up-front). All real-time, all self-serve from /admin/billing.
- **Plans**:
Starter — £9/worker/month. Core SOS, check-ins, alerts, live map, audit log. Capped at 100 SMS / 50 WhatsApp / 20 voice per month. Best for teams of 1–10.
Pro — £19/worker/month. Everything in Starter plus AI Virtual Watcher, broadcasts, sector-pack workflows, family sharing, Apple Watch / Wear OS support, AI-ranked dispatch. 1,500 SMS / 1,000 WhatsApp / 300 voice. Best for teams of 10–100.
Enterprise — custom pricing. Unlimited messaging, dedicated ARC integration, SSO, on-prem option, named CSM. Best for >100 workers or regulated industries.
Trial: 14 days free, no card required. Capped at 10 seats while you're on trial. Use Starter quotas. At day 14 your subscription either auto-converts to Pro (if you added a card) or pauses (if you didn't). Pausing is recoverable — add a card any time and your team comes straight back online with all their data intact.
Overage: If you blow past the included monthly quota for a channel, Vygard keeps sending and adds an overage line item to next month's invoice. SMS is 4p/message overage; WhatsApp 3p; voice 12p/minute. Pre-buying a Top-up pack from /admin/billing → Top-up gives you a chunkier discount.
Top-up packs: One-off bundles of SMS + WhatsApp + voice credits that don't expire. Light (£35), Standard (£95), Pro (£250). Credits are consumed before overage kicks in.
Cancellation: From /admin/billing → Customer Portal. Stripe-hosted, two clicks, no phone calls. Your team keeps working until end of the paid period; after that they're locked out but their data is retained for 30 days in case you reactivate.
If you only need the chainsaw kickback detection (no team dispatcher dashboard, no AI), wait for the standalone Vygard Chainsaw app — coming soon at £9.99/month. Same detector, different licensing model.
We never auto-charge an expired card without warning. You'll get three emails (7 days before, 1 day before, day-of) telling you to update your payment method. If your card fails on billing day, your tenant is paused — same recoverable state as the end-of-trial pause.
Verifying everything works before a real incident
Vygard's biggest single risk is that everything looks fine on the dashboard but the real cascade is broken — wrong ARC phone number, expired WhatsApp template, Twilio account suspended. The Trust + verify panel on /admin home lets you catch every failure mode before betting a real worker's safety on it.
The panel lives on /admin home below the action cards. Six checks: API health, Twilio status, WhatsApp templates, push notification capability, Stripe billing health, and Claude AI availability. Every check shows green / amber / red with the actual error if it's failing.
Test SOS is the killer feature inside the panel. Click it, pick a worker (or pick yourself), and Vygard runs the full SOS dispatch pipeline against that worker — same code path as a real SOS button-press, but the final notification step is replaced with a simulation log instead of actual outbound messages. You see the cascade timeline ("buddy notified at +0s via push+SMS", "duty manager notified at +120s via push+SMS+voice") without anyone's phone ringing.
Run Test SOS weekly — once a week, on a quiet day, click the button. The 30 seconds it takes is the cheapest insurance you'll ever buy. If anything has changed (worker rotation, phone number update, ARC partner switch), Test SOS catches it before a real shift.
Integration status: Each row shows the configured value (Twilio account SID prefix, WhatsApp sender number, ARC partner name) so you can sanity-check at a glance that you're pointing at the right environment.
If Test SOS shows green but a real SOS doesn't fire, you've likely got a worker-side issue — push permission revoked, app force-quit, no signal. Worker-side diagnostics live on the worker's app under Settings → Diagnostics.
Audit trail, HSE export, GDPR
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Vygard's audit log is the legally defensible record of every event in your tenant. Every SOS, every escalation, every acknowledgement, every settings change — HMAC-signed at the time of insert, tamper-evident, retained for the life of your subscription plus 7 years if you cancel. This section covers what's in the audit log, how to export it for the HSE or your insurer, and the GDPR / UK DPA story.
What's in the audit log: SOS events with full timeline (buttoned-pressed, channels-fired, who-acked-when, who-resolved). Worker invites, sign-ins, deactivations. Settings changes (escalation policy edits, channel preferences). Billing events (plan changes, payment failures). Roster changes (shift added, swapped, cancelled). Admin user actions (master-admin impersonation, broadcast sent).
Read access: /admin/audit (Pro plan and up). Search by worker, date, event type. Each row shows actor, target, action, and a JSON details blob with the full state at time-of-event.
HSE / RIDDOR export: /admin/audit → Export. Pick a date range and incident type, hit Generate. We produce a signed PDF (RIDDOR F2508 format) with every reportable injury or near-miss prefilled from your data. Manual review still required before submission — we're a data source, not a regulator.
Worker data subject access: Under UK GDPR, a worker can ask for their data. /admin/team → worker → Export data. Generates a ZIP with everything we hold about them: location pings, SOS events, messages, audit entries. Standard turnaround is 7 days; we generate the ZIP in seconds.
Deletion: We don't delete safety-critical records (incidents, SOS, audit log) even on worker request — UK ICO accepts "legitimate interests + statutory obligation" as a lawful basis for retention. We do delete profile data (name, phone), pseudonymising the audit trail. Workers retain the right to complain to the ICO if they disagree.
Your insurer may discount your liability premium if you can show a Vygard audit ledger covering the last 12 months. Talk to them — task #72 wired insurance broker integration for some of the major UK liability providers.
Connect Vygard to your other systems
Vygard exposes a REST API + webhook system for pushing events into ServiceNow, Datadog, Splunk, your HR system, or anywhere else you want them. Pro plan and up.
REST API: Base URL `https://lwp-api.fly.dev`. Bearer token auth (issue from /admin/settings → API tokens). Rate-limited per token. Endpoints cover workers, incidents, audit log, messages, roster. Full reference at /docs/api (link in the sidebar).
Webhooks: /admin/settings → Webhooks. Add a URL, pick the events (incident.opened, incident.resolved, worker.invited, broadcast.acknowledged, etc.). We POST a signed JSON payload — verify the signature with your shared secret and process. Retried up to 5 times with exponential backoff if your endpoint 5xx's.
ARC partners: a default Vygard ARC partnership is being finalised (BS 8484 monitored response, 24/7 UK voice). Until that lands, bring your own — supply the partner's number + escalation rules and we route Tier 3 SOS to them. Your ARC contract is between you and the partner; Vygard is the dispatch path.
Calendar sync: iCal feed from Settings → Calendar sync. Subscribe from Outlook, Google, Apple Calendar. Read-only — changes still happen on /admin/roster, but your existing calendar shows them.
SSO: Enterprise plan. SAML 2.0 + OIDC. Talk to support for setup (one-off engineering work to map your IdP to Vygard's tenant + role schema).
Common problems and how to fix them
Quick fixes for the issues we see most. If you don't find your problem here, mail hello@vygard.com — we usually respond in under 4 hours during UK working hours, 24h on-call escalation for paying customers.
A worker never received their SMS invite: Check /admin/team → their row → status. "Pending" means we sent the SMS but they haven't installed yet. If status is "Failed", their number was rejected by Twilio (usually a non-UK number — we only invite UK mobiles right now). Resend with a corrected number.
SOS test didn't reach me: First check Settings → Notifications on the app — push permission off is the most common cause. Second, on /admin → Trust + verify, check Twilio integration is green. Third, check your own worker record on /admin/team has your real phone number, not a placeholder.
WhatsApp messages aren't being sent: WhatsApp templates need Meta approval (24-72 hours). If you've just set up Vygard, your templates may still be pending. Check /admin/settings → Channels → WhatsApp. Until they're approved, SMS is the fallback for any WhatsApp send.
Stripe checkout shows an error: Most likely your card is on a network Stripe blocked for fraud (rare for UK cards). Try a different card. If the same card works on other sites, mail support — we can chase Stripe.
My team can't sign in after their trial ended: Your subscription paused (trial ended without a card). From /admin/billing add a card; your team comes back online within 60 seconds. Their data is intact — sessions, shifts, audit log are all there.
The Apple Watch chainsaw mode never fires: Three-stage detection requires sustained vibration AND a sudden arm-jerk. A gentle test wave doesn't trip it — by design (false positives are worse than missed detection for sales credibility, in our view). To genuinely test, fast wrist-shake at high amplitude for 2 seconds.
I forgot my admin password: From /login → Forgot password. Email link arrives within 1 minute. Link expires in 30 minutes.
Your mutual-aid directory
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Keep a directory of the partner organisations you can call on when you need extra help — a neighbouring team, a contractor, a rescue service. It's your own private list; nothing is shared with other organisations on Vygard.
- 1
Add a partner
Mutual aid → Add partner. Record the organisation, a contact and phone number, what they can help with, and any notes on how to reach them or the terms.
- 2
Why it's private
This is a contact directory you maintain, not a live cross-organisation network. We deliberately don't share your workers or incidents with other Vygard tenants — tenant isolation is a hard line — so mutual aid here means "who you'd phone", captured somewhere everyone on your team can find it.
Scheduling care visits
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
For home-care teams, schedule visits with the client, address, time and the carer assigned. Carers see their round in the app; you track each visit from scheduled through in-progress to done.
- 1
Schedule a visit
Care visits → New visit. Enter the client and address, pick the time and the type of visit (personal care, medication, welfare, domestic), and assign a carer — or leave it unassigned to fill later.
- 2
Track the round
As the day runs, each visit moves scheduled → in progress → done (or cancelled). The carer's arrival updates it from the app; you can also set status here. Done visits stamp their completion time.
The welfare monitor
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A running read of who's on shift right now and warrants a check, with a concrete next step for each. It's built from observable signals — night shifts, recent incidents, a missing buddy — using transparent rules, so every suggestion is explainable.
For each active shift the monitor weighs the same factors as the risk-scored shifts view, and for anything above low risk it names the concern and suggests the single most useful action: pair a buddy, send a welfare check-in, or review recent incidents.
It is deliberately rule-based, not a large-language-model call — so it runs instantly, costs nothing, and you can always see why a name is on the list. If a worker isn't shown, no rule fired; nothing is hidden behind a score you can't inspect.
Tracking search coverage
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Break a search area into sectors and track coverage across them — unsearched, searching, searched — with the team assigned to each. The coverage bar shows how much of the grid is done.
- 1
Build the grid
Add a sector for each square or area of your search, using whatever reference scheme you work to (A1, B2, …). Sectors sort by reference so the grid reads in order.
- 2
Track as you go
Tap a sector to advance it — unsearched → searching → searched — as teams work through the area. The coverage percentage updates so command can see progress at a glance and re-task idle teams.
Running response operations
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Run each response as an operation — a name, an incident commander, a status and a running summary — so everyone is looking at the same picture from planning through active to stand-down and closed.
- 1
Open an operation
Operations → New operation. Name it, set the commander, and give it a status. Setting it Active stamps the start time; closing it stamps the end.
- 2
Keep the summary current
Edit the running summary as the situation develops. Active operations show in the header count and are highlighted, so the live picture is never buried.
Team availability and call-out
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Team members set their own availability from the app — available, on call, or unavailable — so when you need to call people out you can see at a glance who's ready. Most useful for rescue and on-call teams.
- 1
How members set status
Each worker sets their own status in the app. Until they do, they show as "Not set" rather than being assumed available — you never call out someone the system only guessed was free.
- 2
Override when you know better
You can override any member's status from the console — useful when someone's told you directly. The count at the top is how many are available or on-call right now.
Running the war room
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
The war room is a single view of every incident that's still open — oldest at the top, colour-coded by how long it's been waiting. It's the screen to keep up during an active situation, and it refreshes on its own.
Each open incident shows the type, the worker, the current status and its location if known, with a timer. Fresh (under 10 minutes) is green, aging (10–29) amber, stale (30+) red — so anything sitting too long stands out immediately.
The list clears as incidents are acknowledged and resolved from the Alerts screen; an empty war room is the goal. Nothing here is simulated — it's your live incident state.
Benchmarking against yourself
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
How you're trending against your own past — the last 30 days versus the 30 before. Fewer incidents, faster resolution, fewer left open: the arrows show whether each is moving the right way.
Each metric shows this period's figure, the change vs last period, and last period's value. Green means it moved the better way (down for incidents and resolution time), red the worse way. "New" means there was nothing to compare against last period.
We deliberately don't compare you to an "industry average". An honest benchmark across organisations needs a shared, anonymised dataset we don't hold — so we compare you to the one fair reference we do have: you, last month.
Reading your risk intelligence
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A read of your own incident record over the last 90 days: how many incidents, what kind, how many are still open, and how quickly they're resolved on average. Everything is computed from your data — Vygard never shows invented "industry average" numbers.
The headline counts (incidents, open, resolved, average resolution) and the by-type breakdown come straight from your incident log. Average resolution is measured only over incidents that were actually resolved with a timestamp.
A benchmark against other organisations would need a shared, anonymised dataset we don't have — so we don't fake one. What you see here is honest and yours.
Risk-scored shifts
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Every active shift gets a risk score from factors Vygard can actually observe: whether it's a night shift, the worker's recent incident history, and whether they have a buddy. The weights are transparent and each shift shows which factors contributed.
Weights: night shift +2, no buddy +2, recent incidents +1 each (capped at +3). A score of 3–4 is Elevated, 5+ is High. High-risk shifts sit at the top and in the header count.
This is a prompt, not a verdict — a high score means "this shift is worth a check-in", and the factors tell you why. Pairing the worker with a buddy or a mid-shift check-in is often the answer. Nothing here is invented; if you can't see the factor, it didn't count.
Driver fatigue and Hours of Service
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
For driving teams, Vygard totals each driver's hours today and over the last 7 days from their recorded shifts and checks them against the Hours-of-Service limits (9h/day, 56h/week by default).
The figures come from recorded shifts, so this is a fatigue indicator rather than a tachograph — it's about spotting a driver heading for too many hours before it becomes a problem, not legal HOS enforcement.
Within limit is comfortably under; Approaching is within 10% of the daily or weekly limit; Over limit means a limit has been exceeded. Drivers over a limit show at the top and in the header count.
Anomaly flags
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Vygard flags patterns worth a look from your own records over the last 30 days — a worker raising an unusual number of incidents, a shift running unusually long. These are transparent rules, not a black-box score: every flag states exactly what triggered it.
Two rules run today. Frequent incidents flags a worker who has raised several incidents in the period (Warning from three, High from six). Long shift flags a shift that ran 16 hours or more (High past 20).
We deliberately don't show an invented "risk number". If a flag is here, you can see the count or the hours behind it and decide what it means — a genuinely struggling worker, a data-entry quirk, or a one-off. The list is ordered most-severe first.
The casualty triage board
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
During an incident or rescue, log each casualty with a triage category, status and location. The board sorts most-urgent first (P1 → deceased) so the immediate cases stay at the top while the situation develops.
- 1
Log a casualty
Open Casualties → Log casualty. Give a reference (you rarely have a name early on), pick the triage category, and add a location and any notes on injuries or condition.
- 2
Work the board
Update status as it changes — Located → Being treated → Evacuated → Cleared — and re-triage if a casualty's condition changes. Open P1s show in the page header count so the most urgent are never lost in a long list.
Gas and environmental sensors
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Register the gas and environmental sensors on your sites — CO, H2S, oxygen, temperature, noise, dust — each with a warn and a danger threshold. Readings relayed from the field show the latest value and whether it's within safe limits.
- 1
Register a sensor
Open Sensors → New sensor. Name it, pick the type and unit, and set the warn and danger thresholds. A reading at or above a threshold flips the status.
- 2
Reading the status
Each sensor shows its latest reading and a status: OK, Warning (at/above warn), Danger (at/above danger), or No reading. Warning and danger sensors count in the page header. Thresholds here are upper bounds — a rising-hazard model — so low-oxygen alarms are handled on the device, not by this threshold.
Posting announcements
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
An announcement is a notice every worker sees in the app. Unlike a broadcast alert — which is for something happening now — announcements stick around, so they suit standing notices: a policy change, a depot closure, a new procedure.
- 1
Post a notice
Open Announcements → New announcement, give it a title and message. Pin the important ones to keep them at the top, and set an expiry for anything time-limited so it drops off on its own.
- 2
Announcement vs broadcast
Use a broadcast for something urgent that needs acknowledgement now; use an announcement for information that should stay visible. Expired announcements grey out and stop showing to workers, but stay in the console until you delete them.
Handling shift swap requests
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
When a worker can't make a shift they raise a swap request from the app with a short reason. Open requests wait for your decision in the console — approve to release the shift for cover, or decline.
- 1
Review a request
Open Shift swaps. Open requests show at the top with the worker's reason and how long they've waited; the header count is how many are still open.
- 2
Approve or decline
Approve releases the shift so it can be covered; decline closes the request. A request can only be resolved once — a resolved swap can't be flipped, which keeps the record honest.
Peer shoutouts
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Workers give each other a shoutout from the app when a colleague does something good — covering a round, spotting a hazard, lending a hand. It's a light-touch culture signal, and the console shows the feed with the ability to moderate it.
- 1
How shoutouts happen
A worker picks a colleague and writes a line about what they did. It appears in the shoutouts feed. A worker can't shout out themselves.
- 2
Moderation
The feed is visible in the console. If anything is inappropriate you can remove it — otherwise there's nothing to manage; the point is to let it run.
End-of-shift wellbeing debriefs
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
After a shift, workers rate how it went (1–5) and flag if they felt unsafe. Low ratings and unsafe flags surface for you to follow up — a wellbeing signal that gets a human response, not just a number in a report.
- 1
What workers submit
At the end of a shift the app asks a quick question — how did that go? — with an optional note. It takes seconds and builds a picture over time of who's under strain.
- 2
Follow up on flags
A rating of 1–2, or a "felt unsafe" flag, marks the debrief as needing attention and puts it at the top with a red border. Mark it reviewed once you've spoken to the worker; the header count clears as you work through them.
Pairing workers as buddies
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A buddy is a colleague who watches out for a lone worker — the simplest safety net there is. Pair two of your workers and each knows to keep an eye on the other.
- 1
Create a pairing
Open Buddies → New pairing, choose the worker and their buddy, and pair them. A worker can't be their own buddy; the same two can only be paired once.
- 2
Remove a pairing
When a pairing no longer makes sense — someone changes team or leaves — remove it. Pairings are simple relationships, not shifts, so there's nothing to expire.
Pre-shift PPE checks
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Before a shift a worker confirms, from the app, the PPE they have on against what the job requires. A check passes only when everything required is confirmed; anything short surfaces in the console for follow-up.
- 1
How a check is made
The worker sees the PPE the task requires and ticks off what they're wearing. Vygard records both lists and marks the check passed or incomplete automatically — a straight comparison, no guesswork.
- 2
Follow up on gaps
Incomplete checks (a required item not confirmed) show at the top with the missing item in red. You can flag one for follow-up or delete a mistaken entry. Flagging is a management note — Vygard never blocks a worker on PPE grounds.
Working Time Directive monitoring
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Vygard totals each worker's recorded shift hours and shows their average working week over the 17-week reference period, so you can see who is approaching or exceeding the 48-hour Working Time Directive limit.
The figures are derived from the shifts your workers actually record — clock-on to clock-off — over the last 17 weeks. No separate timesheet to keep.
Within limit is comfortably under 48h/week average. Approaching is within 10% of the limit (43.2h or more). Over 48h is a breach of the average for anyone who has not signed a WTD opt-out. Breaching workers surface at the top of the list and in the page header count.
This is a monitoring view, not a hard block — Vygard never stops someone clocking on for working-time reasons. Acting on a breach (reducing hours, arranging an opt-out) is a management decision the report is there to inform.
Publishing toolbox talks
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A toolbox talk is a short safety briefing you publish to your workers. They acknowledge it from the app, and you see how many have — proof the message landed, not just that it was sent.
- 1
Publish a talk
Open Toolbox talks → New talk. Give it a title, an optional category, and a short briefing. Keep it specific — what to do and what to watch for. It appears in every worker's app.
- 2
Track acknowledgements
Each talk shows a progress bar — how many of your workers have acknowledged it. The bar turns green at 100%. Chase the stragglers directly if a briefing matters.
Keeping a risk register
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Log the hazards your workers face, score each on a 5×5 matrix (likelihood × impact), record the controls in place and who owns them. The score bands each risk from low to critical so the ones that need attention stand out.
- 1
Add a risk
Open Risk register → New risk. Name the hazard, describe it, and score likelihood and impact from 1 to 5. The rating (score and band) is calculated for you as you set the numbers.
- 2
Record the controls
Write down what already reduces the risk, assign an owner, and set the status — open, mitigated or closed. Mitigated means the controls are in place; the residual risk is what the score reflects.
Banding: 1–4 low, 5–9 medium, 10–14 high, 15–25 critical. An open critical risk shows in the page header count so it can't be quietly forgotten.
Anonymous hazard and near-miss reporting
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Workers can report a hazard, near-miss, concern or suggestion from the app without attribution. You see the report and can triage it; you never see who filed it. Anonymity is enforced server-side — no worker identity is stored against a tip.
- 1
How workers file a tip
From the app's safety menu a worker picks a category, types what they saw, and submits. Nothing about their identity is recorded — the report is genuinely anonymous, which is what makes people willing to raise the small things before they become incidents.
- 2
Triage a tip
Open Tips. Each report shows its category and how long ago it arrived. Move it through New → Reviewing → Actioned → Closed as you deal with it. The open count (New + Reviewing) shows in the header so nothing sits unseen.
Because tips are anonymous you can't reply to the reporter. If a report needs follow-up, act on the hazard itself — that's the point of the channel.
Issuing and approving permits to work
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
A permit to work authorises a hazardous task — confined space, hot work, working at height, electrical isolation — for a set time window, with an approval step. The permit only authorises work while it is active.
- 1
Raise a permit
Open Permits → New permit. Choose the hazard type, name the task, optionally assign a holder, and set the valid-from / valid-to window. It starts as a draft.
- 2
Approve it
A draft does not authorise anything. Approve it to make it active — that records who approved it and when. Inside its window an approved permit shows as Active; before it starts it shows Scheduled; after it ends it shows Expired.
- 3
Close it out
When the work is finished, close the permit. Closed and revoked always override the window, so a closed permit can never read as active again.
Status is computed from the window, not just the button you last pressed — an approved permit past its end time reads as Expired automatically, so a stale permit never looks live.
Certifications and clock-on gating
This section covers the employer packs, where an organisation monitors its own people. It does not apply to Vygard Sports or Vygard Family — those have no console, no supervisors and no team structure.
Record each worker's training certifications — first aid, safeguarding, DBS, manual handling — with their issue and expiry dates. Vygard flags what's expiring and can stop a worker clocking on when a required certification has lapsed.
- 1
Record a certification
Open Compliance → Record certification. Pick the worker, name the certification, and set the issue and expiry dates. Leave the expiry blank for a qualification that never lapses.
- 2
See what's expiring
The Compliance page summarises how many certifications are expired, expiring soon (within 30 days), or valid. Expired records show a red badge so you can chase renewals before they bite.
- 3
Block clock-on on an expired certification
Tick "Block clock-on when this certification is expired" on the record. If that certification lapses, the worker cannot start a shift until it is renewed — enforced server-side at clock-on, not just shown in the console.
Only certifications marked as blocking stop a clock-on. Everything else is advisory — surfaced for your records and renewal chasing, but never in the worker's way.
How to reach us
We're a small UK team running real customer support. Channels in order of speed:
Email — hello@vygard.com — under 4 hours during UK working hours (9–18, Mon–Fri). Paying customers get a dedicated escalation alias on their welcome email.
Live chat — bottom-right widget on every vygard.com page. Same SLA as email but the conversation history stays attached to your account.
On-call — Pro plan and up. Single phone number, 24/7. Reserved for genuine production incidents (SOS not firing, billing locked out, mass worker sign-in failure). Misusing it for general questions burns goodwill fast.
Book a call — sales@vygard.com or vygard.com/contact → Book a 30-min call. We do live screen-share onboarding for any customer who asks. Free.
Status page — status.vygard.com. Real-time API + Twilio + Stripe health. Subscribe to the RSS feed for outage updates.
This manual lives at vygard.com/docs. It's updated alongside every release; the live site is always more current than any downloaded PDF.
We'd rather you ask than spin.
Five-minute reply on the chat widget. Four-hour reply on email. Same-day live screen-share onboarding for anyone who asks.