Changelog

What's new in TacDesk

41 releases
v1.11.647
  • Guards whose device can't receive alerts now see a reminder at the top of their hub, with a one-tap route to switch notifications on. It appears whether you use the app or a browser, and covers the case where notifications were switched on once but the connection to the phone has since been lost. Dismissing it hides it for a day.
v1.11.646
  • "Send Test Notification" now works in the mobile app. It used to report "No push subscriptions found" even when your device was registered, because it only checked browser notifications and ignored app devices.
v1.11.645
  • **No more "you are late" alerts after you've already clocked in.** Alerts are prepared a moment before they're sent, and if you clocked in during that gap the alert still went out — sometimes quoting a lateness figure that was already out of date. Late alerts are now re-checked immediately before sending and dropped if you've clocked in. The same applies to the copies sent to managers, so one guard clocking in now silences the whole alert rather than just their own.
  • **Check-call prompts stop once you've done the check call.** A prompt or missed-check-call alert that was already queued when you completed your check call is no longer delivered.
  • **A missed clock-out no longer keeps requesting check calls for days.** If someone forgot to clock out, TacDesk treated them as still on shift indefinitely and kept asking for check calls — and kept alerting managers — around the clock. A clock-in with no clock-out is now treated as finished after 24 hours, so these stop on their own.
v1.11.642
  • **NFC checkpoint scanning is now reliable — including with poor or no signal.** Some checkpoint taps were being silently lost, particularly on Android and at sites with weak mobile coverage: the app would open but the scan never recorded, with no error shown. Every tap is now saved on the device the moment it happens and synced automatically as soon as there's a connection, so no scan is ever lost to signal or timing again. No changes are needed to your existing checkpoint tags.
  • Tapping a checkpoint tag with no signal now shows "Scan saved offline" within a few seconds, instead of a long wait ending in an error.
  • Checkpoint scans now appear correctly when linked to incidents and shift summaries.
  • TacDesk now warns managers if a site has active checkpoints but no scans coming in — so a problem with scanning gets flagged within a day instead of going unnoticed.
  • The checkpoints list now highlights any checkpoint whose physical tag may not have been programmed yet, so blank tags are caught during setup rather than on patrol.
  • Security update to the PDF generator used for invoices, evidence packs and report exports.
v1.11.633
  • Documents attached to an SOP or Document now save reliably. Some file types — notably older Word (.doc) files — could silently fail to attach even though the page said it saved; if a file can't be attached, you now get a clear message telling you why.
v1.11.627
  • Fixed a couple of spots in the Client Portal where text was invisible (white on white).
  • Logged-in clients are now always sent to the Client Portal, instead of occasionally landing on the guard dashboard.
  • Password reset links now work reliably. A rare timing issue meant some valid reset links wrongly said they'd expired.
  • Turning off the guided tour's "don't show again" option now sticks properly, instead of the tour sometimes reappearing.
  • Guards no longer get a shift-reminder notification if they've already clocked in for that shift.
  • Promotional site-wide sales no longer apply to extra guard usage charges, and add-on prices now correctly reflect any active sale.
  • Customers on a custom, negotiated plan no longer see promotional sale pricing applied on top of their agreed price.
  • Automated notification emails now clearly say they're automated and that replies aren't monitored.
v1.11.623
  • Fixed an issue where some text in the Client Portal was invisible.
v1.11.622
  • The in-app Help Centre now links straight to the new TacDesk support site (support.tacdesk.co.uk), and feedback you send in-app now reaches our support team's ticketing system automatically.
v1.11.616
  • **Enhanced Privacy Mode** — organisations can require app-only sign-in for everyone except senior managers, for high-security operations (Management Hub → Settings → Privacy & Security).
  • Screenshots and screen recording are now blocked inside the TacDesk mobile apps to protect sensitive information.
v1.11.571
  • Guards no longer receive a false "Late to Shift" notification after finishing a shift they clocked in and out of correctly — managers no longer receive the matching false alert either.
  • Clients can now build their own incident report forms from the Client Portal and assign them to specific teams or sites; guards see custom forms automatically when clocked in to that client's location.
  • Guards can find forms for other sites they've worked at via "See More" on the Reports tab, so a report can be filed even after a shift ends.
  • Answers on custom-built forms now appear correctly in exported PDFs (previously were omitted entirely).
