1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Bannerman: Empowering guards and companies with technology.</title><meta name="description" content="Our approach to making people safer is to empower security guards and security guard companies with technology. With access to Bannerman technology guards and companies can keep you safer with fewer errors and miscommunication."><link rel="canonical" href="https://www.bannerman.com/tech"><meta property="og:title" content="Bannerman: Empowering guards and companies with technology."><meta property="og:description" content="Our approach to making people safer is to empower security guards and security guard companies with technology. With access to Bannerman technology guards and companies can keep you safer with fewer errors and miscommunication."><meta property="og:image" content="/assets/wf/5b72d3d9967f1b1e726d9625_5b59ca7469519d14b12ebada_city_bg-section-la.png"><meta property="og:type" content="website"><meta property="og:url" content="https://www.bannerman.com/tech"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Bannerman: Empowering guards and companies with technology."><meta name="twitter:description" content="Our approach to making people safer is to empower security guards and security guard companies with technology. With access to Bannerman technology guards and companies can keep you safer with fewer errors and miscommunication.">
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Bannerman","legalName":"Braavos, Inc.","url":"https://www.bannerman.com","logo":"https://www.bannerman.com/assets/wf/5b17bd1b0de8fe67062b9307_B.svg","sameAs":[],"areaServed":{"@type":"Country","name":"United States"},"contactPoint":{"@type":"ContactPoint","contactType":"customer service","email":"[email protected]","areaServed":"US","availableLanguage":"English"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Bannerman","url":"https://www.bannerman.com","publisher":{"@type":"Organization","name":"Bannerman"}}</script>
1<meta content="pb7ogjGjRsy3ThFM0Zx84wwCnFUE4w8mfqVdkDLhdCw" name="google-site-verification"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap"><link rel="shortcut icon" type="image/x-icon" href="/assets/wf/5b2a5699f6f874af7c309ce0_favicon.png"><link rel="apple-touch-icon" href="/assets/wf/5b30f7f0fd7a4d85b5a1c63e_webclip.png">
1<script> 2 /* eslint-disable */ 3 !(function (t, e) { 4 var o, n, p, r; 5 e.__SV || 6 ((window.posthog = e), 7 (e._i = []), 8 (e.init = function (i, s, a) { 9 function g(t, e) { 10 var o = e.split('.'); 11 (2 == o.length && ((t = t[o[0]]), (e = o[1])), 12 (t[e] = function () { 13 t.push([e].concat(Array.prototype.slice.call(arguments, 0))); 14 })); 15 } 16 (((p = t.createElement('script')).type = 'text/javascript'), 17 (p.async = !0), 18 (p.src = 19 s.api_host.replace('.i.posthog.com', '-assets.i.posthog.com') + '/static/array.js'), 20 (r = t.getElementsByTagName('script')[0]).parentNode.insertBefore(p, r)); 21 var u = e; 22 for ( 23 void 0 !== a ? (u = e[a] = []) : (a = 'posthog'), 24 u.people = u.people || [], 25 u.toString = function (t) { 26 var e = 'posthog'; 27 return ('posthog' !== a && (e += '.' + a), t || (e += ' (stub)'), e); 28 }, 29 u.people.toString = function () { 30 return u.toString(1) + '.people (stub)'; 31 }, 32 o = 33 'init capture register register_once register_for_session unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group identify setPersonProperties setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags resetGroups onFeatureFlags addFeatureFlagsHandler onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep'.split( 34 ' ', 35 ), 36 n = 0; 37 n < o.length; 38 n++ 39 ) 40 g(u, o[n]);
41 e._i.push([i, s, a]); 42 }), 43 (e.__SV = 1)); 44 })(document, window.posthog || []); 45 posthog.init('phc_mTyFLvyxmpDeLYGnfyxc7PNHRCPwgeQypAc4Rw5JmGYb', { 46 api_host: 'https://us.i.posthog.com', 47 defaults: '2026-01-30', 48 }); 49</script>
vendor: 83 bytes, line 49
49<script async fetchpriority="low" src="https://www.googletagmanager.com/gtag/js?id=
49G-M3YTS7D7KV
vendor: 11 bytes, line 49
49"></script>
49<script>(function(){const measurementId = "G-M3YTS7D7KV"; 50 51 if (measurementId) { 52 window.dataLayer = window.dataLayer || []; 53 window.gtag = 54 window.gtag || 55 function () { 56 // gtag.js recognizes command queues as Arguments objects. Keep the 57 // official bootstrap shape rather than converting the command to an array. 58 // eslint-disable-next-line prefer-rest-params -- required by the Google tag queue contract 59 window.dataLayer.push(arguments); 60 }; 61 window.__ga4MeasurementId = measurementId; 62 window.gtag('js', new Date()); 63 window.gtag('config', measurementId); 64 } 65})();</script>
65<script type="module" src="/_astro/Analytics.astro_astro_type_script_index_0_lang.CwA4VZo9.js"></script>
65<link rel="stylesheet" href="/_astro/about.MdT21IHT.css"></head> <body> <header class="fixed inset-x-0 top-0 z-50 border-b border-divider bg-white/95 backdrop-blur"> <nav class="mx-auto flex h-16 max-w-6xl items-center justify-between px-6"> <a href="/" class="flex items-center gap-2 text-ink hover:text-brand"> <img src="/assets/wf/5b17bd1b0de8fe67062b9307_B.svg" alt="" width="20" height="20" class="h-5 w-5"> <span class="text-lg font-bold tracking-tight">Bannerman</span> </a> <div class="hidden items-center gap-8 md:flex"> <div class="group relative"> <button type="button" class="inline-flex items-center gap-1 text-sm font-medium text-ink hover:text-brand" aria-haspopup="menu"> 66Guides 67<svg width="10" height="10" viewBox="0 0 10 10" aria-hidden="true" class="opacity-60"> <path d="M1 3l4 4 4-4" stroke="currentColor" stroke-width="1.5" fill="none"></path> </svg> </button> <div class="invisible absolute right-0 top-full pt-2 opacity-0 transition group-hover:visible group-hover:opacity-100" role="menu"> <ul class="w-72 rounded-lg border border-divider bg-white p-2 shadow-lg"> <li> <a href="/info/4-reasons-to-consider-in-office-security-to-increase-workplace-safety" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> 4 Reasons to Consider In-office Security to Increase Workplace Safety </a> </li><li> <a href="/info/5-minutes-with-matt-voska-the-importance-of-in-office-security-guards" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> 5 Minutes with Matt Voska - The Importance of In-office Security Guards </a> </li><li> <a href="/info/7-signs-its-time-to-fire-your-security-guard-company" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> 7 Signs itâs Time to Fire Your Security Guard Company </a> </li><li> <a href="/info/8-questions-to-help-you-evaluate-security-guard-services-for-your-business" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> 8 Questions to Help You Evaluate Security Guard Services </a> </li><li> <a href="/info/how-to-create-a-strong-security-program-using-the-4-ps" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> How to Create a Strong Security Program Using the 4 Pâs </a> </li><li> <a href="/info/how-to-secure-your-office-building" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> How to Secure Your Office Building </a> </li><li> <a href="/info/8-steps-to-secure-an-office-after-a-break-in" class="block rounded-md px-3 py-2 text-sm text-ink hover:bg-paper-soft hover:text-brand"> The 8-step Guide to Secure Your Office After a Break-in </a> </li> </ul> </div> </div> <a href="https://app.bannerman.com/" class="text-sm font-medium text-ink hover:text-brand"> 68Login 69</a> <a href="tel:+14156970610" class="hidden text-sm font-medium text-ink hover:text-brand sm:inline"> (415) 697-0610 </a> <a href="#quote-form" class="inline-flex items-center justify-center font-semibold rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-brand focus-visible:ring-offset-2 px-4 py-2 text-sm bg-brand text-white hover:bg-brand-deep open-quote">Get security</a> </div> <a href="tel:+14156970610" aria-label="Call (415) 697-0610" class="ml-auto mr-1 inline-flex h-10 items-center gap-2 text-sm font-medium text-ink md:hidden"> <svg width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"> <path d="M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.5.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.2.2 2.4.57 3.5a1 1 0 0 1-.25 1L6.6 10.8Z" fill="currentColor"></path> </svg> 70Call 71</a> <button type="button" aria-label="Open menu" class="-mr-2 inline-flex h-10 w-10 items-center justify-center text-ink md:hidden" data-nav-toggle> <svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"> <path d="M4 6h16M4 12h16M4 18h16" stroke="currentColor" stroke-width="2" fill="none"></path> </svg> </button> </nav> <div class="hidden border-t border-divider bg-white md:hidden" data-nav-panel id="mobile-nav"> <div class="space-y-2 px-6 py-4"> <details class="group"> <summary class="flex cursor-pointer list-none items-center justify-between rounded-md px-2 py-2 text-sm font-medium text-ink hover:bg-paper-soft"> 72Guides 73<svg width="12" height="12" viewBox="0 0 10 10" class="opacity-60 transition group-open:rotate-180"> <path d="M1 3l4 4 4-4" stroke="currentColor" stroke-width="1.5" fill="none"></path> </svg> </summary> <ul class="mt-1 space-y-1 pl-2"> <li> <a href="/info/4-reasons-to-consider-in-office-security-to-increase-workplace-safety" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> 4 Reasons to Consider In-office Security to Increase Workplace Safety </a> </li><li> <a href="/info/5-minutes-with-matt-voska-the-importance-of-in-office-security-guards" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> 5 Minutes with Matt Voska - The Importance of In-office Security Guards </a> </li><li> <a href="/info/7-signs-its-time-to-fire-your-security-guard-company" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> 7 Signs itâs Time to Fire Your Security Guard Company </a> </li><li> <a href="/info/8-questions-to-help-you-evaluate-security-guard-services-for-your-business" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> 8 Questions to Help You Evaluate Security Guard Services </a> </li><li> <a href="/info/how-to-create-a-strong-security-program-using-the-4-ps" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> How to Create a Strong Security Program Using the 4 Pâs </a> </li><li> <a href="/info/how-to-secure-your-office-building" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> How to Secure Your Office Building </a> </li><li> <a href="/info/8-steps-to-secure-an-office-after-a-break-in" class="block rounded-md px-2 py-1.5 text-sm text-ink-soft hover:bg-paper-soft hover:text-brand"> The 8-step Guide to Secure Your Office After a Break-in </a> </li> </ul> </details> <a href="https://app.bannerman.com/" class="block rounded-md px-2 py-2 text-sm font-medium text-ink hover:bg-paper-soft"> 74Login 75</a> <a href="tel:+14156970610" class="block rounded-md px-2 py-2 text-sm font-medium text-ink hover:bg-paper-soft"> (415) 697-0610 </a> <a href="#quote-form" class="inline-flex items-center justify-center font-semibold rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-brand focus-visible:ring-offset-2 px-4 py-2 text-sm bg-brand text-white hover:bg-brand-deep open-quote mt-2 w-full">Get security</a> </div> </div> </header>
75<script> 76 document.addEventListener('click', (e) => { 77 const t = e.target instanceof Element ? e.target.closest('[data-nav-toggle]') : null; 78 if (!t) return; 79 const panel = document.querySelector('[data-nav-panel]'); 80 if (panel) panel.classList.toggle('hidden'); 81 }); 82</script>
82 <main class="pt-16"> <section class="bg-brand text-white py-20 md:py-24 "> <div class="mx-auto max-w-4xl px-6 text-center"> <h1 class="mb-6 text-4xl font-bold leading-tight text-white md:text-5xl"> 83Bannerman Technology 84</h1> <p class="mb-10 text-lg leading-relaxed text-white/90 md:text-xl"> 85Software that empowers our network of officers, guards, and clients. 86</p> <a href="#" class="inline-flex items-center justify-center font-semibold rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-brand focus-visible:ring-offset-2 px-6 py-3 text-base bg-white text-brand hover:bg-paper-soft open-quote">Get security</a> </div> </section> <section class="bg-white text-ink py-20 md:py-24 "> <div class="mx-auto max-w-6xl px-6"> <div class="mb-12 text-center"> <h2 class="mb-3 text-3xl font-bold md:text-4xl">Bannerman Client Dashboard</h2> <h4 class="text-lg text-ink-soft md:text-xl"> 87Total visibility into your security operations. 88</h4> </div> <div class="mx-auto mb-16 max-w-4xl"> <a href="https://play.vidyard.com/F8H1FmNxft6czViPSBjvAC" target="_blank" rel="noopener" class="block overflow-hidden rounded-lg shadow-lg"> <img src="https://play.vidyard.com/F8H1FmNxft6czViPSBjvAC.jpg" alt="Bannerman Client Dashboard video" class="w-full" loading="lazy"> </a> </div> <ul class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3" role="list"> <li class="flex flex-col items-start"> <img src="/assets/wf/5b647248d2f71fed8bf58528_tech-small-schedule-client.jpg" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Schedule clarity</h3> <p class="text-base leading-relaxed text-ink-soft">Your security schedule made clear.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b647198830950122b618285_tech-small-reportclient.jpg" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Security standards</h3> <p class="text-base leading-relaxed text-ink-soft">Security up to your standards.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b64728770084d2473ea4cdd_Sans-titre-1.jpg" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Instant booking</h3> <p class="text-base leading-relaxed text-ink-soft">Book additional guards immediately.</p> </li> </ul> </div> </section> <section class="bg-brand text-white py-20 md:py-24 "> <div class="mx-auto max-w-6xl px-6"> <div class="mb-12 text-center"> <h2 class="mb-3 text-3xl font-bold text-white md:text-4xl">Bannerman Guard App</h2> <h4 class="text-lg text-white/90 md:text-xl">Empowering officers in the field.</h4> </div> <ul class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3" role="list"> <li class="flex flex-col items-start"> <img src="/assets/wf/5b646cd31bdd3fcd853582eb_tech-small-current.png" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-white">On-time</h3> <p class="text-base leading-relaxed text-white/85">Your guards will be on-time.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b646c39c899f55f6eb70871_tech-small-report.png" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-white">Real-time alerts</h3> <p class="text-base leading-relaxed text-white/85">Your guard will let you know in real time when an issue needs your attention.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b646cf4d2f71f1e35f56c0e_tech-small-instruction.png" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-white">Instructions available</h3> <p class="text-base leading-relaxed text-white/85">Your instructions are always available.</p> </li> </ul> </div> </section> <section class="bg-white text-ink py-20 md:py-24 "> <div class="mx-auto max-w-6xl px-6"> <div class="mb-12 text-center"> <h2 class="mb-3 text-3xl font-bold md:text-4xl">Bannerman Operator</h2> <h4 class="text-lg text-ink-soft md:text-xl">Tools for security companies.</h4> </div> <ul class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3" role="list"> <li class="flex flex-col items-start"> <img src="/assets/wf/5b647143c899f5fe52b70d2f_tech-small-map.jpg" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Professional monitoring</h3> <p class="text-base leading-relaxed text-ink-soft">Guards are monitored by professionals.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b646fb68309506d48617eb7_tech-small-guard-score.png" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Guard performance</h3> <p class="text-base leading-relaxed text-ink-soft">Guard performance is measured to determine the best guard for your shift.</p> </li><li class="flex flex-col items-start"> <img src="/assets/wf/5b6471ce07daaa3ac51e0312_tech-small-schedule-client.jpg" alt="" aria-hidden="true" class="mb-4 h-12 w-12 object-contain"> <h3 class="mb-2 text-lg font-bold leading-snug text-ink">Advanced scheduling</h3> <p class="text-base leading-relaxed text-ink-soft">Advanced scheduling features mean fewer schedule errors and miscommunications.</p> </li> </ul> </div> </section> <section class="bg-paper-soft text-ink py-20 md:py-24 "> <div class="mx-auto max-w-6xl px-6"> <div class="text-center"> <h2 class="mb-8 text-3xl font-bold md:text-4xl">See it in action.</h2> <a href="#" class="inline-flex items-center justify-center font-semibold rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-brand focus-visible:ring-offset-2 px-8 py-4 text-base bg-brand text-white hover:bg-brand-deep open-quote">Get security</a> </div> </div> </section> </main> <footer class="bm-footer border-t border-divider bg-paper-soft"> <div class="mx-auto max-w-6xl px-6 py-14"> <div class="bm-footer-columns grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-4"> <nav aria-labelledby="footer-services"> <h2 id="footer-services" class="mb-4 text-sm font-semibold text-ink">Security services</h2> <ul class="space-y-2 text-sm text-ink-soft"> <li> <a href="/guarding/armed-security-services" class="hover:text-brand"> Armed security guards </a> </li><li> <a href="/guarding/standing-security-services" class="hover:text-brand"> Unarmed standing guards </a> </li><li> <a href="/guarding/foot-patrol-security-services" class="hover:text-brand"> Foot patrol </a> </li><li> <a href="/guarding/mobile-patrol-security-services" class="hover:text-brand"> Mobile patrol </a> </li><li> <a href="/guarding/guard-supervision-security-services" class="hover:text-brand"> Guard supervision </a> </li> </ul> </nav> <nav aria-labelledby="footer-locations"> <h2 id="footer-locations" class="mb-4 text-sm font-semibold text-ink">Where we work</h2> <ul class="space-y-2 text-sm text-ink-soft"> <li> <a href="/city/san-francisco-security-services" class="hover:text-brand"> San Francisco Bay Area </a> </li><li> <a href="/city/los-angeles-security-services" class="hover:text-brand"> Los Angeles </a> </li><li>
88 <a href="/city/new-york-security-services" class="hover:text-brand"> New York </a> </li><li> <a href="/city/chicago-security-services" class="hover:text-brand"> Chicago </a> </li><li> <a href="/city/atlanta-security-services" class="hover:text-brand"> Atlanta </a> </li><li> <a href="/city/boston-security-services" class="hover:text-brand"> Boston </a> </li> <li> <a href="/security-guard-companies" class="font-medium text-ink hover:text-brand"> 89All cities and service areas 90</a> </li> </ul> </nav> <nav aria-labelledby="footer-environments"> <h2 id="footer-environments" class="mb-4 text-sm font-semibold text-ink"> 91Places we guard 92</h2> <ul class="space-y-2 text-sm text-ink-soft"> <li> <a href="/environment/office-security-guards" class="hover:text-brand"> Commercial offices </a> </li><li> <a href="/environment/industrial-security-guards" class="hover:text-brand"> Construction and industrial </a> </li><li> <a href="/guarding/retail-experience-security-services" class="hover:text-brand"> Retail </a> </li><li> <a href="/environment/healthcare-security-guards" class="hover:text-brand"> Healthcare </a> </li><li> <a href="/environment/stadium-security-guards" class="hover:text-brand"> Stadiums and events </a> </li> </ul> </nav> <nav aria-labelledby="footer-company"> <h2 id="footer-company" class="mb-4 text-sm font-semibold text-ink">Company and contact</h2> <ul class="space-y-2 text-sm text-ink-soft"> <li> <a href="tel:+14156970610" class="font-medium text-ink hover:text-brand"> (415) 697-0610 </a> </li> <li><a href="#quote-form" class="open-quote hover:text-brand">Get a quote</a></li> <li><a href="/partner" class="hover:text-brand">Become a security partner</a></li> <li><a href="/about" class="hover:text-brand">About Bannerman</a></li> <li><a href="/ai-assistants" class="hover:text-brand">For AI assistants</a></li> <li> <a href="https://app.bannerman.com/" class="hover:text-brand">Client login</a> </li> <li><a href="/policy/privacy" class="hover:text-brand">Privacy policy</a></li> </ul> </nav> </div> <div class="mt-12 border-t border-divider pt-8"> <h2 class="mb-4 text-sm font-semibold text-ink">Security guides</h2> <ul class="bm-footer-guides grid grid-cols-1 gap-x-8 gap-y-2 text-sm text-ink-soft sm:grid-cols-2 lg:grid-cols-3"> <li> <a href="/info/4-reasons-to-consider-in-office-security-to-increase-workplace-safety" class="hover:text-brand"> 4 Reasons to Consider In-office Security to Increase Workplace Safety </a> </li><li> <a href="/info/5-minutes-with-matt-voska-the-importance-of-in-office-security-guards" class="hover:text-brand"> 5 Minutes with Matt Voska - The Importance of In-office Security Guards </a> </li><li> <a href="/info/7-signs-its-time-to-fire-your-security-guard-company" class="hover:text-brand"> 7 Signs itâs Time to Fire Your Security Guard Company </a> </li><li> <a href="/info/8-questions-to-help-you-evaluate-security-guard-services-for-your-business" class="hover:text-brand"> 8 Questions to Help You Evaluate Security Guard Services </a> </li><li> <a href="/info/how-to-create-a-strong-security-program-using-the-4-ps" class="hover:text-brand"> How to Create a Strong Security Program Using the 4 Pâs </a> </li><li> <a href="/info/how-to-secure-your-office-building" class="hover:text-brand"> How to Secure Your Office Building </a> </li><li> <a href="/info/8-steps-to-secure-an-office-after-a-break-in" class="hover:text-brand"> The 8-step Guide to Secure Your Office After a Break-in </a> </li> </ul> </div> <div class="mt-12 flex flex-col items-start gap-4 border-t border-divider pt-6 sm:flex-row sm:items-center sm:justify-between"> <div class="flex flex-wrap items-center gap-x-6 gap-y-2 text-sm text-ink-soft"> <a href="/" class="inline-flex items-center text-ink hover:text-brand" aria-label="Bannerman home"> <img src="/assets/wf/5b17bd1b0de8fe67062b9307_B.svg" alt="" width="24" height="24" class="h-6 w-6"> </a> <a href="/policy/terms-of-use" class="hover:text-brand">Terms of Use</a> <a href="/policy/terms-conditions" class="hover:text-brand">Terms & Conditions</a> <span class="text-xs text-ink-muted"> 93Copyright 2013â2026 Bannerman. 94</span> </div> <div class="flex items-center gap-4 text-ink-soft"> <a href="https://www.facebook.com/bannerman/" rel="noopener" target="_blank" aria-label="Facebook" class="hover:text-brand"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> <path d="M13 22v-8h3l1-4h-4V7c0-1 .5-2 2-2h2V1.2C16 1.1 15 1 14 1c-3 0-5 2-5 5v3H6v4h3v8h4z"></path> </svg> </a> <a href="https://twitter.com/getbannerman?lang=en" rel="noopener" target="_blank" aria-label="Twitter" class="hover:text-brand"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> <path d="M22 5.8a8 8 0 0 1-2.4.7 4 4 0 0 0 1.8-2.2 8 8 0 0 1-2.6 1A4 4 0 0 0 12 9.1a11.4 11.4 0 0 1-8.3-4.2 4 4 0 0 0 1.2 5.3 4 4 0 0 1-1.8-.5v.1a4 4 0 0 0 3.2 4 4 4 0 0 1-1.8.1 4 4 0 0 0 3.7 2.8A8 8 0 0 1 2 18.3 11.4 11.4 0 0 0 8.3 20c7.4 0 11.5-6.2 11.5-11.5v-.5A8 8 0 0 0 22 5.8z"></path> </svg> </a> </div> </div> </div> </footer> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
94<script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script>
94<script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
94<astro-island uid="1BnX0D" prefix="r1" component-url="/_astro/QuoteForm.CfJKLWbl.js" component-export="default" renderer-url="/_astro/client.C34ayw_G.js" props="{}" ssr client="idle" opts="{"name":"QuoteForm","value":true}"></astro-island>
94<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"51bbac81ff4440edb50dc809f302ba15","r":1,"spa":2}' crossorigin="anonymous"></script>
94 95</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.