if (window.BEJSSDKObserver === undefined) {
(function(BEJSSDKObserver, $, undefined) {
var observer = void 0;
var listeners = [];
var readySet = [];
var doc = window.document;
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
function checkSelector(selector, fn, indexList) {
var elements = doc.querySelectorAll(selector);
for (var i = 0, len = elements.length; i < len; i++) {
/* -1 means all instances */
if (indexList != -1 && !(i in indexList)) {
continue;
}
var element = elements[i];
for (var j = 0; j < readySet.length; j++) {
if (readySet[j] == element.className || readySet[j] == element.id) {
return;
}
}
if (element.className) {
readySet.push(element.className);
}
if (element.id) {
readySet.push(element.id);
}
if (!element.ready || MutationObserver==null) {
element.ready = true;
fn.call(element, element);
}
}
}
function checkListeners() {
listeners.forEach(function (listener) {
return checkSelector(listener.selector, listener.fn, listener.indexList);
});
}
function removeListener(selector, fn) {
var i = listeners.length;
while (i--) {
var listener = listeners[i];
if (listener.selector === selector && listener.fn === fn) {
listeners.splice(i, 1);
if (!listeners.length && observer) {
observer.disconnect();
observer = null;
}
}
}
}
/**
* Fire event on first js selector
* @param selector string to watch on
* @param fn callback function
* @param index_list can be undefined which means only first one
* or -1 which means all
* or a list of allowable indexes
*/
BEJSSDKObserver.jsElementReady = function(selector, fn, index_list) {
if (index_list === undefined) {
index_list = [];
index_list.push(0);
}
if (MutationObserver != null) {
if (!observer) {
observer = new MutationObserver(checkListeners);
observer.observe(doc.documentElement, {
childList: true,
subtree: true
});
}
listeners.push({ selector: selector, fn: fn, indexList: index_list });
} else {
/* <= IE8 */
if (!document.addEventListener) {
/* log("<=IE8 attachEvent assignment"); */
document.addEventListener = document.attachEvent;
}
document.addEventListener("DOMContentLoaded", function(event) {
var elements = doc.querySelectorAll(selector);
for (var i = 0, len = elements.length; i < len; i++) {
/* -1 means all instances */
if (index_list != -1 && !(i in index_list)) {
continue;
}
var element = elements[i];
element.ready = true;
fn.call(element, element);
}
});
}
checkSelector(selector, fn, index_list);
return function () {
return removeListener(selector, fn);
};
};
}(window.BEJSSDKObserver = window.BEJSSDKObserver || {}));
}
var jsElementReady = window.BEJSSDKObserver.jsElementReady;
if (window.BELinkBlockGenerator === undefined) {
(function(BELinkBlockGenerator, $, undefined) {
BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = 100;
BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = 200;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE = 0;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE = 1;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE = 2;
BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE = 3;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_OVERWRITE = 0;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_POST_APPEND_ELEMENT = 1;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_ELEMENT = 2;
BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_PARENT = 3;
BELinkBlockGenerator.setMaximumHeadlineLength = function(length) {
BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = length;
};
BELinkBlockGenerator.setMaximumDescriptionLength = function(length) {
BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = length;
};
BELinkBlockGenerator.generateIndividualLinks = function(parentElement, linkStructure, link) {
var link_level_element_tag = linkStructure[0];
var link_level_element = document.createElement(link_level_element_tag);
var link_attribute_dictionary = linkStructure[1];
var allowable_elements = linkStructure[2];
var children_link_structures = linkStructure[3];
for (var link_attribute_key in link_attribute_dictionary) {
link_level_element.setAttribute(link_attribute_key, link_attribute_dictionary[link_attribute_key]);
}
var added_something = false;
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE)>=0) {
link_level_element.setAttribute('href', link.url);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE)>=0 && link.h1) {
var headline_text = link.h1;
if (headline_text.length > BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) {
headline_text = headline_text.substring(0, BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) + '...';
}
var text_node = document.createTextNode(headline_text);
link_level_element.appendChild(text_node);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE)>=0 && link.desc) {
var desc_text = link.desc;
if (desc_text.length > BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) {
desc_text = desc_text.substring(0, BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) + '...';
}
var text_node = document.createTextNode(desc_text);
link_level_element.appendChild(text_node);
added_something = true;
}
if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE)>=0 && link.image) {
link_level_element.setAttribute('src', link.image);
added_something = true;
}
/**
don't emit for empty links, desc, headline, image
except for parent structures where allowable_length=0
*/
if (!added_something && allowable_elements.length != 0) {
return;
}
/* go depth first */
for (var childrenIndex=0; childrenIndex
.be-ix-link-block{clear:both; }
.be-ix-link-block .be-related-link-container{display: flex;justify-content:center; text-align:center; padding: 10px 0;padding-bottom:20px}
.be-ix-link-block .be-related-link-container .be-label{display: inline-block;margin-right: 15px; font-style: normal; font-size: 16px; font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif; color: #1E1432 !important; font-weight: 700; line-height: 1.6em;}
.be-ix-link-block .be-related-link-container .be-list{list-style:none;margin:0;padding: 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item{margin:0;padding: 0 0 0px 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a{text-transform: none;padding-right: 15px; font-size: 16px; font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif; color: #1E1432; font-weight: 300; line-height: 1.6em;text-decoration:none;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a:hover{opacity: 1;color:#FA505F }
.be-ix-link-block .be-related-link-container .be-list{display:flex;width:auto}
.be-ix-link-block .be-related-link-container .be-list .be-list-item{display:flex;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item:last-child{margin-right:0}
@media (max-width: 767px) {
.be-ix-link-block .be-related-link-container{ display: block; text-align: left; width: 100%; padding-left: 30px;}
.be-ix-link-block .be-related-link-container .be-label {width: 100%;margin:0;padding-bottom:10px}
.be-ix-link-block .be-related-link-container .be-list {display: inline-block;width: 100%;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item {display: inline-block;margin:0;padding: 0 0 5px 0;}
.be-ix-link-block .be-related-link-container .be-list .be-list-item a{padding-right:0px}
}
Secure: Cut Shrink | Appriss Retail
Reduce shrink without slowing sales
Appriss® Secure uses AI-driven exception analytics to detect fraud, policy violations, and process errors—so you can act quickly to protect profits without disrupting operations.
Trusted by 60+ of the top 100 US retailers
Retailers don’t just choose Appriss Secure for loss prevention. They choose it because it helps them act faster, coach smarter, and uncover the operational issues traditional reporting tools miss.
Delivers 6x ROI by reducing possible losses.
Empowers teams with clear, actionable insights
How Appriss Secure delivers value
Spot fraud faster— act before losses grow.
Spot theft, abuse, and errors—fast. Secure Exception Based Reporting (EBR) uses AI to surface patterns so you can investigate sooner, strengthen compliance, and stop losses before they escalate.
Loss prevention that starts before the register.
Traditional inventory systems miss what matters. Secure Inventory uses AI to detect fraud, theft, and operational errors before products hit the sales floor—or disappear after a return.
Stop register losses before they escalate
Manual reviews miss patterns. We automate the process, giving you clarity before losses add up.
Train Smarter. Retain Longer. Reduce Loss.
Secure Coach turns data into action—identifying employees who need coaching, not discipline.
For every $1 stopped in fraud, our customers add $2 to their revenue.
That’s how Appriss Secure pays for itself and why our clients see a 10–12x ROI.
The intelligence powering smarter loss prevention
Stop profit drain fast
Identify and address loss caused by people, policies, processes, and products—before it impacts your bottom line.
Detect fraud and fix process gaps
Uses exception-based reporting to help uncover theft, policy violations, and operational inefficiencies