v1.11.559
  • An interactive guided tour that shows new guards and managers around the app, so they can get started without needing a hand.
v1.11.543
  • One-tap app setup — new team members can set up the TacDesk app straight from their welcome email with a single tap, with no need to type in your site address.
v1.11.10
  • **Weekly shift summary email for guards.** Every Monday morning, each of your active guards is automatically emailed a summary of their upcoming assigned shifts — the date, day, start and finish time and venue for each one, soonest first. Guards with nothing currently booked still receive a short note letting them know. Every email reminds guards that shifts can change and to keep checking the app for the latest rota. It's on by default; you can turn it off under **Management Hub → Settings → Notifications → Weekly guard shift summary**.
v1.11.9
  • **Mobile Response — for mobile patrol & keyholding companies (new add-on).** TacDesk now supports officers who cover many sites in one shift instead of standing post at one. An officer clocks onto a **mobile duty** (no fixed site), then records each **site visit** — arrive, patrol, depart — as they go, with GPS, checkpoint scans and a quick report per visit. Visit types cover patrols, lock-ups and unlocks, keyholding, and void-property inspections. It includes:
  • **Scheduled rounds** — build a route of sites with planned visit times; officers see their progress and managers are alerted to missed visits. Rounds run alongside the normal rota, so a supervisor can patrol between sites that also have a static guard on post.
  • **Alarm-response callouts** — raise a callout, dispatch the nearest officer, and track the response against a target time. Breaches of that target appear on the management Issues dashboard.
  • **Flexible billing per site** — charge each client the way their contract works: per visit, per round, per callout, a monthly fixed fee, or a monthly retainer with a set number of included visits. Hourly billing for static sites is unchanged.
  • **You choose who.** Managers decide which officers are allowed to go on mobile duty (a per-guard setting), and assigning someone a mobile-duty shift or patrol round switches it on for them automatically.
  • **Hands-free with TacBot.** Ask TacBot to put a guard onto mobile duty — it shows a confirmation card before anything happens.
  • **Works offline** — everything queues on the device in no-signal areas and syncs automatically once back online.
v1.11.8
  • **Notification preferences are respected everywhere.** If you switched off a notification type — like patrol reminders or shift-marketplace alerts — some of them could still come through. The toggles in your notification settings now reliably silence the types you turn off, on the app and on the web. Safety-critical alerts (lockdowns, critical incidents, missed check-calls) always come through regardless.
v1.11.7
  • **Dark mode now covers everything.** Capacity tracking, BOLO management, clients, training, memos, fleet, documents and footage, finance dashboards, the file viewer, the feedback panel and TacBot itself all now switch properly when the management hub is in dark mode — no more white-on-white sections.
  • **iOS app: saving dashboard layouts works again.** Saving a custom dashboard layout or template, naming a dispatcher map overlay, and duplicating event staffing rows previously did nothing on the iPhone app. These now use proper in-app dialogs and work everywhere.
  • **TacBot stays visible.** The TacBot chat panel no longer disappears behind other windows, and it follows dark mode.
  • **Better on phones.** The staff directory now shows as easy-to-read cards on mobile instead of a cramped table; report windows no longer scroll sideways on iPhones; and fleet screens respect the iPhone notch.
  • **Consistent icons.** Icons across report forms, the clock screen, dispatch statuses and admin pages now follow your Branding → Visual Style choice (Standard or Minimal) everywhere.
  • Patrol, incident, check call and other report screens had small visual inconsistencies tidied across light and dark mode, desktop and mobile.
  • "SIA License" labels corrected to the British spelling "SIA Licence" throughout.
v1.11.6
  • **Password resets now work first time.** Some users who changed their password were told it was incorrect when signing in straight afterwards — particularly when signing in through the mobile app. The new password always *was* saved correctly; a caching issue meant some sign-ins were checked against the old one. Fixed across all sites, and no action is needed — if this happened to you, your most recent password now works everywhere.
