Transparency & Governance

  • All elements of a bank’s instance that might impact performance, availability or security are periodically tested with results automatically recorded. This includes third-party external penetration and intrusion detection tests to ensure the ongoing inviolability of Zafin’s subscriber infrastructure.
  • Inbound event streams are inspected for unique events as well as patterns that might indicate a security risk. All events and patterns are immediately escalated for forensic examination and audit evaluation.
  • Zafin’s operating environment and deployment models ensure clients have ready access to the information they require to support forensics, insider activity monitoring, data handling, process transparency, audit and governance.

User Monitoring

  • Zafin’s operating environment and deployment models ensure clients have ready access to the information they require to support forensics, insider activity monitoring, data handling, process transparency, audit and governance.
  • Zafin employees have no access whatsoever to bank systems or data unless similarly authorized on a limited-time basis.

Audit

  • All pertinent data relating to a bank’s SaaS instance, including trouble tickets, access assignments, VPN access and executed commands, are logged, retained and provisioned for forensic and audit purposes.

 

To ensure Zafin’s cloud-based SaaS has durability, consistency, security and traceability equal to or better than existing bank applications, Zafin has implemented the following:

Global reach plus local footprint

Global reach

Leveraging the global reach of our cloud service providers, we ensure each client’s instance is located as close as possible to the bank’s network, and all bank data remains within the proper jurisdiction.

Shared nothing environment

Shared nothing

Zafin provides each client with a dedicated environment. Clients do not share data or any aspect of the application. We use constant replication to geographically separate regions for disaster recovery purposes and integrated automated deployment pipelines with rolling upgrades to ensure no downtime.

Standardized specifications and APIs

Standardized specifications and APIs

Zafin offers a range of standardized integration patterns, including powerful, well-documented REST APIs and batch-based flat files.

Managed environments

Technology

Zafin manages its environments to ensure clients have a secure, high-performance stack. Incident management and resolution are supported by a rigorous monitoring program plus automated alerts. Environments are regularly tested to ensure resilience in disaster recovery scenarios.

Incident management

Incident management

We supplement our standard uptime SLAs with 24x7 dedicated support for critical and security incidents.

SOC 2 Type 2 compliance

Icon with clipboard and lock

To safeguard customer data, Zafin has implemented robust controls based on the SOC 2 trust principles of security and availability. Each year, we are SOC 2 Type 2 certified by an external auditor.

Database backups

Database backup

Periodically, we implement database backups and ability rollbacks to protect against data losses and smooth any potential business continuity issues that might arise due to data issues.

Environments

Environments

Multiple environments are provisioned on demand for testing and integration purposes.

Scalability

Scalability

All infrastructure is designed for horizontal scalability for immediate response to client demand.

[gravityforms id="8" ajax="true" title=”false” description=”false”]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_chrome gform_wrapper gravity-theme' id='gform_wrapper_8' ><div id='gf_8' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h2 class="gform_title">Testing Ajax | OptinMonster Support</h2> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_8' id='gform_8' action='/platform/security/#gf_8' novalidate> <div class='gform_body gform-body'><div id='gform_fields_8' class='gform_fields top_label form_sublabel_below description_below'><div id="field_8_1" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_8_1"><label class='gfield_label' for='input_8_1' >Name</label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_8_1' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_8_2" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_8_2"><label class='gfield_label' for='input_8_2' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_8_2' type='text' value='' class='large' aria-required="true" aria-invalid="false" /> </div></div><div id="field_8_3" class="gfield gfield--width-full field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_8_3"><label class='gfield_label' for='input_8_3' >CAPTCHA</label><div id='input_8_3' class='ginput_container ginput_recaptcha' data-sitekey='6Le73PIdAAAAAEvuofDYrvHWNqv2sBOM7XJuUpuQ' data-theme='light' data-tabindex='0' data-badge=''></div></div></div></div> <div class='gform_footer top_label'> <button class='om-trigger-conversion button gf_submit default' id='gform_submit_button_8'>Submit</button> <input type='hidden' name='gform_ajax' value='form_id=8&amp;title=1&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_8' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='8' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_8' value='WyJbXSIsIjFmZGFmMjZmOGYwZDRjNmZiZGM5N2NkN2UxNTMyYmNhIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_8' id='gform_target_page_number_8' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_8' id='gform_source_page_number_8' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_8' id='gform_ajax_frame_8' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 8, 'https://zafin.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_8').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_8');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_8').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_8').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_8').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_8').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_8').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_8').val();gformInitSpinner( 8, 'https://zafin.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [8, current_page]);window['gf_submitting_8'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_8').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_8').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [8]);window['gf_submitting_8'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_8').text());}, 50);}else{jQuery('#gform_8').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [8, current_page]);} );} ); </script>