1<!DOCTYPE html><!-- Last Published: Wed Sep 30 2026 10:10:28 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="redeploy.webflow.io" data-wf-page="62b9af89a83391a99e26881e" data-wf-site="62b0265c2452a57e6a524bf6" data-wf-intellimize-customer-id="117427340" lang="en" data-wf-collection="62b9af89a833911c9126881c" data-wf-item-slug="financial-crime-volumes-keep-climbing-investigation-teams-dont"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Financial crime volumes climb, headcount doesn't | Redeploy</title><meta content="Redeploy AI Lead Oskar Dahl Aldeborn on where the hours in a financial crime case go, what AI agents should take over, and where they still fail." name="description"/><meta content="Financial crime volumes keep climbing, investigation teams don't" property="og:title"/><meta content="Redeploy AI Lead Oskar Dahl Aldeborn on where the hours in a financial crime case go, what AI agents should take over, and where they still fail." property="og:description"/><meta content="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138.jpg" property="og:image"/><meta content="Financial crime volumes keep climbing, investigation teams don't" name="twitter:title"/><meta content="Redeploy AI Lead Oskar Dahl Aldeborn on where the hours in a financial crime case go, what AI agents should take over, and where they still fail." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138.jpg" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/css/redeploy.shared.f3d53f99e.min.css" rel="stylesheet" type="text/css" integrity="sha384-89U/mea0vCG7vXHLKfxvpK9nkJvSLk8iHespKcADUvI3oNaiKyY63bkKEYCwRZvC" crossorigin="anonymous"/>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/62d738aa18ca34185df3a5a2_favicon-small.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/62d738b0e7941bdcf365ee66_favicon.png" rel="apple-touch-icon"/><link href="https://www.redeploy.com/post/financial-crime-volumes-keep-climbing-investigation-teams-dont" rel="canonical"/>
1<script type="application/ld+json"> 2{ 3 "@context": "https://schema.org", 4 "@graph": [ 5 { 6 "@type": "BlogPosting", 7 "headline": "", 8 "description": "", 9 "image": "", 10 "datePublished": "", 11 "author": { 12 "@type": "Person", 13 "name": "" 14 }, 15 "publisher": { 16 "@id": "https://www.redeploy.com/#organization" 17 }, 18 "inLanguage": "en", 19 "isPartOf": { 20 "@type": "Blog", 21 "@id": "https://www.redeploy.com/blog", 22 "name": "The Redeploy Blog" 23 }, 24 "mainEntityOfPage": { 25 "@type": "WebPage", 26 "@id": "https://www.redeploy.com/post/" 27 }, 28 "url": "https://www.redeploy.com/post/" 29 }, 30 { 31 "@type": "BreadcrumbList", 32 "itemListElement": [ 33 { 34 "@type": "ListItem", 35 "position": 1, 36 "name": "Home", 37 "item": "https://www.redeploy.com/" 38 }, 39 { 40 "@type": "ListItem", 41 "position": 2, 42 "name": "Blog", 43 "item": "https://www.redeploy.com/blog" 44 }, 45 { 46 "@type": "ListItem", 47 "position": 3, 48 "name": "", 49 "item": "https://www.redeploy.com/post/" 50 } 51 ] 52 } 53 ] 54} 55</script>
55<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push.apply(w[g],Array.isArray(i)?i:[i]);})(window,['G-RZM6Z87M3J'],'google_tags_first_party');</script>
55<script async="" src="/9i1h7htkfq16NjJiMDI2NWMyNDUyYTU3ZTZhNTI0YmY2/E8TizvnPmNW8gp9ZJ4B7NJTJxj4"></script>
55<script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('set', 'developer_id.dYWYxNW', true);gtag('js', new Date());gtag('config', 'G-RZM6Z87M3J');</script>
55<script src="https://api.consentpro.com/v2/cdn/runtime/62b0265c2452a57e6a524bf6.js" type="text/javascript" finsweet="consentpro" siteid="62b0265c2452a57e6a524bf6"></script>
55 56<!-- Lenis: ONLY copy on the site. Do not add a second one. -->
57<script src="https://unpkg.com/[email protected]/dist/lenis.min.js"></script>
vendor: 1 bytes, line 57
57
58<script> 59window.addEventListener('DOMContentLoaded',function(){ 60var c=document.querySelector('link[rel="canonical"]'); 61var u=c?c.getAttribute('href'):window.location.href; 62var m=document.querySelector('meta[property="og:url"]'); 63if(!m){m=document.createElement('meta');m.setAttribute('property','og:url');document.head.appendChild(m);} 64m.setAttribute('content',u); 65}); 66</script>
66 67<!-- Google Tag Manager -->
68<script>
vendor: 327 bytes, lines 68-72
68(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 69new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 70j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 71'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 72})(window,document,'script','dataLayer','
72GTM-WMC99VZ
vendor: 3 bytes, line 72
72');
72</script>
72 73<meta name="ahrefs-site-verification" content="106c1c8f0ed9ff64399349dd599c35294a3814dbf1074a66335d68aafd0fe99a"> 74 75<!-- Motion tokens. Canonical source: design system > Motion. Change there first. Only transform and opacity animate. --> 76<style> 77:root{--ease-enter:cubic-bezier(.22,1,.36,1);--ease-move:cubic-bezier(.65,0,.35,1);--ease-linear:linear;--motion-instant:150ms;--motion-fast:200ms;--motion-base:320ms;--motion-slow:480ms;--motion-ambient:1200ms;--move-nudge:8px;--move-rise:16px;--move-enter:24px;--move-max:32px;--stagger-text:80ms;--stagger-list:60ms;--scroll-lerp:.25;--marquee-cycle:90s} 78@media(prefers-reduced-motion:reduce){:root{--motion-instant:1ms;--motion-fast:1ms;--motion-base:1ms;--motion-slow:1ms;--motion-ambient:1ms;--move-nudge:0px;--move-rise:0px;--move-enter:0px;--move-max:0px;--stagger-text:0ms;--stagger-list:0ms}} 79html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden} 80</style> 81 82<!-- ============================================================ 83 SCROLL REVEALS. The primitives. 84 Put u-rise, u-fade, u-slide or u-draw on an element in the Designer. 85 RedeployReveal (footer) adds is-in when the element's TOP crosses 85% of 86 the viewport, once, and never again. 87 88 A component INSTANCE cannot carry a class in Webflow, so a primitive goes 89 inside a component DEFINITION and every instance of it gets the reveal. 90 Put the class on the content wrapper, never the section root: the root 91 carries the theme band, and animating it reads as the page jumping. 92 93 Four knobs, all token-valued, all optional: 94 --reveal-ease default --ease-enter. Use --ease-move on LARGE 95 elements: ease-enter is front-loaded, so a big 96 block covers most of its travel immediately and 97 then creeps the last pixels. 98 --reveal-duration default --motion-slow. 99 --rise-distance default --move-enter. Use --move-rise for a 100 single line of text inside a stagger. 101 --motion-delay default 0. Stagger with --stagger-text. 102 103 Above the fold: do NOT use these. 104 ============================================================ --> 105<style> 106.u-fade,.u-rise,.u-slide{opacity:0} 107.u-fade{transition:opacity var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter));transition-delay:var(--motion-delay,0ms)} 108.u-rise{transform:translateY(var(--rise-distance,var(--move-enter)));transition:opacity var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter)),transform var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter));transition-delay:var(--motion-delay,0ms)} 109.u-slide{transform:translateX(calc(-1 * var(--move-enter)));transition:opacity var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter)),transform var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter));transition-delay:var(--motion-delay,0ms)} 110.u-draw{transform:scaleX(0);transform-origin:left center;transition:transform var(--reveal-duration,var(--motion-slow)) var(--reveal-ease,var(--ease-enter));transition-delay:var(--motion-delay,0ms)} 111.u-fade.is-in,.u-rise.is-in,.u-slide.is-in{opacity:1;transform:none} 112.u-draw.is-in{transform:scaleX(1)} 113/* Features Split Layout: a full-width two-column block. Keeps the standard 114 duration but takes the even curve, because the front-loaded one leaves a 115 visible tail at this size. */ 116.split_contain.u-rise{--reveal-ease:var(--ease-move)} 117/* If the script never runs, nothing stays invisible. */ 118.no-js .u-fade,.no-js .u-rise,.no-js .u-slide{opacity:1;transform:none} 119.no-js .u-draw{transform:scaleX(1)} 120</style> 121 122<!-- Lenis init. One instance. Skipped under reduced motion and in the Designer. lerp from --scroll-lerp. -->
123<script> 124document.addEventListener('DOMContentLoaded',function(){ 125if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return; 126if(window.Webflow&&Webflow.env&&Webflow.env('editor')!==undefined)return; 127if(typeof Lenis==='undefined')return; 128var lerp=parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--scroll-lerp'))||.25; 129var l=new Lenis({lerp:lerp,wheelMultiplier:1.5,gestureOrientation:'vertical',normalizeWheel:false,smoothTouch:false}); 130window.lenis=l; 131function raf(t){l.raf(t);requestAnimationFrame(raf);} 132requestAnimationFrame(raf); 133if(window.ScrollTrigger)l.on('scroll',ScrollTrigger.update); 134}); 135</script>
135 136 137<!-- ============================================================ 138 RUNTIME STATE CLASSES + PARENT-HOVER RULES. 139 Toggled by script, or styling a child from the parent's hover, which the 140 Designer cannot express. A Style Manager cleanup reports runtime classes as 141 unused and deletes them; that is what broke the mega menu in Sept 2026. 142 DO NOT recreate these as Webflow classes. 143 ============================================================ --> 144<style> 145/* Mega menu. The script sets is-open on .mega and pm-open on .mega_pm. */ 146.mega{transition:opacity var(--motion-base) var(--ease-move),visibility 0s linear var(--motion-base)} 147.mega.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--motion-base) var(--ease-move),visibility 0s} 148.mega_pm.pm-open::after,.mega_pm.is-open::after{transform:translate(-50%) scaleY(0)} 149 150/* FAQ accordion icon. The panel is driven by RedeployAccordion in the footer. */ 151.faq-plus{transition:transform var(--motion-base) var(--ease-move);transform-origin:center center} 152.tab-item.is-open .faq-plus{transform:rotate(45deg)} 153 154/* ---- CTA links ------------------------------------------------- 155 ONE gesture, three icons. The icon says where the link goes and is the 156 only thing that moves. The underline stays put and gains weight. 157 right arrow (.link-arrow) navigate within the site 158 enter arrow (.button--image) something opens here, a modal 159 diagonal opens in a new tab 160 Each icon travels toward where it points. Travel is --move-nudge along the 161 icon's own axis, so the diagonal moves nudge x 0.707 per axis and all three 162 cover the same distance. 163 164 The arrow geometry comes straight from the design system's arrow-right and 165 needs no mirroring. It used to: arrow-right and arrow-left were swapped in 166 the icon set, so the glyph pointed the wrong way and was flipped here with 167 scaleX(-1). The icon set was corrected in Sept 2026 and the flip is gone. 168 ---------------------------------------------------------------- */ 169.link-block [class*="btn-border"],.link-block [class*="btn--border"], 170.link-block-case [class*="btn-border"],.link-block-case [class*="btn--border"]{opacity:.32;transition:opacity var(--motion-instant) var(--ease-move)} 171.link-block:hover [class*="btn-border"],.link-block:focus-visible [class*="btn-border"], 172.link-block:hover [class*="btn--border"],.link-block:focus-visible [class*="btn--border"], 173.link-block-case:hover [class*="btn-border"],.link-block-case:focus-visible [class*="btn-border"], 174.link-block-case:hover [class*="btn--border"],.link-block-case:focus-visible [class*="btn--border"]{opacity:1} 175 176.link-arrow{transition:transform var(--motion-instant) var(--ease-move)} 177.link-block:hover .link-arrow,.link-block:focus-visible .link-arrow, 178.link-block-case:hover .link-arrow,.link-block-case:focus-visible .link-arrow{transform:translateX(var(--move-nudge))} 179 180.link-block .button--image,.link-block-case .button--image{transition:transform var(--motion-instant) var(--ease-move)} 181.link-block:hover .button--image,.link-block:focus-visible .button--image, 182.link-block-case:hover .button--image,.link-block-case:focus-visible .button--image{transform:translateX(var(--move-nudge))} 183 184.link-block .button-image--wrapper-lined-link,.link-block-case .button-image--wrapper-lined-link, 185.link-block .arrow-diagonal,.link-block-case .arrow-diagonal{transition:transform var(--motion-instant) var(--ease-move)} 186.link-block:hover .button-image--wrapper-lined-link,.link-block:focus-visible .button-image--wrapper-lined-link, 187.link-block-case:hover .button-image--wrapper-lined-link,.link-block-case:focus-visible .button-image--wrapper-lined-link, 188.link-block:hover .arrow-diagonal,.link-block:focus-visible .arrow-diagonal, 189.link-block-case:hover .arrow-diagonal,.link-block-case:focus-visible .arrow-diagonal{transform:translate(calc(var(--move-nudge) * .707),calc(var(--move-nudge) * -.707))} 190</style> 191 192<!-- Callout banner: marquee + edge masking. Pause covers hover AND focus-within: WCAG 2.2.2. Prefixed and unprefixed mask values must stay IDENTICAL. --> 193<style> 194.callout-banner--slides{animation:rd-marquee var(--marquee-cycle) linear infinite reverse} 195.callout-banner--content-wrapper:hover .callout-banner--slides, 196.callout-banner--content-wrapper:focus-within .callout-banner--slides{animation-play-state:paused}
197@keyframes rd-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.3333%,0,0)}} 198@media(prefers-reduced-motion:reduce){.callout-banner--slides{animation:none}} 199.callout-banner--viewport{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 56px,#000 calc(100% - 160px),transparent calc(100% - 56px));mask-image:linear-gradient(to right,transparent 0,#000 56px,#000 calc(100% - 160px),transparent calc(100% - 56px))} 200@media(max-width:767px){.callout-banner--viewport{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 84px),transparent calc(100% - 28px));mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 84px),transparent calc(100% - 28px))}} 201@media(max-width:479px){.callout-banner--viewport{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 64px),transparent calc(100% - 20px));mask-image:linear-gradient(to right,transparent 0,#000 1.5rem,#000 calc(100% - 64px),transparent calc(100% - 20px))}} 202</style> 203 204<!-- Feature Slideshow --> 205<style> 206.fslide{background:transparent!important;color:inherit!important;padding:0!important;margin:0!important} 207.fslide[data-theme="dark"]{color:#fff!important} 208.fslide[data-theme="light"]{color:#01081a!important} 209.fslide__inner{width:100%;max-width:none!important;margin:0!important} 210.fslide__frame{width:100%;display:block;border-color:rgba(255,255,255,.18)} 211.fslide[data-theme="light"] .fslide__frame{border-color:rgba(1,8,26,.14)} 212.fslide__stage{width:100%} 213.fslide__track{background:rgba(255,255,255,.18)} 214.fslide[data-theme="light"] .fslide__track{background:rgba(1,8,26,.18)} 215.fslide__fill{background:#20fb87} 216.fslide[data-theme="light"] .fslide__fill{background:#01081a} 217.fslide__title{color:inherit} 218.fslide__text{color:rgba(255,255,255,.7)} 219.fslide[data-theme="light"] .fslide__text{color:rgba(1,8,26,.65)} 220.fslide__view{pointer-events:none} 221.fslide__view.is-active{opacity:1;pointer-events:auto} 222.fslide__cap.is-active{opacity:1} 223.fslide__caps{display:flex!important;gap:40px} 224.fslide__caps > .fslide__cap{flex:1 1 0;min-width:0} 225.fslide__bars{gap:8px} 226.fslide__bars > *{flex:1 1 0;min-width:0} 227.fslide__img.is-mobile{display:none} 228@media screen and (max-width:991px){.fslide__caps{gap:28px}} 229@media screen and (max-width:767px){ 230.fslide__stage{aspect-ratio:4 / 3} 231.fslide__img.is-desktop{display:none} 232.fslide__img.is-mobile{display:block} 233.fslide__bars{display:flex!important} 234.fslide__caps{gap:0;margin-top:20px} 235.fslide__cap{display:none;gap:10px;opacity:1} 236.fslide__cap.is-active{display:flex} 237.fslide__cap .fslide__track{display:none} 238} 239</style> 240 241<!-- Text links. INLINE (rich text, .rl, .u-link) wraps across lines so it must use text-decoration, and only the COLOUR animates. STANDALONE never wraps, so it gets a scaleX underline. --> 242<style> 243.w-richtext a:not(.w-button),a.rl,.u-link{position:relative;color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.24em;text-decoration-color:color-mix(in srgb,currentColor 32%,transparent);border-radius:2px;transition:text-decoration-color var(--motion-instant) var(--ease-move),color var(--motion-instant) var(--ease-move),opacity var(--motion-instant) var(--ease-move)} 244.w-richtext a:not(.w-button):hover,a.rl:hover,.u-link:hover{text-decoration-color:currentColor} 245.w-richtext a:not(.w-button):active,a.rl:active,.u-link:active{opacity:.7} 246.w-richtext a:not(.w-button):focus-visible,a.rl:focus-visible,.u-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;text-decoration-color:currentColor} 247a.rl[aria-disabled="true"],.u-link[aria-disabled="true"]{color:color-mix(in srgb,currentColor 38%,transparent);text-decoration-color:color-mix(in srgb,currentColor 18%,transparent);pointer-events:none} 248a.rl.standalone,.u-link.standalone{text-decoration:none} 249a.rl.standalone::after,.u-link.standalone::after{content:"";position:absolute;left:0;right:0;bottom:-.14em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform var(--motion-base) var(--ease-enter);pointer-events:none} 250a.rl.standalone:hover::after,.u-link.standalone:hover::after,a.rl.
250standalone:focus-visible::after,.u-link.standalone:focus-visible::after{transform:scaleX(1)} 251a.rl .ext,.u-link .ext{display:inline-block;width:.78em;height:.78em;margin-left:.28em;vertical-align:-.02em;transition:transform var(--motion-instant) var(--ease-move)} 252a.rl:hover .ext,.u-link:hover .ext{transform:translate(1px,-1px)} 253[data-theme="dark"] .w-richtext a:not(.w-button):hover,[data-theme="dark"] a.rl:hover,[data-theme="dark"] .u-link:hover,[data-theme="dark"] .w-richtext a:not(.w-button):focus-visible,[data-theme="dark"] a.rl:focus-visible,[data-theme="dark"] .u-link:focus-visible{color:#20fb87;text-decoration-color:#20fb87} 254</style>
254<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
254 255<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/styles/base16/black-metal-mayhem.css" /> 256 257
257<script> 258 hljs.highlightAll(); // apply highlighting 259 </script>
259<script type="text/javascript">window.__WEBFLOW_CURRENCY_SETTINGS = {"currencyCode":"USD","symbol":"$","decimal":".","fractionDigits":2,"group":",","template":"{{wf {\"path\":\"symbol\",\"type\":\"PlainText\"} }} {{wf {\"path\":\"amount\",\"type\":\"CommercePrice\"} }} {{wf {\"path\":\"currencyCode\",\"type\":\"PlainText\"} }}","hideDecimalForWholeNumbers":false};</script>
259</head><body class="blog-page"><div class="page-wrapper"><div data-animation="default" class="navbar w-nav" data-easing2="ease" data-easing="ease" data-collapse="medium" data-w-id="1aa62dc0-5f7c-412b-c4f5-6ff6f89d68c8" role="banner" data-no-scroll="1" data-duration="400" data-doc-height="1" data-wf--navigation-menu--variant="base"><div id="services-fill" class="mega_fill"></div><div class="slot"></div><div class="nav_contain u-container"><div class="navbar-container w-container"><a href="/" class="logo w-inline-block"><div class="logo-image w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="22" viewBox="0 0 135 22" fill="none"> 260<path d="M71.4316 5.00879C71.6963 3.74238 72.8308 2.79688 74.1729 2.79688H81.2227C82.7915 2.79688 84.0391 4.06335 84.0391 5.61328V15.4795C84.0391 17.0105 82.7726 18.2773 81.2227 18.2773H74.1729C72.8308 18.2773 71.6963 17.3318 71.4316 16.0654V21.0752H68.6152V2.79688H71.4316V5.00879ZM114.34 2.79688C115.89 2.79688 117.156 4.06335 117.156 5.61328V15.4795C117.156 17.0294 115.89 18.2959 114.34 18.2959H104.529C102.979 18.2957 101.713 17.0293 101.713 15.4795V5.61328C101.713 4.04454 102.979 2.79702 104.529 2.79688H114.34ZM48.4092 18.2783H45.6113V16.0664C45.3467 17.3328 44.2122 18.2783 42.8701 18.2783H35.8203C34.2514 18.2783 33.0039 17.0304 33.0039 15.4805V5.61426C33.0039 4.08322 34.2703 2.81641 35.8203 2.81641H42.8701C44.2122 2.81641 45.3467 3.76191 45.6113 5.02832V0.0185547L48.4092 0V18.2783ZM2.81641 4.98926C3.08111 3.74184 4.21563 2.79688 5.55762 2.79688H13.9307V5.59473H2.81641V18.2773H0V2.79688H2.81641V4.98926ZM27.8623 2.79688C29.431 2.79704 30.6971 4.08213 30.6973 5.63184V9.18555C30.6784 10.7354 29.4121 11.9832 27.8623 11.9834H18.1084V15.4795H30.6973V18.2773H18.127C16.5583 18.2771 15.2922 17.011 15.292 15.4424V5.63184C15.2921 4.06326 16.5583 2.79708 18.127 2.79688H27.8623ZM63.5498 2.79688C65.1185 2.79704 66.3846 4.08213 66.3848 5.63184V9.18555C66.3659 10.7354 65.0996 11.9832 63.5498 11.9834H53.7959V15.4795H66.3848V18.2773H53.8145C52.2458 18.2771 50.9797 17.011 50.9795 15.4424V5.63184C50.9796 4.06326 52.2458 2.79708 53.8145 2.79688H63.5498ZM89.0859 2.79688V15.4795H100.428V18.2773H89.124C87.5553 18.2773 86.2892 17.011 86.2891 15.4424V2.79688H89.0859ZM122.393 9.88477H132.202V2.79688H135V15.4424C135 17.0111 133.733 18.2773 132.184 18.2773H119.595V15.4795H132.202V10.4707C131.938 11.737 130.804 12.6825 129.462 12.6826H122.393C120.861 12.6826 119.595 11.4347 119.595 9.88477V2.79688H122.393V9.88477ZM35.8203 15.4805H45.6113V5.61426H35.8203V15.4805ZM104.529 15.4795H114.34V5.61328H104.529V15.4795ZM71.4316 15.4609H81.2227V5.59473H71.4316V15.4609ZM18.1084 9.16699H27.8809V5.68848L27.8994 5.61328H18.1084V9.16699ZM53.7773 9.16699H63.5684V5.68848L63.5869 5.61328H53.7773V9.16699Z" fill="white"/> 261</svg></div></a><nav role="navigation" class="nav-menu home w-nav-menu"><a href="/about" class="navigation-menu-link w-nav-link">About</a><div class="inline-dropdown"><div data-wf--full-page-dropdown--variant="close-dropdown"><div id="services-trigger" class="navigation-menu-link services"><div class="user-select-none">What we do</div><span aria-hidden="true" class="mega_pm"></span></div><div id="services-mega" class="mega"><div class="embed-code"><div class="w-embed"><style> 262 html { 263 scrollbar-gutter: stable; 264 scrollbar-width: thin; 265 scrollbar-color: rgba(255, 255, 255, 0.22) transparent; 266 } 267 html::-webkit-scrollbar {
268 width: 10px; 269 } 270 html::-webkit-scrollbar-track { 271 background: transparent; 272 } 273 html::-webkit-scrollbar-thumb { 274 background-color: rgba(255, 255, 255, 0.22); 275 border-radius: 10px; 276 border: 3px solid transparent; 277 background-clip: padding-box; 278 } 279 html::-webkit-scrollbar-thumb:hover { 280 background-color: rgba(255, 255, 255, 0.4); 281 } 282 283 @media (min-width: 992px) { 284 #services-mega { 285 top: 100%; 286 height: calc(100dvh - 100%); 287 overflow-y: auto; 288 overflow-x: clip; 289 overscroll-behavior: contain; 290 scrollbar-width: none; 291 transition: 292 opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), 293 visibility 0.2s; 294 } 295 #services-mega::-webkit-scrollbar { 296 display: none; 297 } 298 } 299 300 #services-mega.mega-js .mega-section-header, 301 #services-mega.mega-js .mega_item, 302 #services-mega.mega-js .mega_subitem, 303 #services-mega.mega-js .mega_foot { 304 opacity: 0; 305 transform: translateY(10px); 306 } 307 #services-mega .mega-section-header.mega-in, 308 #services-mega .mega_item.mega-in, 309 #services-mega .mega_subitem.mega-in, 310 #services-mega .mega_foot.mega-in { 311 opacity: 1; 312 transform: none; 313 transition: 314 opacity 0.42s ease, 315 transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); 316 } 317 318 html.nav-locked .navbar { 319 z-index: 2000000000 !important; 320 transform: none !important; 321 margin-top: 0 !important; 322 } 323 html.nav-locked #services-fill { 324 opacity: 1; 325 } 326 html.nav-locked, 327 html.nav-locked body { 328 overflow: hidden !important; 329 } 330 @media (max-width: 991px) { 331 #services-fill { 332 transition: opacity 0.1s linear !important; 333 } 334 html.nav-locked #services-fill { 335 transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important; 336 } 337 } 338 339 .mega-section-header { 340 display: flex; 341 width: -moz-fit-content; 342 width: fit-content; 343 align-items: center; 344 column-gap: 0.5em; 345 } 346 .mega-section-header .mega_head { 347 margin: 0; 348 } 349 .mega_item { 350 display: grid; 351 grid-template-columns: auto 1fr; 352 column-gap: 0.5em; 353 align-items: start; 354 margin-bottom: 1.25rem; 355 break-inside: avoid; 356 } 357 .mega_subitem { 358 display: inline-flex; 359 align-items: center; 360 gap: 0.5em; 361 } 362 363 .mega-arrow { 364 color: #ffffff; 365 background-color: currentColor; 366 flex: 0 0 auto; 367 transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); 368 -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='4' y='15.02' width='18' height='2'/%3E%3Cpolygon points='17.29 6.72 26.59 16.02 17.3 25.31 18.71 26.72 28.71 16.72 28.71 15.31 18.71 5.31 17.29 6.72'/%3E%3C/svg%3E") center/contain no-repeat; 369 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='4' y='15.02' width='18' height='2'/%3E%3Cpolygon points='17.29 6.72 26.59 16.02 17.3 25.31 18.71 26.72 28.71 16.72 28.71 15.31 18.71 5.31 17.29 6.72'/%3E%3C/svg%3E") center/contain no-repeat; 370 } 371 .mega-arrow > * { 372 display: none; 373 } 374 .mega-arrow.is-head { 375 display: none; 376 } 377 .mega_item .mega-arrow { 378 position: static; 379 grid-row: 1 / 3; 380 align-self: start; 381 } 382 .mega_subitem .mega-arrow { 383 position: static; 384 } 385 386 @media (min-width: 992px) { 387 .mega-section-header { 388 margin-bottom: 18px; 389 } 390 .mega_item .mega-arrow { 391 margin-top: 0.18em; 392 width: 17px; 393 height: 17px; 394 } 395 .mega_subitem .mega-arrow { 396 width: 15px; 397 height: 15px; 398 } 399 #services-mega .mega_foot { 400 margin-top: 18px; 401 z-index: 3; 402 background-color: rgb(1, 8, 26); 403 } 404 } 405 @media (max-width: 991px) { 406 .mega-section-header { 407 margin-bottom: 14px; 408 } 409 .mega_item .mega-arrow { 410 margin-top: 0.12em; 411 width: 15px; 412 height: 15px; 413 } 414 .mega_subitem .mega-arrow { 415 width: 13px; 416 height: 13px; 417 } 418 } 419 420 @media (hover: hover) { 421 .mega_item:hover .mega-arrow, 422 .mega_subitem:hover .mega-arrow { 423 transform: translateX(0.25em); 424 } 425 } 426 427 #services-mega { 428 border-top-color: transparent; 429 } 430 .mega_col-line, 431 .mega_children, 432 .mega_foot { 433 position: relative; 434 } 435 #services-mega .mega_col-line { 436 border-left-color: transparent; 437 } 438 .mega_children { 439 border-left-color: transparent; 440 } 441 .mega_foot { 442 border-top-color: transparent; 443 } 444 #services-mega::before, 445 .mega_col-line::before, 446 .mega_children::before, 447 .mega_foot::before { 448 content: ''; 449 position: absolute; 450 pointer-events: none; 451 z-index: 2; 452 transition: transform 0.35s ease; 453 } 454 #services-mega::before { 455 top: 0; 456 left: 0; 457 width: 100%; 458 height: 1px; 459 background: rgba(255, 255, 255, 0.1); 460 transform: scaleX(0); 461 transform-origin: left center; 462 } 463 .mega_col-line::before { 464 top: -24px; 465 left: 0; 466 width: 1px; 467 height: calc(100% + 60px); 468 background: rgba(255, 255, 255, 0.1); 469 transform: scaleY(0); 470 transform-origin: top center; 471 } 472 .mega_children::before { 473 top: 0; 474 left: 0; 475 width: 1px; 476 height: 100%; 477 background: rgba(32, 251, 135, 0.35); 478 transform: scaleY(0); 479 transform-origin: top center; 480 } 481 .mega_foot::before { 482 top: -1px; 483 left: -50vw; 484 width: calc(100% + 100vw); 485 height: 1px; 486 background: rgba(255, 255, 255, 0.1); 487 transform: scaleX(0); 488 transform-origin: left center; 489 z-index: 4; 490 } 491 #services-mega.lines-in::before { 492 transform: scaleX(1); 493 transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1); 494 } 495 #services-mega.lines-in .mega_col-line::before, 496 #services-mega.lines-in .mega_children::before { 497 transform: scaleY(1); 498 transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1); 499 } 500 #services-mega.lines-in .mega_foot::before { 501 transform: scaleX(1); 502 transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1); 503 } 504 505 #services-mega.mega-closing .mega-section-header, 506 #services-mega.mega-closing .mega_item, 507 #services-mega.mega-closing .mega_subitem, 508 #services-mega.mega-closing .mega_foot { 509 opacity: 0 !important; 510 transform: translateY(8px) !important; 511 transition: 512 opacity 0.18s ease, 513 transform 0.18s ease !important; 514 transition-delay: 0s !important; 515 } 516 517 @media (prefers-reduced-motion: reduce) { 518 #services-mega { 519 transition: opacity 0.15s ease !important; 520 } 521 #services-fill { 522 transition: none !important; 523 } 524 #services-mega .mega-section-header, 525 #services-mega .mega_item, 526 #services-mega .mega_subitem, 527 #services-mega .mega_foot { 528 opacity: 1 !important; 529 transform: none !important; 530 transition: none !important; 531 } 532 #services-mega::before, 533 .mega_col-line::before, 534 .mega_children::before, 535 .mega_foot::before { 536 transform: none !important; 537 transition: none !important; 538 } 539 } 540 541 @media (max-width: 991px) { 542 #services-mega::before, 543 .mega_col-line::before, 544 .mega_children::before, 545 .mega_foot::before { 546 display: none !important; 547 } 548 } 549</style></div><div class="w-embed w-script">
549<script> 550(function () { 551 function init() { 552 var t = document.getElementById('services-trigger'); 553 var m = document.getElementById('services-mega'); 554 if (!t || !m) return; 555 var pm = t.querySelector('.mega_pm'); 556 var inner = m.querySelector('.mega_inner'); 557 var root = document.documentElement; 558 var menuBtn = document.querySelector('.w-nav-button'); 559 var menuEl = document.querySelector('.w-nav-menu'); 560 var navbar = document.querySelector('.navbar'); 561 var navSlide = 'margin-top .5s cubic-bezier(.4,0,.2,1), transform .4s cubic-bezier(.4,0,.2,1), background-color .8s ease-in-out'; 562 var reduce = window.matchMedia('(prefers-reduced-motion:reduce)').matches; 563 var open = false, staggerTimer = null, resetTimer = null, closeTimer1 = null, closeTimer2 = null, navSlideTimer = null; 564 m.classList.add('mega-js'); 565 566 /* Always start closed/fresh on load, clearing leftover Designer state */ 567 m.classList.remove('is-open', 'lines-in', 'mega-closing'); 568 if (pm) pm.classList.remove('pm-open'); 569 root.classList.remove('mega-active', 'nav-locked'); 570 Array.prototype.forEach.call(m.querySelectorAll('.mega-section-header, .mega_item, .mega_subitem, .mega_foot'), function (el) { el.classList.remove('mega-in'); el.style.transitionDelay = ''; }); 571 t.setAttribute('aria-expanded', 'false'); 572 573 function isDesktop() { return window.matchMedia('(min-width:992px)').matches; } 574 function navOpen() { return !!(menuBtn && menuBtn.classList.contains('w--open')); } 575 function vh() { return window.visualViewport ? window.visualViewport.height : window.innerHeight; } 576 function fitMenu() { if (!menuEl) return; if (isDesktop() || !navOpen()) { menuEl.style.height = ''; return; } var top = menuEl.getBoundingClientRect().top; menuEl.style.height = Math.max(0, vh() - top) + 'px'; } 577 function items() { return Array.prototype.slice.call(m.querySelectorAll('.mega-section-header, .mega_item, .mega_subitem, .mega_foot')); } 578 function setLock() { root.classList.toggle('nav-locked', (open && isDesktop()) || navOpen()); } 579 function applyState() { if (open && isDesktop()) root.classList.add('mega-active'); else root.classList.remove('mega-active'); } 580 function mobileHeight() { if (isDesktop()) { m.style.maxHeight = ''; return; } m.style.maxHeight = open ? (m.scrollHeight + 'px') : '0px'; } 581 function runStagger() { 582 var els = items(); 583 if (reduce) { els.forEach(function (el) { el.classList.add('mega-in'); }); return; } 584 els.forEach(function (el) { el.classList.remove('mega-in'); el.style.transitionDelay = '0ms'; }); 585 void m.offsetWidth; 586 var tops = els.map(function (el) { return el.getBoundingClientRect().top; }); 587 var minT = Math.min.apply(null, tops), maxT = Math.max.apply(null, tops); 588 var H = Math.max(maxT - minT, 1); 589 els.forEach(function (el, i) { var f = Math.max(0, Math.min(1, (tops[i] - minT) / H)); el.style.transitionDelay = Math.round(f * 280 + 20) + 'ms'; el.classList.add('mega-in'); }); 590 }
591 function clearStagger() { items().forEach(function (el) { el.classList.remove('mega-in'); el.style.transitionDelay = ''; }); } 592 function openMenu() { 593 open = true; clearTimeout(resetTimer); clearTimeout(closeTimer1); clearTimeout(closeTimer2); clearTimeout(navSlideTimer); 594 if (navbar && isDesktop()) { navbar.style.transition = navSlide; void navbar.offsetWidth; } 595 m.classList.remove('mega-closing'); applyState(); 596 m.classList.add('is-open'); m.classList.add('lines-in'); if (pm) pm.classList.add('pm-open'); 597 t.setAttribute('aria-expanded', 'true'); setLock(); 598 clearTimeout(staggerTimer); 599 if (isDesktop()) { staggerTimer = setTimeout(runStagger, 200); } 600 else { mobileHeight(); fitMenu(); staggerTimer = setTimeout(runStagger, 200); } 601 } 602 function closeMenu() { 603 if (!open) return; 604 open = false; clearTimeout(staggerTimer); clearTimeout(closeTimer1); clearTimeout(closeTimer2); clearTimeout(navSlideTimer); 605 if (pm) pm.classList.remove('pm-open'); 606 t.setAttribute('aria-expanded', 'false'); 607 m.classList.add('mega-closing'); 608 root.classList.remove('mega-active'); setLock(); 609 closeTimer1 = setTimeout(function () { m.classList.remove('lines-in'); }, 160); 610 closeTimer2 = setTimeout(function () { 611 m.classList.remove('is-open', 'mega-closing'); 612 if (!isDesktop()) m.style.maxHeight = '0px'; 613 clearStagger(); 614 }, 500); 615 navSlideTimer = setTimeout(function () { if (navbar) navbar.style.transition = ''; }, 700); 616 } 617 function dismiss() { if (navOpen() && menuBtn) menuBtn.click(); else if (open) closeMenu(); } 618 619 t.addEventListener('click', function (e) { e.preventDefault(); open ? closeMenu() : openMenu(); }); 620 621 /* New footer trigger: #openservice opens the dropdown */ 622 var footTrigger = document.getElementById('openservice'); 623 if (footTrigger) { 624 footTrigger.addEventListener('click', function (e) { 625 e.preventDefault(); 626if (!open) { if (!isDesktop() && !navOpen() && menuBtn) { menuBtn.click(); setTimeout(openMenu, 60); } else { openMenu(); } } }); 627 } 628 629 document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && open) closeMenu(); }); 630 m.addEventListener('click', function (e) { 631 if (e.target === m || e.target === inner) { closeMenu(); return; } 632 if (e.target.closest && (e.target.closest('a, button, [role=button], .w-button') || e.target.closest('.mega_foot'))) { closeMenu(); } 633 }); 634 window.addEventListener('resize', function () { if (open) applyState(); setLock(); if (isDesktop()) m.style.maxHeight = ''; else if (open) m.style.maxHeight = m.scrollHeight + 'px'; }); 635 if (window.visualViewport) window.visualViewport.addEventListener('resize', fitMenu); 636 if (menuBtn) { new MutationObserver(function () { if (!navOpen() && open) closeMenu(); setLock(); requestAnimationFrame(fitMenu); }).observe(menuBtn, { attributes: true, attributeFilter: ['class'] }); } 637 } 638 if (document.readyState !== 'loading') init(); 639 else document.addEventListener('DOMContentLoaded', init); 640})(); 641</script>
641</div></div><div class="mega_inner"><div class="mega_cols"><div class="mega_col"><div class="mega-section-header"><div class="mega_head">Solutions</div><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow is-head mega-arrow is-head"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg></div><div class="mega_list-two"><a href="/solutions/agentic-kyc" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Agentic KYC</div></div><div class="mega_item-sub">Corporate KYC files, assembled by agents.</div></a><a href="/solutions/agentic-aml-investigation" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Agentic AMLÂ Investigation</div></div><div class="mega_item-sub">Clear the alert backlog without adding headcount.</div></a><a href="/solutions/agentic-contract-review" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Agentic Contract Review</div></div><div class="mega_item-sub">Contract review without the manual load.</div></a><a href="/solutions/agentic-databricks-health-check" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Agentic Databricks Health Check</div></div><div class="mega_item-sub">See where your Databricks spend goes.</div></a><a href="/solutions/agentic-vm-right-sizing" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Agentic VM Right-sizing</div></div><div class="mega_item-sub">Find every leaking VM.</div></a><a href="/solutions/ai-control-plane" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">AI Control Plane</div></div><div class="mega_item-sub">Govern and scale your AI workloads.<br/>â</div></a></div></div><div class="mega_col mega_col-line"><div class="mega-section-header"><div class="mega_head">Platforms</div><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow is-head mega-arrow is-head"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg></div><div><a href="/platforms/ai-platform" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">AI Platform</div></div><div class="mega_item-sub">
641Governed, self-service AI infrastructure for your teams to build on.</div></a><a href="/platforms/data-platform" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Data Platform</div></div><div class="mega_item-sub">Modern data infrastructure that makes your data AI-ready.</div></a><a href="/platforms/cloud-platform" class="mega_item w-inline-block"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="mega-arrow mega-arrow"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.30566 11.5415L2.30566 10.2082L16.3057 10.2082L17.639 10.2082L17.639 11.5415L16.3057 11.5415L16.3057 12.8748L14.9724 12.8748L14.9724 11.5415L2.30566 11.5415ZM12.3057 6.20813L12.3057 7.54146L13.639 7.54146L13.639 6.20813L12.3057 6.20813ZM13.639 8.87472L13.639 7.54139L14.9724 7.54139L14.9724 8.87472L13.639 8.87472ZM14.9724 8.87478L14.9724 10.2081L16.3057 10.2081L16.3057 8.87478L14.9724 8.87478ZM13.639 14.2082L13.639 12.8748L14.9724 12.8748L14.9724 14.2082L13.639 14.2082ZM12.3057 14.2081L12.3057 15.5414L13.639 15.5414L13.639 14.2081L12.3057 14.2081Z" fill="currentColor"></path></svg><div class="w-layout-hflex"><div class="mega_item-name">Cloud Platform</div></div><div class="mega_item-sub">Secure, cost-efficient cloud foundations on Azure and AWS. </div></a></div></div></div><div class="mega_foot"><div class="mega_foot-txt">Not sure where you are? Start with an assessment, and we'll map the next step.</div><div><a href="/assessments" class="main_btn w-inline-block"><div class="g_button_text">See all assessments</div><div class="button-image--wrapper"><div class="button--image w-embed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="100%" height="100%" fill="currentColor" style="display:block" aria-hidden="true"><rect x="4.31" y="17.52" width="18.38" height="2" transform="translate(-9.14 14.97) rotate(-45)"></rect><polygon points="23 23.02 25 23.02 25 8.02 24 7.02 9 7.02 9 9.02 23 9.02 23 23.02"></polygon></svg></div></div></a></div></div></div></div></div></div><a href="/case-studies" class="navigation-menu-link w-nav-link">Case Studies</a><a href="/blog" class="navigation-menu-link w-nav-link">Blog</a><a href="https://careers.redeploy.com/" target="_blank" class="navigation-menu-link careers w-inline-block"><div class="nav-link-text-copy">Careers</div><div class="arrow-diagonal w-embed"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="display:block;flex:none;width:100%;height:100%;overflow:visible"> 642 <path d="M2 22L22 2M22 2H6.2M22 2V17.8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" vector-effect="non-scaling-stroke"/> 643</svg></div></a></nav><div class="menu-button pure-white w-nav-button"><div class="menu-open w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 40 40" fill="none"> 644<path fill-rule="evenodd" clip-rule="evenodd" d="M6 8.33975L6 11.0064L34 11.0064L34 8.33975L6 8.33975ZM6 18.6667L6 21.3333L34 21.3333L34 18.6667L6 18.6667ZM6 31.6602L6 28.9936L34 28.9936L34 31.6602L6 31.6602Z" fill="currentColor"/> 645</svg></div><div class="menu-closed w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16" fill="none"> 646<path fill-rule="evenodd" clip-rule="evenodd" d="M0 14.8347L14.8347 -6.62423e-06L16 1.16532
646L1.16533 16L0 14.8347ZM1.16728 0.00108256L0.00195312 1.16641L5.77034 6.9348L6.93567 5.76947L1.16728 0.00108256ZM10.2278 9.06523L9.0625 10.2306L14.8309 15.999L15.9962 14.8336L10.2278 9.06523Z" fill="currentColor"/> 647</svg></div></div><div class="display-inline hide-tablet"><div><div data-w-id="ebf21602-684d-922f-aed8-0a64ce097af8" class="main_btn is-nav"><div class="g_button_text">Talk to us</div><div class="button-image--wrapper"><div class="button--image w-embed"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"> 648<g id="graphic/icon/enter-arrow"> 649<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M1.07018 0.646606V5.43185H10.3285L6.88997 1.99375L7.64666 1.23697L12.0002 5.58997V6.34675L7.64666 10.6997L6.88997 9.94297L10.3313 6.50203H0.535092L0 5.96694V0.646606H1.07018Z" fill="currentColor"/> 650</g> 651</svg></div></div></div></div></div></div></div></div><div class="small-default-hero"></div><div class="blog-post"><div class="padding-global"><div class="container-medium"><div class="blog-post--specific"><div class="blog-title"><h1 class="sg-h1">Financial crime volumes keep climbing, investigation teams don't</h1></div><img src="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138.jpg" loading="lazy" alt="Portrait of Jonas Dahlberg, Head of Growth at Redeploy, seated at a table in a dark blazer and white shirt." sizes="100vw" srcset="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138-p-500.jpg 500w, https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138-p-800.jpg 800w, https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138-p-1080.jpg 1080w, https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138-p-1600.jpg 1600w, https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f263f9e3a13cca9b36e_Redeploy_Oskar_-138.jpg 1809w" class="article-header"/><div class="article-columns w-row"><div class="article-column-1 w-col w-col-3"><div class="article-details"><div class="published-date"><p class="sg-label-1">Category</p><p class="sg-body-1">Tech</p></div><div class="published-date"><p class="sg-label-1">Published</p><p class="sg-body-1">September 28, 2026</p></div></div></div><div class="article-column-2 w-col w-col-9"><p class="article-paragraph large blue">The pattern is familiar to anyone running a financial crime function. New alerts arrive, last week's queue is still open, and the team is the same size it was in January.</p><div class="u-rich-text w-richtext"><p>We sat down with Oskar Dahl Aldeborn, AI Lead at Redeploy, who spends his weeks inside banks' financial crime teams, to hear where the time actually goes and what he thinks should change.</p><p>His work covers three areas that banks usually run as separate functions: know your customer (KYC), the checks a bank runs when it takes on a customer and reviews them later; anti-money laundering (AML), the work of finding and reporting laundered money; and transaction monitoring (TM), the alerts on unusual transactions that feed the AML investigators.</p><p>âDifferent teams and different tools, but the same shape of case every time,â Oskar says. âA trigger, evidence to assemble, a decision, and a record the regulator can follow.â</p><h2>Most of a case is administration</h2><p>We asked Oskar where the hours in a case go, and his answer begins with a screen.</p><p>âIn the last process walkthrough I sat in, the analyst had the client lifecycle management system, the CLM, open and ten other windows. The CLM is where the case is built and signed off. None of the information the case needs lives there.â</p><p>It sits in the other ten, and much of it is unstructured: customer documents, scanned forms, annual reports, registry extracts, transaction history, screening results, negative news. The analyst opens each one, finds the detail, copies it into the CLM by hand, compares it with the next source, and chases the mismatches. That, Oskar says, is most of the working day, and it is why the case queue grows.</p><p>Take a periodic review of a trading company. The customer form names two owners, the registry extract names three, and one of those is a holding company in another country. The annual report arrives as a scanned document. An hour into the copying, the analyst notices that the ownership percentages do not add up.</p><p>âThat last observation is the investigation. Everything before it is
651what an experienced investigator was not hired to do.â</p><p>Transaction monitoring is no different, he adds. The judgment is whether a pattern of transactions fits the business the customer claims to run. The hours go into assembling the pattern.</p><figure style="max-width:1932pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="Oskar Dahl Aldeborn, AI Lead at Redeploy, working at his laptop in a meeting room at the Stockholm office" src="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97f8dfdd8c364303cc994_Redeploy_Oskar_-174.jpg" loading="lazy"/></div></figure><h2>Why hiring does not close the gap</h2><p>The obvious response to a growing queue is more people, and Oskarâs point is that this option is weaker than it looks. The budget is hard to defend when the driver sits outside the bank and keeps growing. Even with the money approved, an experienced investigator takes months to recruit and longer to become effective.</p><p>âMeanwhile the backlog is what the regulator sees, and overdue reviews are what the board hears about.â</p><h2>The shortcut most banks have already tried</h2><p>Most banks, he says, have reached for the off-the-shelf AI assistant first, the kind that now sits in every office suite. The investigator pastes case text into a chat window and gets a summary back.</p><p>âIt helps with the writing and changes nothing about the queue. The assistant does not know how the bank defines suspicious behavior, it cannot read the source systems, and everything it produces has to be checked against the sources anyway. It adds a step to the case instead of removing one.â</p><h2>Agents do the administration, people do the investigation</h2><p>The split Oskar argues for is simple to state. AI agents take the administrative steps: read the documents, pull the data from the source systems, fill in the CLM, compare every detail across sources, screen the parties, and reason against the bankâs own rulebook rather than general knowledge. The investigator opens a finished file where every statement points to the source it came from, and gaps are flagged. The decision is theirs.</p><p>âThe hours do not disappear. They move from copy-paste into the CLM to investigation,â Oskar says. âAnd that is why the quality argument is stronger than the speed argument. A case that gets a full hour of investigation instead of a full hour of data entry is a better case.â</p><h2>Where agents still fail</h2><p>He is equally clear about the limits.</p><p>âBad scans. Handwritten forms. Ownership chains that run through jurisdictions with weak registries. Two sources that disagree and no third to settle it. Those cases go to a person, as they always did. The difference is that the person receives them with everything else already assembled and the disagreement already marked.â</p><figure style="max-width:1973px" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="Oskar Dahl Aldeborn in conversation with a colleague, gesturing towards his head as he makes a point." src="https://cdn.prod.website-files.com/62b9af89058c57398105e76a/6aa97fc2291587f15252b8fe_Redeploy_Oskar_-180.jpg" loading="lazy"/></div></figure><h2>How a bank should test it</h2><p>His advice to a bank considering this starts before any technology.</p><p>âIf you have not measured todayâs time per case, you are not ready to start. Measure first.â</p><p>From there it stays deliberately small. One case type, run all the way through over a few weeks on anonymized test cases, never live data. Decide what good looks like before anything gets built, and keep a person reviewing every case. At the end there is one decision, go or no go, and the bank makes it.</p><p>"A capability that works in a controlled test has absorbed nothing. It counts when it runs inside the daily flow, where the volume sits."</p><h2>The number worth watching</h2><p>Asked what he would measure at the end of the year, he is quick to answer:</p><p>âHow much faster the queue moves, with the same people making the calls. When the board asks what the bank is doing about AI in financial crime, that is the answer that survives the follow-up questions.â</p></div></div></div><div class="article-columns w-row"><div class="article-column-1 w-col w-col-3"></div><div class="article-column-2 w-col w-col-9"><div class="author"><img src="" loading="lazy" alt="" class="author-image w-dyn-bind-empty"/><div class="author-details"><p class="sg-label-1 w-condition-invisible">Written by</p><p class="article-paragraph large darkest-blue w-dyn-bind-empty"></p></div></div></div></div></div></div></div></div><div class="footer ai-core"><div class="section--footer"><div class="padding-global"><div class="container-large"><div class="sg-footer-wrapper"><div class="footer-header--max-width"><h2 class="sg-h1 max-width-650">Ready to power up your business?</h2></div><p class="max-width-590">Whether you are looking to begin your cloud journey, modernize existing applications, or leverage data and AI platforms, we can help you every step of the way.</p><div data-wf--spacer--variant="64px" class="spacer is-relative"><div class="spacer-setting"></div></div><div><div data-w-id="ebf21602-684d-922f-aed8-0a64ce097af8" class="main_btn is-dark"><div class="g_button_text">Book a conversation</div><div class="button-image--wrapper"><div class="button--image w-embed">
651<svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"> 652<g id="graphic/icon/enter-arrow"> 653<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M1.07018 0.646606V5.43185H10.3285L6.88997 1.99375L7.64666 1.23697L12.0002 5.58997V6.34675L7.64666 10.6997L6.88997 9.94297L10.3313 6.50203H0.535092L0 5.96694V0.646606H1.07018Z" fill="currentColor"/> 654</g> 655</svg></div></div></div></div></div><div class="footer-links_list"><a href="/about" class="footer-link_item">About</a><a id="openservice" href="#" class="footer-link_item">What we do +</a><a href="/case-studies" class="footer-link_item">Case Studies</a><a href="/blog" class="footer-link_item">Blog</a><a href="https://careers.redeploy.com/" target="_blank" class="footer-link_item">Careers</a></div><div class="footer-details"><a href="/" class="logo w-inline-block"><div class="logo-image w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="130" height="22" viewBox="0 0 129 21" fill="none"> 656 <g clip-path="url(#clip0_1080_34966)"> 657 <path d="M0 2.87012V17.5311H2.6502V5.51842V2.87012H0Z" fill="currentColor" /> 658 <path d="M2.64844 5.51842H13.228V2.87012H5.30924C3.83573 2.87012 2.64844 4.05656 2.64844 5.51842Z" fill="currentColor" /> 659 <path 660 d="M27.0425 2.87012H17.629C16.1767 2.87012 15 4.04596 15 5.49724V14.904C15 16.3553
66016.1767 17.5311 17.629 17.5311H29.6715V14.8828H17.6502V11.5248H27.0425C28.4948 11.5248 29.6715 10.3489 29.6715 8.89766V5.49724C29.6715 4.04596 28.4948 2.87012 27.0425 2.87012ZM27.0213 8.89766H17.6502V5.51842H27.0213V8.89766Z" 661 fill="currentColor" /> 662 <path 663 d="M109.232 2.87012H99.8611C98.3982 2.87012 97.2109 4.05656 97.2109 5.51842V14.8828C97.2109 16.3447 98.3982 17.5311 99.8611 17.5311H109.232C110.695 17.5311 111.882 16.3447 111.882 14.8828V5.51842C111.882 4.05656 110.695 2.87012 109.232 2.87012ZM109.232 14.8828H99.8611V5.51842H109.232V14.8828Z" 664 fill="currentColor" /> 665 <path 666 d="M83.408 2.87012H80.7578V14.8828C80.7578 16.3447 81.9451 17.5311 83.408 17.5311H95.4293V14.8828H83.408V2.87012Z" 667 fill="currentColor" /> 668 <path 669 d="M43.4744 5.51799C43.4744 4.05613 42.2871 2.86969 40.8242 2.86969H34.1033C32.6404 2.86969 31.4531 4.05613 31.4531 5.51799V14.8824C31.4531 16.3443 32.6404 17.5307 34.1033 17.5307H40.8136C42.2765 17.5307 43.4638 16.3443 43.4638 14.8824V17.5307H46.1034V0.200195H43.4638V5.51799H43.4744ZM34.0927 14.8824V5.51799H43.4638V14.8824H34.0927Z" 670 fill="currentColor" /> 671 <path 672 d="M59.9175 2.87012H50.504C49.0517 2.87012 47.875 4.04596 47.875 5.49724V14.904C47.875 16.3553 49.0517 17.5311 50.504 17.5311H62.5465V14.8828H50.5252V11.5248H59.9175C61.3698 11.5248 62.5465 10.3489 62.5465 8.89766V5.49724C62.5571 4.04596 61.3804 2.87012 59.9175 2.87012ZM59.9069 8.89766H50.5358V5.51842H59.9069V8.89766Z" 673 fill="currentColor" /> 674 <path 675 d="M76.3271 2.87012H69.6062C68.1433 2.87012 66.956 4.05656 66.956 5.51842V2.87012H64.3164V20.2006H66.956V14.8828C66.956 16.3447 68.1433 17.5311 69.6062 17.5311H76.3271C77.79 17.5311 78.9773 16.3447 78.9773 14.8828V5.51842C78.9879 4.05656 77.8006 2.87012 76.3271 2.87012ZM76.3271 14.8828H66.956V5.51842H76.3271V14.8828Z" 676 fill="currentColor" /> 677 <path 678 d="M125.681 2.85938V9.57548H116.31V2.85938H113.66V9.57548C113.66 11.0373 114.847 12.2238 116.31 12.2238H123.031C124.494 12.2238 125.681 11.0373 125.681 9.57548V14.9039H113.66V17.5522H125.681C127.144 17.5522 128.332 16.3657 128.332 14.9039V2.85938H125.681Z" 679 fill="currentColor" /> 680 </g> 681 <defs> 682 <clipPath id="clip0_1080_34966"> 683 <rect width="128.333" height="20" fill="white" transform="translate(0 0.200195)" /> 684 </clipPath> 685 </defs> 686</svg></div></a><div class="footer-links-small"><div class="footer-group"><a href="mailto:[email protected]" class="sg-small-link">[email protected]</a></div><div class="footer-group"><a href="https://www.google.com/maps/place/Redeploy+AB/@59.3369007,18.0328419,17z/data=!3m1!4b1!4m5!3m4!1s0x465f9ddd6bd61277:0xea2bcf66f8716983!8m2!3d59.3369007!4d18.0328419" target="_blank" class="sg-small-link">Torsgatan 4, 111 23 Stockholm</a><a href="https://www.google.com/maps/place/Redeploy+AB/@57.7825702,14.1734095,17z/data=!3m1!4b1!4m5!3m4!1s0x465a6d938db130b3:0xad8345c924a0a823!8m2!3d57.7825702!4d14.1734095" target="_blank" class="sg-small-link">Södra Strandgatan 5, 553 20 Jönköping</a><a href="https://goo.gl/maps/AbK7GXC3KKPrJXFr5" target="_blank" class="sg-small-link">Drottninggatan 31, 411 14 Göteborg</a></div></div><div class="socials"><a aria-label="github-link" href="https://github.com/RedeployAB" target="_blank" class="social-link w-inline-block"><div class="social-image w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 687<path fill-rule="evenodd" clip-rule="evenodd" d="M14.7 1.5H9.9V2.7H6.3V3.9H5.1V5.1H3.9V6.3H2.7V9.9H1.5V14.7H2.7V17.7H3.9V18.9H5.1V20.1H6.3V21.3H9.9V22.5H14.7V21.3H17.7V20.1H18.9V18.9H20.1V17.7H21.3V14.7H22.5V9.9H21.3V6.3H20.1V5.1H18.9V3.9H17.7V2.7H14.7V1.5ZM14.7 2.7V3.9H17.7V5.1H18.9V6.3H20.1V9.9H21.3V14.7H20.1V17.7H18.9V18.9H17.7V20.1H15.3V17.1H14.7H14.1V15.9H15.9V14.7H17.1V13.5H18.3V9.3H17.1V5.1H15.9V6.3H14.7V7.5H9.9V6.3H8.7V5.1H7.5V9.3H6.3V13.5H7.5V14.7H8.7V15.9H10.5V17.1H9.9H9.3V17.7H8.1V16.5H6.3V15.3H5.1V16.5H6.3V17.7H8.1V18.9H9.3V20.1H6.3V18.9H5.1V17.7H3.9V14.7H2.7V9.9H3.9V6.3H5.1V5.1H6.3V3.9H9.9V2.7H14.7Z" fill="currentColor"/> 688</svg></div></a><a aria-label="linked-in link" href="https://linkedin.com/company/redeploy-ab" target="_blank" class="social-link w-inline-block"><div class="social-image w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 689<path fill-rule="evenodd" clip-rule="evenodd" d="M7.19998 3H4.79998V4.2L3.59998 4.2V6.6H4.79998V7.8H7.19998V6.6H8.39998V4.2L7.19998 4.2V3ZM6.59998 9H4.19998V21H6.59998H7.79998V9H6.59998ZM12 9H9.59998V10.2V21H12H13.2V13.8H14.4V12.6H15.6V13.8H16.8V21H18H20.4V11.4H19.2V10.2H18V9H13.2V10.2H12V9Z" fill="currentColor"/> 690</svg></div></a><a aria-label="youtube link" href="https://www.youtube.com/channel/UC5PywW-NaN6GVDGECs_tDcg" target="_blank" class="social-link w-inline-block"><div class="social-image w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 691 <path fill-rule="evenodd" clip-rule="evenodd" d="M18.6 2.40039H5.39999V3.60039H3.59999V6.00039H1.79999V18.0004H3.59999V20.4004H5.39999V21.6004H18.6V20.4004H20.4V18.0004H22.2V6.00039H20.4V3.60039H18.6V2.40039ZM8.99999 7.80039H10.8V9.00039H13.2V10.2004H15V11.4004H16.2V12.6004H15V13.8004H13.2V15.0004H10.8V16.2004H8.99999V7.80039Z" fill="currentColor"/> 692</svg></div></a></div></div></div></div></div><div class="background-wrap"><img src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services.webp" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-500.webp 500w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-800.webp 800w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-1080.webp 1080w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-1600.webp 1600w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-2000.webp 2000w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services-p-2600.webp 2600w, https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/65ef4b59ff5763911f49798e_BG%20-%20Services.webp 2880w" class="full-size"/></div></div><div data-wf--contact-modal--variant="base" data-w-id="88d36eee-08bc-5a57-5382-0d4a72faf513" class="modal-wrapper"><div class="overlay"><div class="contact-form-wrapper w-form"><div data-w-id="761f7c75-1137-ae9c-cf30-fbc4d6e8c7b5" class="modal-close-wrapper"><img src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/656f375f97e6c6304552223d_Union.svg" loading="lazy" alt="Close menu" class="modal-close"/></div><form id="wf-form-Email-Form" name="wf-form-Email-Form" data-name="Email Form" method="get" class="contact-form" data-wf-page-id="62b9af89a83391a99e26881e" data-wf-element-id="88d36eee-08bc-5a57-5382-0d4a72faf51a"><h2 class="heading-2">Letâs Connect!</h2><div class="form-row"><div class="input"><input class="input-field w-input" maxlength="256" name="Email" data-name="Email" placeholder="Your E-mail" type="email" id="Email" required=""/></div><div class="input"><input class="input-field w-input" maxlength="256" name="Name" data-name="Name" placeholder="Full Name" type="text" id="Name" required=""/></div></div><div class="radio-button-group"><div class="radio-button-title">Iâm interested inâ¦</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">AI agents & applications</span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">AI-ready data & RAG </span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">Cloud & data platforms</span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">Managed AI operations</span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">FinOps</span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">Advisory & assessment</span></label></div><div role="listitem" class="w-dyn-item"><label class="radio-button-field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom radio-button w-radio-input"></div><input type="radio" name="radio" id="radio" data-name="Radio" style="opacity:0;position:absolute;z-index:-1" value=""/><span class="radio-button-label w-form-label" for="radio">
692Other</span></label></div></div></div></div><div class="form-row"><div class="input"><input class="input-field w-input" maxlength="256" name="Message" data-name="Message" placeholder="Write your message..." type="text" id="Message"/></div><input type="submit" data-wait="Please wait..." class="submit-button sg-button w-button" value="Send"/></div></form><div class="success-message w-form-done"><img src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/62c72e6d363b6330bafb8aca_icon--ok.svg" loading="lazy" alt="" class="success-message-image"/><div class="text-block-4">Thank you! <br/>Your submission has been sent</div></div><div class="error-message w-form-fail"><div class="text-block-5">Oops! Something went wrong while submitting the form. Try mailing us at [email protected] instead!</div></div></div><div data-w-id="6ceae74b-3601-aa22-b0e3-c7fa0c4d89cc" class="overlay-closable"></div></div><div class="w-embed w-script">
692<script> 693function setRadioButtonValuesToPreviousSibling() { 694 // Select all elements with the class '.radio-button-label' 695 const labels = document.querySelectorAll('.radio-button-label'); 696 697 labels.forEach(label => { 698 // Find the previous sibling input element 699 const inputElement = label.previousElementSibling; 700 if (inputElement && inputElement.tagName === 'INPUT') { 701 // Set the value of the input element to the text content of the label 702 inputElement.value = label.textContent.trim(); 703 } 704 }); 705} 706 707// Call the function to apply the changes 708setRadioButtonValuesToPreviousSibling(); 709 710 711</script>
711</div></div><div fs-cc="banner" data-wf--cookie-banner--variant="base" class="fs-cc-banner3_component"><div class="cookie-wrapper"><img src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/654208b9a4fb0928e4cf3f66_Icon-Web-Cookie-White.svg" loading="lazy" width="Auto" alt="" class="cookie-image"/><div class="fs-cc-banner3_container"><div class="fs-cc-banner3_block"><h3 class="sg-h3 cookie">Cookie Consent</h3><p class="sg-body-2">By clicking <strong class="bold-text">âAccept,â</strong> you agree to store cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Please view our <a href="/cookie-policy" class="white">Cookie Policy</a> for more information.</p></div><div class="fs-cc-banner3_buttons-wrapper"><a fs-cc="allow" href="#" class="button green w-button">Accept</a><a fs-cc="deny" href="#" class="button secondary cookie-button w-button">Deny</a></div></div></div></div></div>
711<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=62b0265c2452a57e6a524bf6" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
711<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/js/redeploy.schunk.01b56ef8c8bd111c.js" type="text/javascript" integrity="sha384-iYCaTaSJwo7SLv+5Fpais23xfjuXE4ZoLekLYLRLibhpj99yMyQiXSRZk4pg0rtX" crossorigin="anonymous"></script>
711<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6/js/redeploy.d6e7c5e3.a5434eed714ba8f5.js" type="text/javascript" integrity="sha384-G+7U952ofhfpwISiZHhlO1PSKhpiyf4ND8mO8ixzcce/A8Juhm8vW3/yvAEka4LW" crossorigin="anonymous"></script>
711<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
711<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
711<script type="text/javascript">gsap.registerPlugin(ScrollTrigger);</script>
711<script> 712 function debounce(func, delay){ 713 let timer; 714 return function () { 715 const context = this; 716 const args = arguments; 717 clearTimeout(timer); 718 timer = setTimeout(()=> { func.apply(context, args) }, delay); 719 } 720 } 721 const trigger = 100 722 const navbar = document.querySelector('.navbar') 723 const navbarLight = document.querySelector('.navbar-light') 724 const navbarRun = document.querySelector('.navbar-run') 725 const navbarApaas = document.querySelector('.navbar-apaas') 726 const navbarBuild = document.querySelector('.navbar-build') 727 const navbarInsight = document.querySelector('.navbar-insight') 728 window.addEventListener('scroll', debounce(() => { 729 const scrollPosition = window.pageYOffset || document.documentElement.scrollTop; 730 if (Boolean(navbar)) { navbar.classList.toggle('is-below-trigger', scrollPosition > trigger); } 731 if (Boolean(navbarLight)) { navbarLight.classList.toggle('light-is-below-trigger', scrollPosition > trigger); } 732 if (Boolean(navbarRun)) { navbarRun.classList.toggle('run-is-below-trigger', scrollPosition > trigger); } 733 if (Boolean(navbarApaas)) { navbarApaas.classList.toggle('apaas-is-below-trigger', scrollPosition > trigger); } 734 if (Boolean(navbarBuild)) { navbarBuild.classList.toggle('build-is-below-trigger', scrollPosition > trigger); } 735 if (Boolean(navbarInsight)) { navbarInsight.classList.toggle('insight-is-below-trigger', scrollPosition > trigger); } 736 }), 1000); 737</script>
737 738 739<!-- Lenis is initialised ONCE, in Site settings > Custom code > Head. A second copy (1.0.23) used to live here and was removed in September 2026. Do not add it back. --> 740 741<!-- People Section runtime. Moved here from the component Code Embed in September 2026: behaviour does not live in embeds, and at ~2.7k characters it is over the 2,000 cap for a registered script. The Splide CSS stays in the component's Styles embed. 742 The v4.2 drag watchdog is kept (after a free drag, 'scrolled' never fires and AutoScroll stays paused forever) but it is now FOCUS AWARE. pauseOnFocus was already set and was being undone by the watchdog one second later, so keyboard users could not stop moving content holding links. WCAG 2.2.2. -->
743<script> 744(function () { 745 var CORE = 'https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide.min.js'; 746 var AUTO = 'https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide-extension-auto-scroll.min.js'; 747 function loadOnce(src, attr, cb) { 748 var tag = document.querySelector('script[' + attr + ']'); 749 if (tag) { 750 if (tag.getAttribute('data-rd-loaded') === '1') { cb(); } 751 else { tag.addEventListener('load', cb); } 752 return; 753 } 754 var s = document.createElement('script'); 755 s.src = src; s.async = false; 756 s.setAttribute(attr, ''); 757 s.onload = function () { s.setAttribute('data-rd-loaded', '1'); cb(); }; 758 document.head.appendChild(s); 759 } 760 function ensureCore(cb) { if (window.Splide) { cb(); return; } loadOnce(CORE, 'data-rd-splide', cb); } 761 function ensureAutoScroll(cb) { 762 if (window.splide && window.splide.Extensions && window.splide.Extensions.AutoScroll) { cb(); return; } 763 loadOnce(AUTO, 'data-rd-splide-autoscroll', cb); 764 } 765 function keepRunning(sp, root) { 766 var as = sp.Components.AutoScroll; 767 if (!as) return; 768 var over = false, focused = false; 769 root.addEventListener('pointerenter', function () { over = true; }); 770 root.addEventListener('pointerleave', function () { over = false; }); 771 root.addEventListener('focusin', function () { focused = true; as.pause(); }); 772 root.addEventListener('focusout', function () { 773 if (!root.contains(document.activeElement)) { focused = false; as.play(); } 774 }); 775 sp.on('dragged', function () { setTimeout(function () { if (!focused) as.play(); }, 300); }); 776 sp.on('scrolled', function () { if (!focused) as.play(); }); 777 setInterval(function () { 778 var drag = sp.Components.Drag; 779 var dragging = !!(drag && drag.isDragging && drag.isDragging()); 780 if (!over && !focused && !dragging && as.isPaused()) { as.play(); } 781 }, 1000); 782 } 783 function initPeopleSliders() { 784 if (!window.Splide) return; 785 var ext = (window.splide && window.splide.Extensions) || {}; 786 var reduce = !!(window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches); 787 var roots = document.querySelectorAll('.section--people .splide'); 788 for (var i = 0; i < roots.length; i++) { 789 var root = roots[i]; 790 if (root.__rdSplide) continue; 791 var sp = new Splide(root, { 792 type: 'loop', autoWidth: true, perMove: 1, 793 pagination: false, arrows: true, gap: '44px', 794 drag: 'free', flickPower: 200, 795 autoScroll: { speed: reduce ? 0 : 0.6, pauseOnHover: true, pauseOnFocus: true, rewind: false } 796 }); 797 root.__rdSplide = sp; 798 sp.mount(ext); 799 if (!reduce) { keepRunning(sp, root); } 800 } 801 } 802 function boot() { ensureCore(function () { ensureAutoScroll(initPeopleSliders); }); } 803 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot); } else { boot(); } 804})(); 805</script>
805 806 807<!-- Case Slideshow runtime. Drives every [data-cslide] component: autoplay, dots, progress bar, play/pause. Timings from the motion tokens in the head. Progress bar animates transform, never width. Reduced motion starts paused; the dots drive. -->
808<script> 809(function(){ 810 var LIME='#20fb87'; 811 var PAUSE='M10 6h2v20h-2zM18 6h2v20h-2z', PLAY='M8 5L24.98 15.37V16.63L8 27Z'; 812 function icon(d){return '<svg width="16" height="16" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true" focusable="false"><path d="'+d+'"></path></svg>';} 813 function rgb(color){ 814 var m = String(color || '').match(/rgba?\(([^)]+)\)/); 815 if(!m) return null; 816 var p = m[1].split(','); 817 return [parseFloat(p[0]), parseFloat(p[1]), parseFloat(p[2])]; 818 } 819 function alpha(color, a){ 820 var c = rgb(color); 821 if(!c) return color; 822 return 'rgba(' + c[0] + ',' + c[1] + ',' + c[2] + ',' + a + ')'; 823 } 824 function each(root, sel, fn){ Array.prototype.forEach.call(root.querySelectorAll(sel), fn); } 825 function init(root){ 826 if(root.getAttribute('data-cslide-ready') === '1') return; 827 root.setAttribute('data-cslide-ready','1'); 828 var i, all = root.querySelectorAll('[data-cslide-slide]'), slides = []; 829 for(i=0;i<all.length;i++){ if(getComputedStyle(all[i]).display !== 'none') slides.push(all[i]); } 830 if(!slides.length) return; 831 var dall = root.querySelectorAll('[data-cslide-dot]'), dots = []; 832 for(i=0;i<dall.length;i++){ if(i < slides.length){ dots.push(dall[i]); } else { dall[i].style.display='none'; } } 833 var play = root.querySelector('[data-cslide-play]'); 834 var counter = root.querySelector('[data-cslide-counter]'); 835 var secEl = root.querySelector('[data-cslide-seconds-value]'); 836 var secs = parseFloat((secEl && secEl.textContent) || root.getAttribute('data-cslide-seconds') || '6'); 837 if(!(secs > 0)) secs = 6; 838 var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 839 var dur = secs * 1000, ix = 0, playing = !reduce, timer = null, anim = null; 840 var textColor = getComputedStyle(root).color; 841 var c = rgb(textColor) || [255,255,255]; 842 var onDark = (0.2126*c[0] + 0.7152*c[1] + 0.0722*c[2]) / 255 > 0.5; 843 var accent = onDark ? LIME : textColor; 844 each(root, '.cslide__label, .cslide__eyebrow, .cslide__metric-value', function(el){ el.style.color = accent; }); 845 each(root, '.cslide__metric', function(el){ el.style.borderLeftColor = accent; }); 846 each(root, '.cslide__fill', function(el){ el.style.backgroundColor = accent; }); 847 each(root, '.cslide__visual', function(el){ el.style.backgroundColor = onDark ? '#01081a' : 'rgba(1,8,26,0.04)'; }); 848 each(root, '.cslide__cta-dark', function(el){ el.style.display = onDark ? 'flex' : 'none'; }); 849 each(root, '.cslide__cta-light', function(el){ el.style.display = onDark ? 'none' : 'flex'; }); 850 var probe = root.querySelector('.cslide__track'); 851 var idleColor = probe ? getComputedStyle(probe).backgroundColor : alpha(textColor, 0.45); 852 var trackColor = alpha(idleColor, 0.16); 853 function pad(n){ return n < 10 ? '0' + n : '' + n; } 854 function barWidth(){ return window.innerWidth < 768 ? 40 : 72; } 855 function paint(){ 856 slides.forEach(function(s, n){ 857 var on = n === ix; 858 s.style.transition = 'opacity var(--motion-slow) var(--ease-move)'; 859 s.style.opacity = on ? '1' : '0'; 860 s.style.visibility = on ? 'visible' : 'hidden'; 861 s.style.pointerEvents = on ? 'auto' : 'none'; 862 }); 863 dots.forEach(function(d, n){ 864 var on = n === ix, t = d.querySelector('.cslide__track'); 865 d.setAttribute('aria-current', on ? 'true' : 'false'); 866 if(!t) return; 867 t.style.width = on ? barWidth() + 'px' : '6px'; 868 t.style.height = on ? '3px' : '6px'; 869 t.style.borderRadius = on ? '0px' : '50%'; 870 t.style.background = on ? trackColor : idleColor; 871 }); 872 if(counter) counter.textContent = pad(ix + 1) + ' / ' + pad(slides.length); 873 if(play){ play.innerHTML = icon(playing ? PAUSE : PLAY); play.setAttribute('aria-label', playing ? 'Pause the slideshow' : 'Play the slideshow'); } 874 } 875 function run(){ 876 if(anim){ anim.cancel(); anim = null; } 877 clearTimeout(timer); 878 var fill = dots[ix] && dots[ix].querySelector('.cslide__fill'); 879 if(fill){ 880 fill.style.width = '100%'; 881 fill.style.transformOrigin = 'left center'; 882 fill.style.transform = 'scaleX(0)'; 883 if(playing && !reduce && fill.animate){
884 anim = fill.animate([{transform:'scaleX(0)'},{transform:'scaleX(1)'}], {duration: dur, easing:'linear', fill:'forwards'}); 885 } else if(playing){ fill.style.transform = 'scaleX(1)'; } 886 } 887 if(playing) timer = setTimeout(next, dur); 888 } 889 function next(){ go((ix + 1) % slides.length); } 890 function go(n){ ix = n; paint(); run(); } 891 function toggle(){ 892 playing = !playing; 893 if(!playing){ clearTimeout(timer); if(anim) anim.pause(); paint(); return; } 894 if(anim){ anim.play(); timer = setTimeout(next, Math.max(0, dur - (anim.currentTime || 0))); } else { run(); } 895 paint(); 896 } 897 function key(fn){ return function(e){ if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); fn(); } }; } 898 dots.forEach(function(d, n){ 899 d.setAttribute('role','button'); 900 d.setAttribute('tabindex','0'); 901 d.setAttribute('aria-label','Show case ' + (n + 1) + ' of ' + slides.length); 902 d.addEventListener('click', function(){ go(n); }); 903 d.addEventListener('keydown', key(function(){ go(n); })); 904 }); 905 if(play){ 906 play.setAttribute('role','button'); 907 play.setAttribute('tabindex','0'); 908 play.addEventListener('click', toggle); 909 play.addEventListener('keydown', key(toggle)); 910 } 911 root.addEventListener('mouseenter', function(){ if(playing && anim){ anim.pause(); clearTimeout(timer); } }); 912 root.addEventListener('mouseleave', function(){ if(playing && anim){ anim.play(); timer = setTimeout(next, Math.max(0, dur - (anim.currentTime || 0))); } }); 913 root.addEventListener('focusin', function(){ if(playing && anim){ anim.pause(); clearTimeout(timer); } }); 914 root.addEventListener('focusout', function(){ if(playing && anim && !root.contains(document.activeElement)){ anim.play(); timer = setTimeout(next, Math.max(0, dur - (anim.currentTime || 0))); } }); 915 window.addEventListener('resize', paint); 916 go(0); 917 } 918 function boot(){ Array.prototype.forEach.call(document.querySelectorAll('[data-cslide]'), init); } 919 if(document.readyState !== 'loading'){ boot(); } else { document.addEventListener('DOMContentLoaded', boot); } 920})(); 921</script>
921<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6%2F689e5ba67671442434f3ca35%2F6ab27de86039f00f54c18575%2Fredeploycounterup-1.2.0.js" type="text/javascript"></script>
921<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6%2F689e5ba67671442434f3ca35%2F6ab282f4a6716c1b6c7d5ef3%2Fredeploycalloutbanner-1.0.0.js" type="text/javascript"></script>
921<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6%2F689e5ba67671442434f3ca35%2F6ab2874d770a7723b5419005%2Ffeatureslideauto3-0.0.2.js" type="text/javascript"></script>
921<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6%2F689e5ba67671442434f3ca35%2F6ab3d098caa0e1600d87ca39%2Fredeployaccordion-1.1.0.js" type="text/javascript"></script>
921<script src="https://cdn.prod.website-files.com/62b0265c2452a57e6a524bf6%2F689e5ba67671442434f3ca35%2F6ab55ecd0229184df86574bc%2Fredeployreveal-1.1.0.js" type="text/javascript"></script>
921</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.