v1.11.5
  • **TacBot can now take action.** Beyond answering questions, TacBot can now create and edit shifts, reassign guards, approve or decline time-off requests, mark reports reviewed or escalated, send praise and direct messages, post memos, broadcast push notifications to guards on duty, and update vehicle defect statuses. Just ask — "add a shift for John tomorrow 18:00–02:00 at Eastgate with a £20/h uplift and post it to the marketplace" works. **Every action shows a confirmation card with tick / cross / revise** before anything is saved — TacBot never acts without your approval.
  • **Performance review on demand.** "Compile a performance review for Sarah for the last 30 days" — TacBot pulls together attendance, punctuality, recent reports, and SIA licence status into a single brief you can read on your phone before a 1-to-1. Optionally save the review as a note to the guard's record with one tap.
  • **SIA licence checks built in.** Ask "whose SIA expires in the next 60 days?" or "check John's licence" and TacBot looks it up against the live SIA register and reports back.
  • **Suggested-prompt buttons** appear under the welcome message on a fresh chat — one-tap starters for the most common things like vehicle defects, pending time-off, or compiling a performance review.
v1.11.4
  • **TacBot — AI Assistant.** Ask TacDesk questions in plain English and get answers straight from your live data. "How many guards are clocked in?", "Are there any unreviewed incidents this week?", "Which guards are consistently late?" — TacBot looks it up for you without navigating menus or running reports manually. Available to Managers and Senior Managers on accounts with the AI Assistant add-on.
v1.11.3
  • **Compliance pages — white-screen prevention.** The Compliance Overview page now degrades gracefully if one of its sub-sections fails to load; you'll see a clear error message in just that section instead of an empty page.
  • **Clearer billing emails.** If a card payment needs confirmation or fails, you now get a clear message with a link to fix it, plus a heads-up before any access is paused.
  • **Settings page on mobile** — cards now fill the screen properly instead of sitting inside huge whitespace borders, and the rightmost tab (Notifications) is fully visible at the end of the tab strip.
  • **Praise Templates buttons** — the Add, Save, and Remove buttons in Settings → Praise Templates are now properly styled to match the rest of the app.
  • **Management Dashboard mobile** — the four headline stat tiles (Guards On Duty, Reports Today, Check Calls Today, Incidents Today) now lay out as a 2×2 grid on mobile instead of stacking in a single column.
  • **Custom Dashboard mobile** — the widget grid scales cleanly across screen sizes: up to 5 columns on wide monitors, 4 default, 3 on small laptops, 2 on phones, 1 on the smallest screens. No more widgets overflowing off-screen.
  • **Active Patrol Monitor on mobile** — the live map now consumes the full width of the screen so you can actually read the map on a phone.
  • **Report Maps on mobile** — patrol track maps are now sized appropriately for a phone screen so stats and playback controls stay on-page.
  • **Shift breakdown modal on mobile** — the modal now uses the full width of the screen and the table cells are sized for touch, so you can review and approve shifts on a phone.
  • **Tables on mobile — rightmost columns no longer hidden.** Tables that scroll horizontally (Staff list, Client list, Shift breakdowns, Hours arbitration and others) now reliably scroll far enough to reach the rightmost action buttons. Previously the scroll stopped short and the last column was permanently out of reach.
  • **Hours Arbitration error message** — when shifts fail to load, the panel now shows a clearer message and the underlying error is logged so the team can fix the root cause faster. (No longer the generic "An error occurred" with nothing actionable behind it.)
v1.11.2
  • **Self-service SIA licences** — guards can now add and edit their own SIA licence details directly from My Profile.
  • **Manage your own passkeys** — set up and remove passkeys from the Guard Hub Settings tab. Passkey support also extended to the Android app.
  • **Offline patrols** — start and end a patrol with no signal; it syncs automatically once you're back online.
  • **NFC on iOS** — scanning an NFC tag now opens the app directly, even from the lock screen.
  • Clock-in/out overhauled with instant on-screen refresh — no more manual page reload after clocking in or out.
  • Start Patrol and Stop Patrol now update in place instead of requiring a refresh.
  • Faster, more reliable messaging — push-triggered updates, quicker delivery, and a fix for Messages getting stuck loading on the Android app.
  • Help Centre expanded and refined — clearer articles, articles filtered to what your account can access, and dark-mode polish.
  • My Profile redesigned — SIA Licences now have their own card with a mobile-friendly stacked layout.
  • My Reports section redesigned for a cleaner, more consistent layout; Reports tab now shows two columns on mobile.
  • Manager on-call toggle updates instantly without a full page reload.
  • Custom client pricing is now managed directly from the client Edit screen; billing periods simplified to Monthly, 6, 12 or 24 months.
  • Removed remaining "WordPress" references from user-facing screens.
  • Replaced browser pop-up dialogs with consistent in-app dialogs across the app.
  • Improved reconnection after losing signal; the in-app browser now uses tacdesk.co.uk.
  • Performance and stability hardening to reduce server load.
  • Patrol report times, message timestamps, repeat-daily dates and coupon timestamps now display in the correct timezone — no more 1-hour offset during British Summer Time.
  • Fixed a critical issue where buttons across the Guard Hub stopped working.
  • Fixed Guard Hub controls becoming unresponsive after the Android app was locked and resumed.
  • Fixed Start Patrol and Stop Patrol silently failing or needing a manual refresh.
  • Fixed passkey sign-in and registration failing with an error; the passkey panel now respects dark mode.
  • Fixed offline GPS location pings being dropped — queued locations now sync on reconnect.
  • The "Tracking your location" notification now clears properly after you clock out.
  • On-shift notifications no longer arrive three times — you now get a single notification.
  • Fixed the clock-in button disappearing after a successful clock-in.
  • Fixed the "Guards On Duty" board occasionally dropping on-duty guards on large teams, and clocked-in board flicker on the management dashboard.
  • Fixed unresponsive top tabs on the Management Dashboard.
  • Fixed a network error when viewing shifts in Guard Hours, and made the page load faster.
  • Fixed offline report syncing getting stuck in a loop; report submission now gives clearer feedback.
  • Fixed duplicate messages appearing on iOS.
  • Fixed the Patrol Report form being stuck in light mode.
  • Fixed an invisible white-on-white "Remaining Hours" figure on the Request Time Off screen.
  • Fixed bottom-navigation flicker and the "More" button not responding on the native app.
  • Fixed mobile scrolling on the Compliance sub-tabs.
  • Fixed Settings sub-tab and Recent Reports widget clipping on mobile screens.
  • Fixed a permissions error that blocked Client Portal users from viewing patrol tracks.
  • The check-call widget now hides from your dashboard when you're clocked out.
v1.11.1
  • Cleared a stray system message that was appearing on the management Footage tab when an archived video was missing its archive date. Missing dates now show as "—" across the app instead of leaking a warning into the page.
v1.11
  • A `?` button at the top of both the Guard Hub and Management Hub opens a searchable Help Centre drawer.
  • Guards see step-by-step articles for clocking in, filing reports, patrols, shifts, BOLOs, lockdowns and more.
  • Managers get articles covering every dashboard, report approval flow, scheduling tool, and admin setting.
  • Articles only appear when the relevant feature is enabled on your subscription, so you only see what's relevant to your account.
  • Search across titles, keywords and content. Browse by category. Cross-linked related articles.
  • Replaces the older floating-help button that was management-only.
  • New Compliance section in the Management Hub with dedicated Martyn's Law tools.
  • Set each venue's tier (Standard 200–799 / Enhanced 800+) and assign a Responsible Person.
  • Site Security Plan generator — one-click PDF aggregating procedures, training, drills, checkpoints and incident history per venue.
  • Risk Assessment form covering monitoring, movement, physical safety and information security; versioned with sign-off and review-due tracking.
  • Lockdown / Invacuation / Evacuation broadcast — managers can alert all guards on-site instantly; guards respond with Acknowledge / I am Safe / Need Assistance, all logged with GPS.
  • Drill / Exercise report type for evidencing regular practice.
  • SIA Evidence Pack — single ZIP download bundling everything an inspector might ask for, over a chosen date range.
  • Add passkeys for faster, password-free sign-in. Set up under your profile, or in management settings, require a passkey for specific staff or roles. Passwords still work as a backup.
  • Restructured the main stylesheet for maintainability. No visible change for users — the deployed CSS is byte-identical to before.
v1.10
  • Fixed messaging tab layout regression in installed PWA (sidebar header was being pinned behind the OS title bar by an overly-broad CSS selector that's now scoped to the WordPress site header only).
  • Resolved the long-standing "stale CSS in installed PWA" issue at its architectural root. Asset URLs now change automatically whenever the underlying file changes, so every cache layer (browser, proxy, service worker) sees a fresh URL after every deploy. No more refresh tricks or cache-clear workarounds needed.
v1.9
  • Final round of CSS/JavaScript freshness hardening for installed PWAs — every asset request now uses a unique URL per fetch, defeating any caching layer that might serve stale content. One-time cache reset for any users still stuck on the old asset lineage.
v1.8
  • Further hardened CSS/JavaScript freshness in installed PWAs — the service worker now bypasses the browser's intermediate cache layer to always reach the origin server.
  • App updates now apply on the very next refresh after a deploy. Previously, CSS and JavaScript could lag by one extra refresh cycle.
  • Eliminated the spurious "Update available" prompt that some users saw on every hard refresh.
  • One-time cache reset for any users stuck on old assets — happens automatically on the next page load.
  • Installed PWAs now show freshly-deployed CSS and JavaScript on the very next refresh, with no Clear Site Data workaround. Offline users still get instant loads from local cache.
v1.5.431
v1.5.370
  • **Finance Dashboard** — new overview with KPI cards, revenue vs cost trend charts, client revenue distribution, and period-over-period comparisons
  • **Invoice Generation** — create invoices from shift data, track status (draft/sent/paid/overdue), and download professional PDF invoices
  • **Contract Profitability** — health indicators per client (green/amber/red), 6-month trend sparklines, and at-risk contract flagging
  • **Rate Management** — missing rates wizard, bulk rate editing for guards and clients, and margin comparison analysis
  • **Overtime Reports** — weekly overtime breakdown with Working Time Directive (48h) breach alerts and cost estimates
  • Finance tab now has sub-navigation: Dashboard, Guard Analysis, Client Analysis, Invoices, and Reports
  • Guard Analysis includes actual vs scheduled hours toggle with variance tracking
  • Financial Projections redesigned with confidence bands, break-even analysis, and seasonal pattern detection
  • Interactive Chart.js charts throughout the finance module
v1.5.332
  • New: Holiday Accrual Mode - automatically calculates holiday entitlement at 12.07% of hours worked (UK statutory minimum)
  • Guards see their accrued hours, used hours, and remaining balance when requesting time off
  • Managers can switch between Fixed Allocation and Statutory Accrual modes in Holiday Settings
  • Manual hour adjustments available for managers with statutory minimum warnings
  • Daily automatic recalculation based on clock-in data
v1.5.303
  • Improved offline reliability: pages now auto-recover when returning online
v1.5.211
  • Fixed offline navigation: cached pages now load correctly when switching tabs offline
v1.5.144
  • New: Digital Occurrence Book (DOB) for ACS compliance - chronological log of all site activity including clock events, reports, checkpoint scans, and notes
  • Guard view shows today's timeline when clocked in
  • Management view with site and date filters
  • PDF export for any date range
v1.5.133
  • Client Portal users can now create report maps
  • Added helpful descriptions to portal tabs
v1.5.131
  • Client Portal now shows Report Maps and Shared Footage tabs
  • Clients can view mind-map visualisations of linked incidents
v1.5.124
  • New: Recurring Shifts - create weekly or monthly repeating shifts from the rota calendar
  • Shifts are generated in batches (up to 12 weeks ahead)
  • Recurring shifts show a visual indicator on the calendar
  • Individual shifts remain independently editable
v1.5.109
  • Improved site registration: faster retry after billing issues
v1.5.97
  • Cleaner Management Hub: tabs for features you don't have are now hidden instead of showing as locked
v1.5.96
  • Account limits now enforced: see your remaining user slots when adding guards
  • Storage limits enforced with clear usage indicator
  • Feature access properly gated based on your subscription
v1.5.0
  • New: Configurable billing with annual discount option
  • New: Extra Users add-on for teams that need more than the plan limit
  • New: Simplified billing portal with unified subscription management
  • Plan cards redesigned for easier comparison
v1.4.0
  • New: Dispatcher Mode - live guard tracking with incident timeline
  • New: DVLA Integration - automatic MOT and tax status checks for fleet vehicles
  • New: BOLO System - Be On the Lookout alerts for persons and vehicles of interest
  • New: Kit Management - track equipment issued to guards
  • New: Third-Party Access - secure time-limited links for FOI and police requests
  • Rota calendar now has "By Staff" and "By Site" views
  • GPS geofencing validates clock-in locations
  • Video footage system supports large file uploads
v1.3.0
  • New: NFC Checkpoints - scan NFC tags during patrols
  • New: Check Call System - automated guard welfare checks
  • New: Holiday Management - track allowances and time off requests
  • New: Video Footage - upload and link body-cam and security footage to reports
  • Install TacDesk as an app on your phone (PWA support)
  • Dark mode toggle
  • Push notifications for shift assignments
  • **Fixed guards being unexpectedly logged out** - Guards will no longer be logged out when the app is left open for extended periods. The system now silently refreshes authentication in the background, only redirecting to login when the session has genuinely expired.
  • **New**: Filter reports by individual staff member on the Reports page
  • **Xero integration — invoice round-trip (BETA).** TacDesk now pushes invoices to your Xero account when you mark them as sent, and pulls payment status back hourly so your dashboards stay current.
  • **Customers tab** — push your clients to Xero as Contacts so invoices have somewhere to go.
  • **Automation** — opt-in monthly auto-invoice generation and daily chase-email cadence (14/30/60/90 days).
  • **AR aging widget** on the management dashboard — see who owes what at a glance.
  • **Per-client P&L drilldown** — click "View P&L" on any client to see revenue, cost, margin, and a shift-by-shift breakdown for any period.
  • **Margin guardrail** — when you edit a client's charge rate the system now warns if the rate drops below typical pay rates.
  • **In-app Xero help** — new Help tab inside the Accounting hub explains everything that syncs, when, and how to troubleshoot.
  • Fixed a fatal error in the earnings-rate fetch path on the Accounting integration.
  • Added a clearer beta banner on the Accounting hub explaining the integration is unverified against a live Xero organisation.
  • The "Arbitration" tab is now called **Hours Review** with a much friendlier interface designed for HR generalists, not financial controllers.
  • New one-screen workflow: see scheduled hours next to actual clock-in/out hours for every shift in a week, with amber highlights on mismatches. One click approves a whole week of matching shifts.
  • You can now **edit clock-in/out times directly** when a guard mis-clocked, or add a missing clock-out, all from the Hours Review tab.
  • "Hours to pay guard" and "Hours to charge customer" can now be set separately — useful when a minimum-billing rule means you charge the customer more than the guard worked.
  • **Invoice push to Xero is now deliberate**: invoices no longer auto-push when marked as sent. You review hours, approve them, then click "Send to Xero". A bulk "Send all ready invoices" button is provided for end-of-month batch sends.
  • Status badges on the invoice list make it obvious at a glance whether an invoice still needs review or is ready to go.
  • The Help tab now opens with a five-step "How a typical month works" guide; technical setup details are tucked away behind an admin disclosure.
  • The "ACS Compliance" add-on has been renamed to **Compliance** and now also unlocks Martyn's Law / Protect Duty tools — existing customers don't need to do anything; access is preserved automatically.
  • Failed payments now have a grace period before account access is paused — TacDesk can configure the length globally and per customer, and no data is ever deleted during a pause.
  • When you approve a TacBot action (like filing a bug report or adding a shift), the confirmation card now shows exactly what happened — including the real reference number — taken directly from the system, not from TacBot's wording.
  • TacBot keeps a permanent record of every action it performs in the conversation, so it can never claim it did something it didn't, even days later in the same chat.
  • TacBot can now check whether a bug report or feature request was genuinely submitted when you ask.
  • If the AI service has a hiccup right after an action completes, you now get an honest "here's what actually happened" summary instead of a confusing error.