<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Suade Labs]]></title><description><![CDATA[Technology to prevent the next financial crisis]]></description><link>https://suade.org/</link><image><url>https://suade.org/favicon.png</url><title>Suade Labs</title><link>https://suade.org/</link></image><generator>Ghost 5.79</generator><lastBuildDate>Fri, 26 Jun 2026 11:45:09 GMT</lastBuildDate><atom:link href="https://suade.org/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[How Suade Uses AI To Deliver Better Regulatory Reporting, Faster]]></title><description><![CDATA[<p>Banks and financial institutions are under constant pressure to deliver accurate, timely regulatory reports while rules, taxonomies and data expectations keep shifting. At Suade, we don&#x2019;t see AI as a replacement for regulatory expertise. We see it as a multiplier that helps our teams design, implement and validate</p>]]></description><link>https://suade.org/how-suade-uses-ai-to-deliver-regulatory-reporting-solutions-faster/</link><guid isPermaLink="false">6a3e488784bb68095b84e71b</guid><category><![CDATA[AI]]></category><category><![CDATA[Case Study]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Fri, 26 Jun 2026 09:38:38 GMT</pubDate><content:encoded><![CDATA[<p>Banks and financial institutions are under constant pressure to deliver accurate, timely regulatory reports while rules, taxonomies and data expectations keep shifting. At Suade, we don&#x2019;t see AI as a replacement for regulatory expertise. We see it as a multiplier that helps our teams design, implement and validate solutions faster for clients.</p><h2 id="our-approach-ai-that-supports-experts-not-replaces-them">Our approach: AI that supports experts, not replaces them</h2><p>Suade is built on deep experience in regulatory reporting, data models and supervisory expectations. That doesn&#x2019;t go away because we use AI; it&#x2019;s the starting point for everything we do.</p><p>We use AI where it clearly helps our teams and our clients:</p><ul><li>Automating repetitive, time&#x2011;consuming implementation and validation work.</li><li>Exploring complex rule logic and edge cases much faster than a purely manual approach.</li></ul><p>We also lean on AI to turn subject&#x2011;matter expert input into draft code and checks, instead of asking engineers to write every piece from scratch. That frees our specialists to focus on design decisions, edge cases and explaining outcomes to clients.</p><p>Crucially, AI is never left to make regulatory calls on its own. Every AI&#x2011;assisted output is reviewed, tested and refined by Suade specialists. AI helps with speed and coverage; people remain accountable for logic, methodology and sign&#x2011;off.</p><h2 id="example-1-solving-srb-2026-validation-challenges-with-ai">Example 1: Solving SRB 2026 validation challenges with AI</h2><p>For the 2026 Resolution Reporting cycle, the Single Resolution Board (SRB) published a new taxonomy with additional data quality checks. These new validations are there to improve the consistency and reliability of resolution data across Europe.</p><p>Within that taxonomy, our team hit a very specific problem. There was a group of 67 validations we couldn&#x2019;t easily run because a single country can map to multiple regions. That real&#x2011;world complexity made the logic hard to express in a simple, machine&#x2011;executable way.</p><p>We had a choice: accept that these checks would sit outside the usual automation, or find a better way to model them. We chose the latter and used AI as part of how we got there.</p><p>Here&#x2019;s what that looked like in practice:</p><ul><li>Our engineer, Murat, used AI tools to explore different ways of representing the country&#x2013;region relationships so they could be executed reliably in Suade.</li><li>AI helped enumerate combinations, surface edge cases and propose alternative structures for the checks.</li><li>The team then took those ideas, kept what made sense, and discarded what didn&#x2019;t. The final logic was written, reviewed and tested by Suade engineers before going anywhere near production.</li></ul><p>The end result is simple but powerful: all 67 validations are now implemented in the platform. That increases the coverage and robustness of our SRB 2026 Resolution Reporting checks and removes a chunk of potential manual work for clients.</p><p>This is a good example of how we use AI more broadly. We&#x2019;re not asking it to &#x201C;invent&#x201D; regulatory logic. We&#x2019;re using it to help our experts think through complex problems faster and then turning that thinking into production&#x2011;ready validations.</p><h2 id="example-2-making-fireman-transformations-faster-and-smoother">Example 2: Making Fireman transformations faster and smoother</h2><p>Fireman is Suade&#x2019;s ETL framework. It takes client data from multiple systems and transforms it into Fire schemas, our standardised regulatory data model. Getting from messy, inconsistent source data to clean, Fire&#x2011;compliant data is one of the hardest parts of any implementation.</p><p>Traditionally, this work followed a familiar pattern:</p><ul><li>SMEs define mappings between source systems and Fire schemas based on business understanding.</li><li>Engineers translate those mappings into transformation code.</li><li>The team iterates as they uncover edge cases and data quality issues.</li></ul><p>That approach works, but it can be slow and repetitive, especially when you are dealing with complex portfolios and multiple entities.</p><p>Recently, our Head of RegTech, Albie, introduced an AI&#x2011;enabled way of working that speeds up the Fireman process without losing control:</p><ul><li>SMEs still provide the mappings and rules. They remain the source of truth.</li><li>AI is used to convert those SME&#x2011;defined mappings into draft transformation code much more quickly than a person typing it all out.</li></ul><p>From there, Suade experts step in. They review the generated code, tighten it up, and make sure it&#x2019;s correct, efficient and aligned with regulatory and data quality expectations.</p><p>The impact is clear:</p><ul><li>Turnaround time from SME input to working transformations is shorter.</li><li>Engineers spend less time on boilerplate and more time on tricky edge cases and performance.</li><li>Clients see working, production&#x2011;ready data pipelines sooner, which means faster time&#x2011;to&#x2011;value for new reporting projects.</li></ul><p>Once again, AI is doing what it does best: handling scale and repetition, so humans can focus on judgement and design.</p><h2 id="governance-using-ai-safely-and-in-a-way-you-can-explain">Governance: using AI safely, and in a way you can explain</h2><p>Because we operate in a highly regulated space, we treat AI as part of our control framework, not a shortcut around it.</p><p>Internally, we&#x2019;re clear about a few things:</p><ul><li>Where AI can help (for example, scaffolding code, exploring patterns, suggesting test cases).</li><li>Where AI is not appropriate (regulatory interpretation, methodology decisions, final approval).</li><li>That anything AI touches still goes through version control, testing and peer review, just like manually written artefacts.</li></ul><p>We also document the final logic and approach so it is explainable to clients, auditors and supervisors. If AI helped along the way, that doesn&#x2019;t change your ability to understand and challenge the outcome.</p><p>For clients, that means you get the speed and flexibility of AI&#x2011;assisted development, without losing transparency or control.</p><h2 id="what-this-means-for-suade-clients">What this means for Suade clients</h2><p>Putting it all together, combining Suade&#x2019;s regulatory expertise with carefully governed AI enables us to:</p><ul><li>Implement complex new taxonomies and large validation sets more quickly, without sacrificing coverage.</li><li>Reduce the time it takes to onboard and transform new data sources into Fire schemas.</li><li>Let our specialists spend more time on analysis, design and assurance &#x2013; the parts of the process that actually move risk and reporting outcomes in the right direction.</li></ul><p>AI will not make regulatory complexity disappear. What it can do, when used in the right places, is help teams handle that complexity more efficiently and with fewer manual bottlenecks. That&#x2019;s how we use it at Suade today, and it&#x2019;s how we&#x2019;ll continue to build AI into our platform and delivery model over time.</p><p>If you&#x2019;d like to see any of this in action from AI&#x2011;assisted SRB validations to Fireman transformations. Our team would be happy to walk you through live examples and talk about what it could mean for your reporting stack.</p><div class="kg-card kg-product-card">
            <div class="kg-product-card-container">
                <img src="https://suade.org/content/images/2026/06/SuadeLogo-Icon_Blue@2x.png" width="384" height="384" class="kg-product-card-image" loading="lazy">
                <div class="kg-product-card-title-container">
                    <h4 class="kg-product-card-title"><span style="white-space: pre-wrap;">Book a demo with a RegTech specialist</span></h4>
                </div>
                

                <div class="kg-product-card-description"><p><span style="white-space: pre-wrap;">See how Suade helps financial institutions modernise regulatory reporting, improve control and manage change with transparent, data-driven technology.</span></p></div>
                
                    <a href="https://suade.org/book-a-demo/" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Book a demo</span></a>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[Beyond the Final Rules: Basel 3.1 Go‑Live Readiness for January 2027]]></title><description><![CDATA[Beyond the Final Rules: Basel 3.1 Go‑Live Readiness for January 2027]]></description><link>https://suade.org/beyond-the-final-rules-basel-3-1-go-live-readiness-for-january-2027/</link><guid isPermaLink="false">6a3d495084bb68095b84e70b</guid><category><![CDATA[basel III]]></category><category><![CDATA[Insights]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Thu, 25 Jun 2026 15:30:37 GMT</pubDate><media:content url="https://suade.org/content/images/2026/06/e41e5192c50d8f38cbd90e00c4da22c7be4e6fd5.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="1-introduction-from-delay-to-delivery">1. Introduction: From delay to delivery</h2><img src="https://suade.org/content/images/2026/06/e41e5192c50d8f38cbd90e00c4da22c7be4e6fd5.jpg" alt="Beyond the Final Rules: Basel 3.1 Go&#x2011;Live Readiness for January 2027"><p>The delay to the UK&#x2019;s Basel 3.1 implementation date has given banks something rare in regulatory change: time. Instead of a compressed rush to the original go&#x2011;live, firms have an extended runway to recalibrate programmes, strengthen systems and resolve the uncertainties that surrounded earlier proposals.</p><p>With the final Basel 3.1 rules now in force and the 1 January 2027 start date confirmed, that time is no longer about waiting to see what the framework will look like. It is about making sure the framework can actually run &#x2013; cleanly, repeatedly and explainably &#x2013; across credit, market and operational risk, reporting and risk management.</p><p>Five months on from the final rules, the key question has shifted from &#x201C;What do the Basel 3.1 rules say?&#x201D; to &#x201C;How ready are we to operate under them on day one?&#x201D;</p><hr><h2 id="2-what-has-changed-since-the-final-rules">2. What has changed since the final rules</h2><p>The near&#x2011;final Basel 3.1 package gave a strong indication of direction, but it also left gaps, drafting inconsistencies and areas where firms had to make assumptions. The final rules clarify much of this picture.</p><p>In particular, the final framework:</p><ul><li>Confirms the overall structure of the UK&#x2019;s Basel 3.1 implementation, including key elements across credit risk, market risk, operational risk and disclosure.</li><li>Introduces targeted refinements in areas such as market risk, where the details of the trading book framework and sensitivities&#x2011;based approaches matter for implementation.</li><li>Provides technical corrections, clearer definitions and updated templates so that reporting and disclosure requirements align coherently with the policy intent.</li></ul><p>For banks, this means most of the regulatory uncertainty is now resolved. The main variable is no longer the rules themselves, but the institution&#x2019;s ability to embed them into data, systems, models and governance in a way that stands up to supervisory scrutiny.</p><hr><h2 id="3-four-pillars-of-basel-31-go%E2%80%91live-readiness">3. Four pillars of Basel 3.1 go&#x2011;live readiness</h2><p>To move from policy interpretation to operational readiness, it can be helpful to structure activity around four pillars: full compliance with the rules, reporting framework readiness, impact analysis validation, and risk management alignment.</p><h2 id="31-full-compliance-with-the-rules">3.1 Full compliance with the rules</h2><p>This pillar is about making sure the core requirements across risk types are genuinely implemented rather than conceptually understood.</p><ul><li>Credit risk<br>Banks need to ensure the revised standardised and internal ratings&#x2011;based approaches are fully reflected in their systems and processes. That includes updated risk weights, exposure classifications and the treatment of specialised lending. It also means testing how these changes flow through to capital, pricing and portfolio decisions.</li><li>Market risk<br>The move to the Fundamental Review of the Trading Book (FRTB) brings new sensitivities&#x2011;based calculations and stricter boundaries between trading and banking books. Firms must not only implement the formulae, but also have robust booking practices, clear desk structures and governance over model eligibility and approvals.</li><li>Operational risk<br>Transitioning to the standardised measurement approach (SMA) requires accurate calculation based on relevant business indicators and integration into capital planning. This is not just a change in calculation; it affects how firms understand, aggregate and manage operational losses and exposures.</li></ul><p>Across all three risk types, documentation, testing and internal challenge are critical. &#x201C;Implemented&#x201D; should mean ready to withstand internal audit and supervisory review, not just coded in a single system.</p><h2 id="32-reporting-framework-readiness">3.2 Reporting framework readiness</h2><p>Basel 3.1 is as much a reporting reform as a risk reform. New templates, data points and definitions will stretch existing infrastructure.</p><p>Key questions include:</p><ul><li>Are systems and data models updated to support the new reporting taxonomy and COREP templates required under Basel 3.1?</li><li>Do revised Pillar 3 disclosures reflect updated definitions, assumptions and calculation logic, with traceability back to underlying data?</li><li>Have firms run end&#x2011;to&#x2011;end dry runs of the new reporting packs, including data extraction, transformation, validation, sign&#x2011;off and submission?</li></ul><p>Dry runs are particularly important. They help reveal data gaps, inconsistencies between risk and finance views, and process bottlenecks that may not be obvious from design documents alone.</p><h2 id="33-impact-analysis-validation">3.3 Impact analysis validation</h2><p>Most banks have performed some form of quantitative impact analysis during earlier phases of Basel 3.1 implementation. The final rules make it necessary to revisit those assessments.</p><p>Effective impact analysis at this stage should:</p><ul><li>Use the final rule set, current portfolios and up&#x2011;to&#x2011;date market data, rather than relying on older assumptions or draft proposals.</li><li>Consider both point&#x2011;in&#x2011;time and forward&#x2011;looking impacts, especially where business models or balance sheets have evolved since the original analysis.</li><li>Prepare and review the templates used for supervisory data collection, ensuring consistency with internal views and external submissions.</li><li>Provide clear, board&#x2011;level narratives about capital implications, key drivers of change and the range of plausible outcomes under different scenarios.</li></ul><p>The goal is to avoid surprises post go&#x2011;live and to ensure that management understands not just the numbers, but the drivers behind them.</p><h2 id="34-risk-management-changes-alignment">3.4 Risk management changes alignment</h2><p>Basel 3.1 is not just a technical recalibration of capital requirements; it has implications for how risk appetite, limits and risk processes are set and monitored.</p><p>Areas to consider include:</p><ul><li>Updating risk appetite statements and internal limits to reflect changes in capital requirements and risk-weighted assets.</li><li>Aligning risk policies and procedures with new definitions, thresholds and methodologies, so that front&#x2011;line decisions are consistent with the regulatory framework.</li><li>Revising ICAAP processes, risk and capital models, and stress testing to incorporate Basel 3.1 assumptions and outputs.</li><li>Ensuring committees and governance forums have the information they need to oversee both the transition and the steady&#x2011;state regime.</li></ul><p>Where multiple jurisdictions are involved, cross&#x2011;border coordination is also important to align local implementations with group&#x2011;wide policies.</p><hr><h2 id="4-data-governance-and-explainability-the-binding-constraints">4. Data, governance and explainability: the binding constraints</h2><p>Beneath the four pillars lies a common set of challenges: data, governance and explainability.</p><p>Basel 3.1 introduces new data requirements across credit and market risk, including more granular risk sensitivities and enhanced treatment of unrated counterparties. It also extends disclosure expectations under Pillar 3. This places a premium on:</p><ul><li>Data completeness and accuracy across products, counterparties and risk factors.</li><li>Clear data lineage from source systems through transformation layers to final reports.</li><li>Defined ownership, controls and remediation processes for critical data elements.</li></ul><p>Strong governance is needed to ensure that methodology changes, model updates and implementation decisions are well documented and subject to appropriate challenge. Training for finance, risk, IT and front&#x2011;line teams helps embed the new framework into day&#x2011;to&#x2011;day activities rather than treating it as a one&#x2011;off project.</p><p>Explainability is where these elements come together. Boards, senior management and supervisors will expect firms to not only produce numbers under Basel 3.1, but also to explain changes over time, reconcile to previous regimes and articulate the link between regulatory outcomes and business decisions.</p><hr><h2 id="5-making-the-most-of-the-remaining-time">5. Making the most of the remaining time</h2><p>With the final rules established and the implementation date fixed, the remaining months are an opportunity to turn Basel 3.1 into a stable, repeatable process.</p><p>Practical steps for this phase include:</p><ul><li>Running a structured readiness assessment across the four pillars, identifying gaps between current and target state.</li><li>Establishing a timetable for dry runs and parallel runs, including clear entry and exit criteria.</li><li>Aligning technology and data initiatives with Basel 3.1 needs, avoiding short&#x2011;term workarounds that create long&#x2011;term complexity.</li><li>Enhancing documentation, training and governance to support sustainable adoption.</li><li>Engaging boards and senior management with concise, decision&#x2011;focused updates on progress and residual risks.</li></ul><p>By treating the extended timeline as a chance to build durable capabilities rather than deferring effort, banks can enter 2027 with greater confidence in their capital framework and regulatory reporting &#x2013; and be better positioned for whatever comes next.</p><div class="kg-card kg-product-card">
            <div class="kg-product-card-container">
                <img src="https://suade.org/content/images/2026/06/SuadeLogo-Icon_Blue@2x.png" width="384" height="384" class="kg-product-card-image" loading="lazy" alt="Beyond the Final Rules: Basel 3.1 Go&#x2011;Live Readiness for January 2027">
                <div class="kg-product-card-title-container">
                    <h4 class="kg-product-card-title"><span style="white-space: pre-wrap;">Book a demo with a RegTech specialist</span></h4>
                </div>
                

                <div class="kg-product-card-description"><p><span style="white-space: pre-wrap;">See how Suade helps financial institutions modernise regulatory reporting, improve control and manage change with transparent, data-driven technology.</span></p></div>
                
                    <a href="https://suade.org/book-a-demo/" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Book a demo</span></a>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[Basel 3.1: Assessing readiness ahead of go-live]]></title><description><![CDATA[<p>With fewer than 200 days remaining until Basel 3.1 implementation, many firms are progressing across multiple workstreams. Programmes are underway, models are being updated, and reporting frameworks are evolving.</p><p>However, a key question remains: how should readiness be assessed?</p><p>While activity levels are high, defining and evidencing readiness is</p>]]></description><link>https://suade.org/basel-3-1-assessing-readiness-ahead-of-go-live/</link><guid isPermaLink="false">6a395fdc84bb68095b84e6b3</guid><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Tue, 23 Jun 2026 11:41:16 GMT</pubDate><content:encoded><![CDATA[<p>With fewer than 200 days remaining until Basel 3.1 implementation, many firms are progressing across multiple workstreams. Programmes are underway, models are being updated, and reporting frameworks are evolving.</p><p>However, a key question remains: how should readiness be assessed?</p><p>While activity levels are high, defining and evidencing readiness is less straightforward.</p><hr><h2 id="defining-readiness-in-practice">Defining readiness in practice</h2><p>Basel 3.1 introduces changes across several areas, including credit risk, market risk, and operational risk. Each of these brings specific data requirements, calculation methodologies, and reporting expectations.</p><p>In practice, implementation is often distributed across teams and systems. This can make it difficult to form a consolidated view of progress.</p><p>Common challenges include:</p><ul><li>Data that is available but not fully standardised or governed</li><li>Calculations that are implemented but not consistently reconciled</li><li>Reporting processes that are functional but not fully automated or auditable</li></ul><p>As a result, readiness is not always easy to measure in a consistent or objective way.</p><hr><h2 id="from-implementation-to-operational-readiness">From implementation to operational readiness</h2><p>There is an important distinction between building capabilities and operating them.</p><p>Firms may be able to produce Basel 3.1 outputs, but operational readiness requires demonstrating that these outputs are:</p><ul><li>Based on complete and controlled data</li><li>Consistent across reporting cycles</li><li>Reconciled across different regulatory submissions</li><li>Supported by clear documentation and audit trails</li></ul><p>This shift&#x2014;from implementation to repeatable operation&#x2014;is often where complexity becomes more apparent.</p><hr><h2 id="key-components-of-readiness">Key components of readiness</h2><p>A structured approach to readiness typically includes several elements:</p><ul><li>Data: Availability, quality, and governance across all relevant risk types</li><li>Calculations: Accuracy, consistency, and transparency of methodologies</li><li>Reporting: Ability to produce outputs in a timely, repeatable manner</li><li>Reconciliation: Alignment across different reports and frameworks</li><li>Auditability: End-to-end traceability from source data to final submission</li></ul><p>Together, these components provide a more complete view of readiness.</p><hr><h2 id="looking-beyond-go-live">Looking beyond go-live</h2><p>Basel 3.1 should not be viewed solely as a one-time implementation milestone. Ongoing reporting requirements will place continued emphasis on consistency, scalability, and control.</p><p>Processes that rely heavily on manual intervention or fragmented data are likely to face increasing pressure over time, particularly as regulatory scrutiny evolves.</p><hr><h2 id="a-data-and-reporting-perspective">A data and reporting perspective</h2><p>From a practical standpoint, many of the challenges associated with Basel 3.1 relate to data and reporting infrastructure.</p><p>Ensuring that data is structured, calculations are transparent, and outputs are reproducible can support a more robust approach to both initial implementation and ongoing compliance.</p><hr><p>As firms approach go-live, the focus is increasingly shifting from delivery timelines to demonstrable operational readiness.</p><div class="kg-card kg-product-card">
            <div class="kg-product-card-container">
                <img src="https://suade.org/content/images/2026/06/SuadeLogo-Icon_Blue@2x.png" width="384" height="384" class="kg-product-card-image" loading="lazy">
                <div class="kg-product-card-title-container">
                    <h4 class="kg-product-card-title"><span style="white-space: pre-wrap;">Book a demo with a RegTech specialist</span></h4>
                </div>
                

                <div class="kg-product-card-description"><p><span style="white-space: pre-wrap;">Suade helps financial institutions automate regulatory reporting using transparent, data-driven technology that improves control, accuracy and efficiency.</span></p></div>
                
                    <a href="https://suade.org/book-a-demo/" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Book a demo</span></a>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[SDDT under Basel 3.1: considerations for implementation and reporting]]></title><description><![CDATA[<p>As Basel 3.1 approaches implementation, firms are evaluating which approaches are most appropriate for their size, complexity, and risk profile. For some institutions, the Simplified Standardised Approach (SDDT) may be available as part of the regulatory framework.</p><p>SDDT is designed to reduce complexity in certain areas. However, its adoption</p>]]></description><link>https://suade.org/untitled-18/</link><guid isPermaLink="false">6a396f6b84bb68095b84e6bd</guid><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Tue, 23 Jun 2026 11:40:30 GMT</pubDate><content:encoded><![CDATA[<p>As Basel 3.1 approaches implementation, firms are evaluating which approaches are most appropriate for their size, complexity, and risk profile. For some institutions, the Simplified Standardised Approach (SDDT) may be available as part of the regulatory framework.</p><p>SDDT is designed to reduce complexity in certain areas. However, its adoption introduces a distinct set of considerations, particularly in relation to eligibility, data management, and reporting.</p><h2 id="understanding-the-sddt-framework">Understanding the SDDT framework</h2><p>The Simplified Standardised Approach is intended for firms that meet specific criteria, which may vary depending on jurisdiction and regulatory interpretation.</p><p>While SDDT reduces the complexity of certain calculations, it does not remove the need for robust governance or regulatory oversight. Firms are still required to apply the framework correctly, maintain appropriate controls, and demonstrate compliance with supervisory expectations.</p><p>As such, SDDT should be understood as a modification of requirements rather than a removal of them.</p><h2 id="eligibility-and-ongoing-assessment">Eligibility and ongoing assessment</h2><p>A central aspect of SDDT is determining whether a firm qualifies to use the approach.</p><p>This involves:</p><ul><li>Interpreting regulatory eligibility criteria</li><li>Assessing balance sheet composition and risk exposure</li><li>Documenting the basis for classification</li></ul><p>Importantly, eligibility is not static. Firms may need to reassess their status periodically, particularly if their business model or risk profile changes.</p><p>This introduces an additional layer of governance, as firms must be able to demonstrate both initial qualification and ongoing compliance with eligibility requirements.</p><h2 id="data-considerations">Data considerations</h2><p>Although SDDT simplifies certain elements of the Basel framework, it still relies on accurate, consistent, and well-governed data.</p><p>Firms should ensure:</p><ul><li>Clear and consistent data definitions across systems</li><li>Reliable sourcing of required data points</li><li>Structured mapping between internal data and regulatory requirements</li></ul><p>Weaknesses in data quality or governance can lead to inaccuracies in reporting and increase the risk of regulatory challenge.</p><h2 id="reporting-requirements">Reporting requirements</h2><p>SDDT does not eliminate regulatory reporting obligations. Firms are still required to produce outputs that meet supervisory standards for accuracy, consistency, and transparency.</p><p>This includes:</p><ul><li>Delivering reports within required timelines</li><li>Ensuring consistency across submissions</li><li>Maintaining documentation to support reported figures</li></ul><p>The ability to explain how results have been derived remains an important component of regulatory engagement.</p><h2 id="common-challenges-in-practice">Common challenges in practice</h2><p>In implementing SDDT, firms may encounter several practical challenges:</p><ul><li>Interpreting eligibility criteria consistently across the organisation</li><li>Underestimating the data and reporting requirements associated with the framework</li><li>Relying on manual processes that are difficult to scale or audit</li><li>Limited documentation to support decisions and outputs</li></ul><p>Addressing these challenges requires a structured and well-governed approach.</p><h2 id="supporting-a-robust-implementation">Supporting a robust implementation</h2><p>A sustainable approach to SDDT typically includes:</p><ul><li>A clearly defined and documented eligibility assessment process</li><li>Strong data governance and standardisation</li><li>Transparent and consistent calculation methodologies</li><li>Automated and repeatable reporting workflows</li><li>End-to-end traceability for audit and regulatory review</li></ul><p>These elements support both initial implementation and ongoing compliance.</p><h2 id="integration-with-broader-frameworks">Integration with broader frameworks</h2><p>SDDT should not be considered in isolation. It forms part of the wider Basel 3.1 landscape and must align with a firm&#x2019;s overall regulatory reporting architecture.</p><p>Firms should consider how SDDT interacts with other frameworks, reporting requirements, and internal systems. Approaches that prioritise consistency and scalability are more likely to support future regulatory change.</p><h2 id="a-practical-perspective">A practical perspective</h2><p>While SDDT reduces complexity in specific areas, it introduces its own operational considerations. In particular, eligibility, data integrity, and reporting consistency remain key areas of focus.</p><p>As with broader Basel 3.1 implementation, a structured approach that emphasises data quality, process automation, and auditability can support a more effective and sustainable outcome.</p><div class="kg-card kg-product-card">
            <div class="kg-product-card-container">
                <img src="https://suade.org/content/images/2026/06/SuadeLogo-Icon_Blue@2x.png" width="384" height="384" class="kg-product-card-image" loading="lazy">
                <div class="kg-product-card-title-container">
                    <h4 class="kg-product-card-title"><span style="white-space: pre-wrap;">Book a demo with a RegTech specialist</span></h4>
                </div>
                

                <div class="kg-product-card-description"><p><span style="white-space: pre-wrap;">See how Suade helps financial institutions modernise regulatory reporting, improve control and manage change with transparent, data-driven technology.</span></p></div>
                
                    <a href="https://suade.org/book-a-demo/" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Book a demo</span></a>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[FORM TESTING PAGE]]></title><description><![CDATA[How are IReF, BIRD and AI‑ready data standards going to change the way banks think about regulatory reporting – not in theory, but in day‑to‑day delivery?]]></description><link>https://suade.org/form_error_testing_page/</link><guid isPermaLink="false">6a2fb9c684bb68095b84e646</guid><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Mon, 15 Jun 2026 08:38:36 GMT</pubDate><media:content url="https://suade.org/content/images/2026/06/539714fb9f0967f62839056e1bb1e643344dda64.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://suade.org/content/images/2026/06/539714fb9f0967f62839056e1bb1e643344dda64.jpg" alt="FORM TESTING PAGE"><p><strong>Date</strong>: Tuesday, 23 June, 2026<br><strong>Duration</strong>: 45 minutes<br><strong>Time</strong>: 12:00 to 12:45 pm BST | 13.00 to 13.45 pm CET<br><strong>Format</strong>: Live webinar</p><p>Register below. </p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value>  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="test_form"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="AU">Australia</option>
<option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }


          // 2) submit to WS Form REST endpoint



        
          const sleep = ms => new Promise(r => setTimeout(r, ms));
        async function fetchRetry(url, opts = {}, tries = 3) {
          try {
            const res = await fetch(url, { ...opts, signal: AbortSignal.timeout(12000) });
            if (!res.ok) throw Object.assign(new Error(`HTTP ${res.status}`), { res });
            return res;
          } catch (e) {
            if (tries <= 1) throw e;
            await sleep(400 * (4 - tries));
            return fetchRetry(url, opts, tries - 1);
          }
        }
     
        async function submitRemote(fd) {
    
          const res = await fetchRetry(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {
            const submissionId = crypto.randomUUID();
          console.log('submission:', submissionId, 'submit:start');
            const nonceRes = await fetchRetry(
                'https://harrya10.sg-host.com/wp-json/custom/v1/nonce',
                { credentials: 'include' }
              );
             console.log('submission:', submissionId, 'nonce request', nonceRes.status);

            const nonceJson = await nonceRes.json();
             console.log('submission:', submissionId, 'nonce received', nonceJson);
          
            const { nonce } = nonceJson;
            
            const fd = buildFormData(nonce);
            fd.append('client_submission_id', submissionId);
            const res = await submitRemote(fd);

            console.log('submission:', submissionId, 'submit:post-ok',  res.status, res);
            
            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
                console.log('submission:', submissionId, 'submission ok');
            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('submission:', submissionId, 'WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = `Network error. Please try again in a minute. Specific error: ${err.message}`;
           console.error(`submit:failed submission:${submissionId} name:${err.name} message:${err.message}`);;
          } finally {
            btn.disabled = false;
            

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
<p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The ECB’s latest IReF milestones: why granular, AI‑ready data just moved up your agenda]]></title><description><![CDATA[The ECB’s latest IReF milestones: why granular, AI‑ready data just moved up your agenda]]></description><link>https://suade.org/ecb-announces-roll-out-iref/</link><guid isPermaLink="false">6a31344584bb68095b84e66c</guid><category><![CDATA[🇪🇺]]></category><category><![CDATA[IReF]]></category><category><![CDATA[News]]></category><category><![CDATA[Insights]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Mon, 08 Jun 2026 11:41:00 GMT</pubDate><media:content url="https://suade.org/content/images/2026/06/53a5b566b9d0e071731ae8b95bf2b387acd32462.jpg" medium="image"/><content:encoded><![CDATA[<h2 id></h2><img src="https://suade.org/content/images/2026/06/53a5b566b9d0e071731ae8b95bf2b387acd32462.jpg" alt="The ECB&#x2019;s latest IReF milestones: why granular, AI&#x2011;ready data just moved up your agenda"><p>The European Central Bank (ECB) has published the main implementation milestones for the Integrated Reporting Framework (IReF), giving banks the clearest view yet of how integrated statistical reporting will roll out across the euro area. It marks a significant moment in a journey that has brought together central banks, commercial banks, reporting agents and industry bodies under the Joint Bank Reporting Committee (JBRC) to rethink how regulatory data flows in Europe.</p><p>For reporting and data leaders, this isn&#x2019;t just another date in the diary. It is a signal that the shift from template&#x2011;driven reporting to granular, standardised, AI&#x2011;ready data is no longer theoretical &#x2013; and that architecture and operating&#x2011;model decisions made over the next few years will define their IReF experience.</p><h2 id="what-the-ecb-announced">What the ECB announced</h2><p>In its June 2026 communication, the ECB set out a three&#x2011;step roadmap for IReF implementation.</p><p>First, a public consultation on the draft IReF Regulation is planned for the second half of 2027, which will help shape the final legislative proposal and clarify scope and requirements.</p><p>Second, a one&#x2011;year pilot phase starting in the second quarter of 2030 will invite reporting agents to test their ability to meet the new data requirements and to identify and resolve structural issues in data, processes and systems.</p><p>Third, the first official IReF reporting is scheduled for the second quarter of 2031, with an initial one&#x2011;year period in which current statistical reporting continues in parallel to manage transition risk.</p><p>These milestones build on earlier announcements, including the ECB&#x2019;s 2024 communication that positioned IReF as the backbone for harmonising banks&#x2019; statistical reporting and as a potential first step towards more integrated statistical and prudential requirements over time. Taken together, they turn IReF from a concept into a concrete, multi&#x2011;year change programme with clear waypoints for banks and authorities.</p><h2 id="what-it-means-for-banks">What it means for banks</h2><p>IReF&#x2019;s stated objective is to standardise and harmonise existing statistical frameworks across countries and reporting domains, reducing the reporting burden on euro area banks while improving the quality and reusability of data. In practice, this means that a single integrated set of granular data is intended to replace or consolidate multiple existing ECB datasets, including balance sheet items (BSI), monetary interest rates (MIR), securities holdings statistics (SHS&#x2011;S) and AnaCredit, with a view to further integration into balance of payments and related statistics over time.</p><p>For banks, the implications go well beyond adding a new report. A granular, integrated framework requires changes to data sourcing, modelling, lineage and governance, and asks institutions to move away from template&#x2011;specific solutions towards reusable, standardised data layers that can support multiple reporting and analytical demands. The pilot and parallel&#x2011;run phases will test not just whether firms can populate IReF structures, but whether their architectures and close processes can produce consistent, reconciled data under tighter expectations.</p><h2 id="why-the-timeline-is-shorter-than-it-looks">Why the timeline is shorter than it looks</h2><p>On paper, a first official reporting date in 2031 sounds distant, but the combination of a consultation in 2027 and a pilot in 2030 effectively pulls critical decisions forwards. Banks will need to make progress on data foundations, ownership and operating models before every technical detail is finalised, particularly if they want to avoid last&#x2011;minute remediation when pilot findings expose structural gaps.</p><p>Earlier communications from the ECB and market commentary have already highlighted how IReF timelines have evolved, with previous plans for earlier start dates being refined to reflect investigation&#x2011;phase findings and implementation realities. The latest roadmap offers more time on the surface, but it also underlines that the preparatory phase &#x2013; including detailed implementation planning and consultation &#x2013; is where most of the heavy lifting on design and architecture will happen.</p><h2 id="from-template%E2%80%91based-reports-to-granular-ai%E2%80%91ready-data">From template&#x2011;based reports to granular, AI&#x2011;ready data</h2><p>The direction of travel is clear: rather than submitting multiple aggregated templates, banks will be expected to deliver more detailed, standardised information at transaction or exposure level to supervisors. That approach not only supports integrated statistical reporting, but also creates a stronger foundation for prudential, resolution and internal risk reporting &#x2013; and, increasingly, for AI and advanced analytics use cases that depend on high&#x2011;quality, well&#x2011;governed granular data.</p><p>For many institutions, this will mean rethinking long&#x2011;standing assumptions about where regulatory data sits, how it is transformed, and who owns the standards and models that underpin it. The &#x201C;define once, report many times&#x201D; principle that has been associated with IReF and other standardisation efforts becomes much harder to realise if data remains fragmented across silos and tailored to individual templates.</p><h2 id="the-strategic-questions-banks-should-be-asking-now">The strategic questions banks should be asking now</h2><p>With the latest milestones in place, the most important questions for banks shift from &#x201C;if&#x201D; to &#x201C;how&#x201D; and &#x201C;when&#x201D;. Heads of Regulatory Reporting, Heads of Data and change leaders can use the ECB&#x2019;s roadmap as a trigger to revisit several key areas:</p><ul><li><strong>Data model strategy:</strong>&#xA0;How close is the current data model to an integrated, granular design that could support IReF and other regulatory or internal demands without repeated transformation layers?</li><li><strong>Architecture and sourcing:</strong>&#xA0;Are reporting architectures still organised around templates and point&#x2011;to&#x2011;point feeds, or is there a clear pathway towards centralised, reusable data stores with consistent controls and lineage?</li><li><strong>Governance and ownership:</strong>&#xA0;Who owns IReF&#x2011;relevant data standards and the associated dictionary, and how well are these aligned with broader enterprise data initiatives and AI strategies?</li></ul><p>Addressing these questions early allows banks to treat the 2030 pilot as an operational rehearsal for steady&#x2011;state reporting rather than a scramble to meet minimum requirements. It also creates space to align IReF changes with other regulatory and digital programmes, reducing duplication and making better use of investment in modern data and RegTech solutions.</p><div class="kg-card kg-product-card">
            <div class="kg-product-card-container">
                <img src="https://suade.org/content/images/2026/06/Ethan-draft---56-.png" width="1600" height="900" class="kg-product-card-image" loading="lazy" alt="The ECB&#x2019;s latest IReF milestones: why granular, AI&#x2011;ready data just moved up your agenda">
                <div class="kg-product-card-title-container">
                    <h4 class="kg-product-card-title"><b><strong style="white-space: pre-wrap;">Get ready for Europe&apos;s data reporting shift</strong></b></h4>
                </div>
                

                <div class="kg-product-card-description"><p><span style="white-space: pre-wrap;">In this webinar, Massimo Casa (Banca d&apos;Italia, co-chair of the BIRD Steering Group) joins Stefan R&#xF6;th (PwC) to examine the latest IReF developments and their implications for regulatory reporting.</span></p></div>
                
                    <a href="https://suade.org/how-iref-bird-and-ai-ready-data-standards-will-reshape-regulatory-reporting/" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Register now</span></a>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[How IReF, BIRD and AI-ready data standards will reshape regulatory reporting]]></title><description><![CDATA[How are IReF, BIRD and AI‑ready data standards going to change the way banks think about regulatory reporting – not in theory, but in day‑to‑day delivery?]]></description><link>https://suade.org/how-iref-bird-and-ai-ready-data-standards-will-reshape-regulatory-reporting/</link><guid isPermaLink="false">6a217e5584bb68095b84e61b</guid><category><![CDATA[Events]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Thu, 04 Jun 2026 15:31:14 GMT</pubDate><media:content url="https://suade.org/content/images/2026/06/539714fb9f0967f62839056e1bb1e643344dda64.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://suade.org/content/images/2026/06/539714fb9f0967f62839056e1bb1e643344dda64.jpg" alt="How IReF, BIRD and AI-ready data standards will reshape regulatory reporting"><p><strong>Date</strong>: Tuesday, 23 June, 2026<br><strong>Duration</strong>: 45 minutes<br><strong>Format</strong>: Live webinar</p><p>How are IReF, BIRD and AI&#x2011;ready data standards going to change the way banks think about regulatory reporting &#x2013; not in theory, but in day&#x2011;to&#x2011;day delivery?</p><p>In this session, senior reporting and data leaders from PwC, Banca d&apos;Italia and Suade explored the shift from template&#x2011;based reports to granular, standardised data, and what that means for architectures, close processes and controls. We discussed how initiatives like IReF and BIRD can reduce duplication and reporting burden, what &#x201C;AI&#x2011;ready&#x201D; really looks like for regulatory data, and the practical priorities banks should be tackling over the next few years.</p><p>Designed for Heads of Regulatory Reporting, Heads of Data and change leaders, this was a practitioner&#x2011;led conversation about building a reporting stack that can cope with rising supervisory expectations and the coming AI wave &#x2013; without adding yet more complexity.</p><p>You can access the full webinar below.</p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">
<h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Watch the on-demand webinar now</h2>

    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">
          Thank you for registering your interest. <a href="https://youtu.be/pMLeg5SPax4?ref=suade.org">Click here to watch the on-demand webinar</a>.<p></p>
        </div>
    </div>

    <form id="regForm" novalidate>

          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000lILFsYAO">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value="88427732024"> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BA">Bosnia and Herzegovina</option>
<option value="BW">Botswana</option>
<option value="BR">Brazil</option>
<option value="BN">Brunei</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="CV">Cabo Verde</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
<option value="CG">Congo</option>
<option value="CD">Congo, Democratic Republic of the</option>
<option value="CR">Costa Rica</option>
<option value="CI">C&#xF4;te d&#x2019;Ivoire</option>
<option value="HR">Croatia</option>
<option value="CU">Cuba</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czechia</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="SZ">Eswatini</option>
<option value="ET">Ethiopia</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GD">Grenada</option>
<option value="GT">Guatemala</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KR">Korea</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Laos</option>
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia (Federated States of)</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="ME">Montenegro</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="MK">North Macedonia</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="QA">Qatar</option>
<option value="RO">Romania</option>
<option value="RU">Russian Federation</option>
<option value="RW">Rwanda</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="RS">Serbia</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="SS">South Sudan</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="SY">Syria</option>
<option value="TW">Taiwan</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey (T&#xFC;rkiye)</option>
<option value="TM">Turkmenistan</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="UA">Ukraine</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Viet Nam</option>
<option value="YE">Yemen</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }


          // 2) submit to WS Form REST endpoint

          const sleep = ms => new Promise(r => setTimeout(r, ms));

        async function fetchRetry(url, opts = {}, tries = 3) {
          try {
            const res = await fetch(url, { ...opts, signal: AbortSignal.timeout(12000) });
            if (!res.ok) throw Object.assign(new Error(`HTTP ${res.status}`), { res });
            return res;
          } catch (e) {
            if (tries <= 1) throw e;
            await sleep(400 * (4 - tries));
            return fetchRetry(url, opts, tries - 1);
          }
        }
     
        async function submitRemote(fd) {
          console.log("form submit");
          const res = await fetchRetry(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetchRetry('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
            console.log(res);
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = `Network error. Please try again in a minute. Specific error: ${err.message}`;
            console.error(err);
          } finally {
            btn.disabled = false;
            

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
<p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Suade Regtech Forum 2026]]></title><description><![CDATA[Suade's London RegTech Forum returns on the 6th of October 2026]]></description><link>https://suade.org/suade-regtech-forum-2026/</link><guid isPermaLink="false">6a1ed3c084bb68095b84e607</guid><dc:creator><![CDATA[suade]]></dc:creator><pubDate>Tue, 02 Jun 2026 13:18:58 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1480449649358-ee14c6ee0b17?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDR8fGxvbmRvbiUyMGZpbmFuY2V8ZW58MHx8fHwxNzQyOTg5MTQ0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[
<!--kg-card-begin: html-->
<style>
    .regtech-top-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .regtech-top-content .cards {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .regtech-top-content .card:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .regtech-intro-feature {
        background: #ffffff;
        padding: 20px 20px 70px;
        margin: 0;
    }

    .regtech-intro-inner {
        max-width: 1130px;
        margin: 0 auto;
    }

    .regtech-intro-label {
        color: var(--blue-suade);
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin: 0 0 12px 0;
    }

    .regtech-intro-inner h3 {
        font-size: 34px;
        line-height: 1.2;
        color: #222222;
        margin: 0 0 24px 0;
    }

    .regtech-intro-card {
        background: #f7f8fb;
        border-left: 6px solid var(--blue-suade);
        padding: 34px 40px;
    }

    .regtech-intro-card p {
        font-size: 19px;
        line-height: 1.5;
        color: #333333;
        margin: 0 0 18px 0;
    }

    .regtech-intro-card p:last-child {
        margin-bottom: 0;
    }

    .previous-attendees-section {
        background: #ffffff;
        padding: 70px 20px !important;
    }

    .previous-attendees-section .card-title {
        color: #222222 !important;
        margin-bottom: 35px;
    }

    .previous-attendees-section img {
        width: 100%;
        display: block;
        margin: 0 auto;
    }

    .hide-section-for-now {
        display: none !important;
    }

    @media screen and (max-width: 768px) {
        .regtech-intro-feature {
            padding: 20px 20px 50px;
        }

        .regtech-intro-inner h3 {
            font-size: 26px;
        }

        .regtech-intro-card {
            padding: 26px 24px;
        }

        .regtech-intro-card p {
            font-size: 17px;
        }

        .previous-attendees-section {
            padding: 50px 20px !important;
        }
    }

    .regtech-modal {
        display: none;
        position: fixed;
        z-index: 99999;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .regtech-modal.is-open {
        display: block;
    }

    .regtech-modal-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.62);
    }

    .regtech-modal-box {
        position: relative;
        z-index: 1;
        width: calc(100% - 32px);
        max-width: 760px;
        max-height: 90vh;
        overflow-y: auto;
        margin: 5vh auto;
        background: #ffffff;
        border-radius: 12px;
        padding: 24px;
        box-sizing: border-box;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    }

    .regtech-modal-close {
        position: sticky;
        top: 0;
        float: right;
        z-index: 2;
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        background: #111827;
        color: #ffffff;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
        margin: -8px -8px 8px 8px;
    }

    body.regtech-modal-open {
        overflow: hidden;
    }

    @media screen and (max-width: 600px) {
        .regtech-modal-box {
            width: calc(100% - 20px);
            margin: 3vh auto;
            padding: 16px;
            max-height: 94vh;
        }
    }



    /* Mobile layout fixes for RegTech Forum 2026 pop-up form version */
    @media screen and (max-width: 768px) {
        html,
        body {
            overflow-x: hidden !important;
            width: 100% !important;
        }

        .page-header {
            padding-left: 18px !important;
            padding-right: 18px !important;
            box-sizing: border-box !important;
        }

        .page-content,
        .page-panel,
        .cards,
        .card,
        .card-content,
        .card-paragraph {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        .page-panel,
        .page-content {
            padding-left: 18px !important;
            padding-right: 18px !important;
        }

        .card-content {
            display: block !important;
        }

        .card-paragraph.column {
            width: 100% !important;
            max-width: 100% !important;
            display: block !important;
            margin-bottom: 28px !important;
        }

        .card-paragraph.column:last-child {
            margin-bottom: 0 !important;
        }

        video {
            width: 100% !important;
            height: auto !important;
            display: block !important;
            margin-bottom: 24px !important;
        }

        .card-item-metrics-container {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 18px !important;
            width: 100% !important;
            max-width: 100% !important;
        }

        .card-item-metric {
            width: 100% !important;
            max-width: 100% !important;
            min-height: auto !important;
            padding: 18px !important;
            box-sizing: border-box !important;
            text-align: center !important;
        }

        #regtech-forum-speakers,
        #regtech-forum-speakers .card-content {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-forum-speakers .box-list {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 24px !important;
            padding: 0 !important;
            margin: 24px 0 0 0 !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-forum-speakers .box-list li {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            padding: 24px 18px !important;
        }

        #regtech-forum-speakers .headshot {
            width: 130px !important;
            height: 130px !important;
            object-fit: cover !important;
        }

        #regtech-forum-speakers .logo {
            max-width: 140px !important;
            height: auto !important;
        }

        .agenda-table {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: auto !important;
            white-space: normal !important;
            box-sizing: border-box !important;
        }

        .agenda-table th,
        .agenda-table td {
            padding: 14px 10px !important;
            font-size: 14px !important;
            line-height: 1.4 !important;
            vertical-align: top !important;
        }

        .agenda-table .time {
            width: 80px !important;
            min-width: 80px !important;
            white-space: nowrap !important;
        }

        .regtech-modal-box {
            width: calc(100% - 20px) !important;
            max-width: none !important;
            margin: 3vh auto !important;
            padding: 14px !important;
            max-height: 94vh !important;
            overflow-y: auto !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal form > div {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal input,
        #regtech-register-modal select,
        #regtech-register-modal textarea,
        #regtech-register-modal button {
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal form div[style*="display:flex"] {
            display: block !important;
        }

        #regtech-register-modal form div[style*="min-width:220px"] {
            min-width: 0 !important;
            width: 100% !important;
            margin-bottom: 14px !important;
        }

        .page-title.wider {
            font-size: 32px !important;
            line-height: 1.15 !important;
            word-break: normal !important;
        }

        .card-title {
            font-size: 28px !important;
            line-height: 1.2 !important;
        }
    }

</style>

<section class="page-header" data-template="regtech-forum">
    <div class="logo in-header">
        <figure class="page-logo suade">
            <img src="https://suade.org/assets/images/static/page-logos/suade-logo-white.png" alt="Suade Regtech Forum 2026">
        </figure>
        <figure class="page-logo city-of-london">
            <img src="https://suade.org/assets/images/static/page-logos/city-of-london-logo-white.png" alt="Suade Regtech Forum 2026">
        </figure>
    </div>
    <h1 class="page-title wider">Suade RegTech Forum</h1>
    <h2 class="page-title wider">6 October 2026</h2>
    <h2 class="page-title wider">Guildhall, London</h2>
    <div class="additional-buttons regtech-register-top-banner">
        <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal" style="background-color: var(--blue-suade);">Secure your place</a>
    </div>
</section>

<section class="page-content regtech-top-content">
    <ul class="cards">
        <li class="card no-hr">
            <div class="card-content">
                <div class="card-item-metrics-container">
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/participants.png" alt="Suade Regtech Forum 2026"><span>400+ Senior Industry Leaders</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/speaker.png" alt="Suade Regtech Forum 2026"><span>25+ High Profile Speakers</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/bank.png" alt="Suade Regtech Forum 2026"><span>Regulators &amp; Regulated</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/networking.png" alt="Suade Regtech Forum 2026"><span>Networking Opportunities</span></div>
                </div>
            </div>
        </li>

        <li class="card no-hr">
            <div class="card-content">
                <div class="card-paragraph column">
                    <video loop autoplay muted playsinline preload="metadata" width="100%">
                        <source src="https://suade.org/content/media/2025/03/suade_-_london_regtech_forum_2024--1080p---1--3.mp4" type="video/mp4">
                    </video>
                </div>

                <div class="card-paragraph column">
                    <h4 class="card-title">About</h4>
                    <img src="https://images.unsplash.com/photo-1480449649358-ee14c6ee0b17?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDR8fGxvbmRvbiUyMGZpbmFuY2V8ZW58MHx8fHwxNzQyOTg5MTQ0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Suade Regtech Forum 2026"><p>A senior forum bringing together leaders from banking, regulation and technology to explore how regulatory reporting is evolving in practice, and what it takes to build scalable, data-driven and resilient reporting frameworks in an era of rapid change.<br><br><b>Date</b>: 6 October 2026<br><br><b>Location</b>: Livery Hall, Guildhall, London EC2V 7HH<br><br>Previous speakers include: <b>Neil Esho</b>, Former Secretary General, Basel Committee, <b>William (Bill) Coen</b>, Former Secretary General, Basel Committee, and <b>Ruth Doubleday</b>, Head of Prudential Regulation, Building Societies Association</p>
                </div>
            </div>
        </li>

        <li class="card no-hr">
            <div class="additional-buttons">
                <a class="primary-button" id="go-to-speaker" href="#regtech-forum-speakers">Find Out More</a>
            </div>
        </li>
    </ul>
</section>

<section class="regtech-intro-feature">
    <div class="regtech-intro-inner">
        <p class="regtech-intro-label">Why this matters</p>

        <h3>The next phase of regulatory reporting</h3>

        <div class="regtech-intro-card">
            <p>
                Regulatory reporting is entering a new phase of change, driven by increasing complexity, evolving regulatory expectations, and the growing need for trusted data and scalable infrastructure.
            </p>

            <p>
                At the same time, advances in AI, including early applications of agentic AI, are beginning to reshape how reporting processes are designed, executed and controlled across financial institutions.
            </p>

            <p>
                This forum brings together industry, regulatory and technology perspectives to explore what practical transformation looks like for reporting teams.
            </p>
        </div>
    </div>
</section>

<section class="page-panel blue-suade white-text">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title white" id="regtech-forum-key-themes">Key themes</h4>
                <div class="additional-buttons">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Secure your space</a>
                </div>

                <div class="card-paragraph m-b-l m-t-l">
                    This year&#x2019;s forum will explore how regulatory reporting is evolving in practice, as banks respond to rapid advances in AI, increasing data complexity, and continued regulatory divergence across jurisdictions. Discussions will focus on how firms are operationalising change across data, technology, controls and capital frameworks.
                </div>

                <div class="card-content">
                    <div class="card-paragraph column">
                        <p><b>AI in regulatory reporting: from automation to agentic workflows</b><br>How banks are already using AI for data quality checks, anomaly detection, workflow routing and commentary generation, and what it takes to move toward more autonomous, agentic AI-enabled reporting processes. The session will also explore supervisory expectations around human oversight, accountability and model governance.</p>

                        <p><b>Delivering proportionate reporting frameworks for challenger banks</b><br>How smaller institutions are managing high regulatory complexity with constrained resources, and whether initiatives such as SDDT, FBD and international proportionality models are delivering meaningful simplification in practice.</p>

                        <p><b>The next phase of RegTech and reporting transformation</b><br>How firms are progressing beyond initial transformation programmes, including embedding technology into operating models, strengthening controls, and designing architectures that can adapt to ongoing regulatory and technological change.</p>
                    </div>

                    <div class="card-paragraph column">
                        <p><b>Building trusted data foundations for AI and regulatory reporting</b><br>Why reliable AI depends on consistent data models, taxonomies and validation rules, and how firms are working towards &#x201C;golden source&#x201D; regulatory data that can support both regulatory submissions and internal reporting. The role of data lineage, ownership and controls in enabling trust and supervisory confidence will also be discussed.</p>

                        <p><b>Regulatory divergence and cross-border reporting complexity</b><br>How increasing divergence between UK, EU and home state regimes is impacting foreign banks, and how firms are responding by building unified granular data models that can support multiple regulatory outputs without duplication or rework.</p>

                        <p><b>Basel 3.1 and the next phase of capital, data and reporting change</b><br>How Basel 3.1 parallel runs are exposing data quality gaps, reconciliation challenges and operational pressure points, and how firms are using this as a catalyst to modernise risk, finance and reporting infrastructure for future regulatory change.</p>
                    </div>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Meet last year&apos;s speakers</h4>
                <div id="regtech-forum-speakers" class="card-content">
                    <ul class="box-list">
                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_neil-esho.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Neil</span>&#xA0;<span style="text-transform: capitalize">Esho</span></label>
                            <label class="job-title">Former Secretary General, Basel Committee on Banking Supervision</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BIS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_tom-henderson-1.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Tom</span>&#xA0;<span style="text-transform: capitalize">Henderson</span></label>
                            <label class="job-title">Head of Division - Data, Systems, Change &amp; Operations</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Bank-of-England-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/03/chimera_Bill-Coen.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">William &#x2018;Bill&#x2019;</span>&#xA0;<span style="text-transform: capitalize">Coen</span></label>
                            <label class="job-title">Former Secretary General, Basel Committee on Banking Supervision, Suade Advisory Board</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BIS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_conor-litton.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Conor</span>&#xA0;<span style="text-transform: capitalize">Litton</span></label>
                            <label class="job-title">Chief Financial Officer, Global Finance and Board Director</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_td-securities-9.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_madush-gupta.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Madush</span>&#xA0;<span style="text-transform: capitalize">Gupta</span></label>
                            <label class="job-title">City of London Councillor, Policy Lead for Innovation and Technology</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_City-of-London-Corp-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_dawd-haque.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Dawd</span>&#xA0;<span style="text-transform: capitalize">Haque</span></label>
                            <label class="job-title">Market Initiatives, Regulatory Transformation &amp; Strategy</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_DB-Bank-2.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_-10.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Diana</span>&#xA0;<span style="text-transform: capitalize">Paredes</span></label>
                            <label class="job-title">Founder &amp; Chief Executive Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_ffion-acland.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Ffion</span>&#xA0;<span style="text-transform: capitalize">Acland</span></label>
                            <label class="job-title">Global Lead of Global Banking, Markets Data Modelling and Data Analytics</label>
                            <img class="logo" src="https://suade.org/content/images/2024/06/chimera_Goldman.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/09/chimera_Mark-Mahers.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Mark</span>&#xA0;<span style="text-transform: capitalize">Mahers</span></label>
                            <label class="job-title">Head of Finance Systems and Data</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_CBS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Ruth-Doubleday.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Ruth</span>&#xA0;<span style="text-transform: capitalize">Doubleday</span></label>
                            <label class="job-title">Head of Prudential Regulation</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BSA-1.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Murat-.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Murat</span>&#xA0;<span style="text-transform: capitalize">Abur</span></label>
                            <label class="job-title">Founder &amp; Chief Information and Architecture Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Gonzalo-Gas-s.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Gonzalo</span>&#xA0;<span style="text-transform: capitalize">Gas&#xF3;s</span></label>
                            <label class="job-title">Senior Director Prudential Policy and Supervision</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_EBF-2.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_michael-jefferson.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Michael</span>&#xA0;<span style="text-transform: capitalize">Jefferson</span></label>
                            <label class="job-title">Head of Financial Services Public Policy UK, MEA and Switzerland</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_aws.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_harry-ager.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Harry</span>&#xA0;<span style="text-transform: capitalize">Ager</span></label>
                            <label class="job-title">Chief Operating Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Samir.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Samir</span>&#xA0;<span style="text-transform: capitalize">Dahmani</span></label>
                            <label class="job-title">Chief Product Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_hinal-patel.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Hinal</span>&#xA0;<span style="text-transform: capitalize">Patel</span></label>
                            <label class="job-title">Partner</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_simmons-1.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_laure-fauchet-1.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Laure</span>&#xA0;<span style="text-transform: capitalize">Fauchet</span></label>
                            <label class="job-title">Director, UK Government Relations</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_dtcc-2.png" alt="Suade Regtech Forum 2026">
                        </li>
                    </ul>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel blue-suade white-text hide-section-for-now">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Agenda, 6 October 2026</h4>
                <div class="additional-buttons">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Secure your place</a>
                </div>

                <div class="card-content">
                    <table class="agenda-table">
                        <colgroup>
                            <col style="width: 150px">
                            <col>
                            <col style="width: 96px">
                            <col>
                        </colgroup>

                        <thead>
                            <tr>
                                <th style="text-align: left;">Time</th>
                                <th style="text-align: left;">Session</th>
                            </tr>
                        </thead>

                        <tbody>
                            <tr>
                                <th class="time" style="min-height: 59px;">11:30</th>
                                <td>Registration and networking lunch</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">12:40</th>
                                <td class="session"><span></span> <b>Welcome from Diana Paredes, CEO of Suade</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">12:45</th>
                                <td class="session"><span>Opening keynote: </span> <b>Shaping tomorrow - The UK&#x2019;s evolution in RegTech and collaborative innovation</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">13:00</th>
                                <td class="session"><span>Panel: </span> <b>The role of RegTech and AI in modern financial regulation</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">13:45</th>
                                <td>Networking break</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">14:15</th>
                                <td class="session"><span>Panel: </span> <b>Evolution of RegTech: From innovation to maturity</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">15:00</th>
                                <td class="session"><span>Panel: </span> <b>Basel III: Adapting to regulatory divergence and competitive threats</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">15:45</th>
                                <td>Networking break</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">16:15</th>
                                <td class="session"><span>Panel: </span> <b>DORA and the future of operational resilience in financial services</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">17:00</th>
                                <td class="session"><span>Panel: </span> <b>In the trenches of data management</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">17:45</th>
                                <td class="session"><span>Closing keynote: </span> <b>The role of technology in financial supervision</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">18:00</th>
                                <td>Drinks &amp; canap&#xE9;s</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel previous-attendees-section">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Financial institutions represented at previous forums</h4>
                <div class="card-content">
                    <img src="https://suade.org/content/images/2024/03/RegTech_Forum_attendees_list_for_webiste-1.png" alt="Suade Regtech Forum 2026">
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel blue-suade white-text">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title white">Register now to request in-person pass</h4>
                <div class="card-paragraph">Don&apos;t miss this opportunity to be a part of the engaging and in-depth panel discussions and networking sessions with peers and influential figures in financial regulation. Join financial services executives, regulators, and government representatives as we collectively shape the future of the industry. Register your interest now and secure your spot.</div>
                <div class="additional-buttons join-us">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Secure your place</a>
                </div>
            </li>
        </ul>
    </div>
</section>

<div id="regtech-register-modal" class="regtech-modal" aria-hidden="true">
    <div class="regtech-modal-overlay js-close-regtech-form"></div>

    <div class="regtech-modal-box" role="dialog" aria-modal="true" aria-label="Register for Suade RegTech Forum">
        <button type="button" class="regtech-modal-close js-close-regtech-form" aria-label="Close registration form">&#xD7;</button>

<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000kAgRpYAK">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BA">Bosnia and Herzegovina</option>
<option value="BW">Botswana</option>
<option value="BR">Brazil</option>
<option value="BN">Brunei</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="CV">Cabo Verde</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
<option value="CG">Congo</option>
<option value="CD">Congo, Democratic Republic of the</option>
<option value="CR">Costa Rica</option>
<option value="CI">C&#xF4;te d&#x2019;Ivoire</option>
<option value="HR">Croatia</option>
<option value="CU">Cuba</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czechia</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="SZ">Eswatini</option>
<option value="ET">Ethiopia</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GD">Grenada</option>
<option value="GT">Guatemala</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KR">Korea</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Laos</option>
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia (Federated States of)</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="ME">Montenegro</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="MK">North Macedonia</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="QA">Qatar</option>
<option value="RO">Romania</option>
<option value="RU">Russian Federation</option>
<option value="RW">Rwanda</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="RS">Serbia</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="SS">South Sudan</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="SY">Syria</option>
<option value="TW">Taiwan</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey (T&#xFC;rkiye)</option>
<option value="TM">Turkmenistan</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="UA">Ukraine</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Viet Nam</option>
<option value="YE">Yemen</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }


          // 2) submit to WS Form REST endpoint

          const sleep = ms => new Promise(r => setTimeout(r, ms));

        async function fetchRetry(url, opts = {}, tries = 3) {
          try {
            const res = await fetch(url, { ...opts, signal: AbortSignal.timeout(8000) });
            if (!res.ok) throw Object.assign(new Error(`HTTP ${res.status}`), { res });
            return res;
          } catch (e) {
            if (tries <= 1) throw e;
            await sleep(400 * (4 - tries));
            return fetchRetry(url, opts, tries - 1);
          }
        }
     
        async function submitRemote(fd) {
          console.log("form submit");
          const res = await fetchRetry(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetchRetry('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again in a minute.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>


    </div>
</div>

<script>
    document.addEventListener('DOMContentLoaded', function () {
        var modal = document.getElementById('regtech-register-modal');
        var openButtons = document.querySelectorAll('.js-open-regtech-form');
        var closeButtons = document.querySelectorAll('.js-close-regtech-form');

        function openModal(event) {
            if (event) {
                event.preventDefault();
            }

            if (modal) {
                modal.classList.add('is-open');
                modal.setAttribute('aria-hidden', 'false');
                document.body.classList.add('regtech-modal-open');
            }
        }

        function closeModal() {
            if (modal) {
                modal.classList.remove('is-open');
                modal.setAttribute('aria-hidden', 'true');
                document.body.classList.remove('regtech-modal-open');
            }
        }

        openButtons.forEach(function (button) {
            button.addEventListener('click', openModal);
        });

        closeButtons.forEach(function (button) {
            button.addEventListener('click', closeModal);
        });

        document.addEventListener('keydown', function (event) {
            if (event.key === 'Escape') {
                closeModal();
            }
        });
    });
</script>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Form Template (v3) - testing]]></title><description><![CDATA[<p></p><p>This is the Wordpress form template. Do not edit or link to this page externally. </p><p></p><p>Instructions:</p><p>Add Salesforce ID for campaign</p><p>Update Salesforce registration status</p><p>Add Zoom webinar ID, if relevant, otherwise leave blank</p><p>Remove &apos;message&apos; section if not needed</p><p></p><p></p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received</div></div></div>]]></description><link>https://suade.org/form-template-v3/</link><guid isPermaLink="false">6a18629184bb68095b84e5c7</guid><dc:creator><![CDATA[Remy]]></dc:creator><pubDate>Thu, 28 May 2026 15:54:35 GMT</pubDate><content:encoded><![CDATA[<p></p><p>This is the Wordpress form template. Do not edit or link to this page externally. </p><p></p><p>Instructions:</p><p>Add Salesforce ID for campaign</p><p>Update Salesforce registration status</p><p>Add Zoom webinar ID, if relevant, otherwise leave blank</p><p>Remove &apos;message&apos; section if not needed</p><p></p><p></p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="CODE">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value="123456789"> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px;">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BA">Bosnia and Herzegovina</option>
<option value="BW">Botswana</option>
<option value="BR">Brazil</option>
<option value="BN">Brunei</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="CV">Cabo Verde</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
<option value="CG">Congo</option>
<option value="CD">Congo, Democratic Republic of the</option>
<option value="CR">Costa Rica</option>
<option value="CI">C&#xF4;te d&#x2019;Ivoire</option>
<option value="HR">Croatia</option>
<option value="CU">Cuba</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czechia</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="SZ">Eswatini</option>
<option value="ET">Ethiopia</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GD">Grenada</option>
<option value="GT">Guatemala</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KR">Korea</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Laos</option>
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia (Federated States of)</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="ME">Montenegro</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="MK">North Macedonia</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="QA">Qatar</option>
<option value="RO">Romania</option>
<option value="RU">Russian Federation</option>
<option value="RW">Rwanda</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="RS">Serbia</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="SS">South Sudan</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="SY">Syria</option>
<option value="TW">Taiwan</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey (T&#xFC;rkiye)</option>
<option value="TM">Turkmenistan</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="UA">Ukraine</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Viet Nam</option>
<option value="YE">Yemen</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }


          // 2) submit to WS Form REST endpoint

          const sleep = ms => new Promise(r => setTimeout(r, ms));

        async function fetchRetry(url, opts = {}, tries = 3) {
          try {
            const res = await fetch(url, { ...opts, signal: AbortSignal.timeout(8000) });
            if (!res.ok) throw Object.assign(new Error(`HTTP ${res.status}`), { res });
            return res;
          } catch (e) {
            if (tries <= 1) throw e;
            await sleep(400 * (4 - tries));
            return fetchRetry(url, opts, tries - 1);
          }
        }
     
        async function submitRemote(fd) {
          console.log("form submit");
          const res = await fetchRetry(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetchRetry('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again in a minute.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Suade's RegTech Forum 2026 returns to Guildhall on 6 October]]></title><description><![CDATA[RegTech Forum 2026 will take place on 6 October 2026 at Guildhall, City of London.]]></description><link>https://suade.org/regtech-forum-2026-returns-to-guildhall-on-6-october/</link><guid isPermaLink="false">6a0c342084bb68095b84e4d9</guid><category><![CDATA[News]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Wed, 20 May 2026 11:50:16 GMT</pubDate><media:content url="https://suade.org/content/images/2026/05/f1957032b300bd0fcaaf3d6c1a30a1722c323bc8-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://suade.org/content/images/2026/05/f1957032b300bd0fcaaf3d6c1a30a1722c323bc8-1.jpg" alt="Suade&apos;s RegTech Forum 2026 returns to Guildhall on 6 October"><p>LONDON, UK, May 21, 2026 &#x2013;&#xA0;Suade&#xA0;Labs, a regulatory reporting platform used by financial institutions across global markets, today announced that its flagship event,&#xA0;RegTech&#xA0;Forum, supported by the City of London Corporation, will return to Guildhall in London on 6 October 2026. The in-person event will bring together senior regulatory reporting professionals to explore the future of reporting,&#xA0;supervision&#xA0;and regulatory change.&#xA0;</p><p>The forum will welcome up to 400 attendees and feature five expert-led panel discussions, alongside smaller breakout&#xA0;sessions&#xA0;and targeted roundtables. This expanded format is designed to enable practical collaboration across the regulatory ecosystem, bringing together banks, regulators, policy specialists, compliance leaders, and technology and data experts navigating an increasingly complex reporting landscape.&#xA0;</p><p>&#x201C;RegTech&#xA0;Forum is special because it brings together people from different backgrounds, including industry, regulators and policy experts,&#x201D; said Diana Paredes, CEO and Co-Founder of&#xA0;Suade. &#x201C;This mix of perspectives allows for open and honest conversations about the issues that matter most. It is what makes the event so valuable and why it&#xA0;remains&#xA0;an important meeting point for the future of regulatory reporting.&#x201D;&#xA0;</p><p>The 2026&#xA0;programme&#xA0;will cover key topics including AI in regulatory reporting, real-time reporting, Basel 3.1, SDDT, regulatory&#xA0;divergence&#xA0;and modern data architectures. Roundtables and breakout sessions will provide more focused, practical discussions tailored to&#xA0;different types&#xA0;of institutions.&#xA0;</p><p>&#x201C;Banking, regulation and technology all depend on human relationships,&#x201D; said Neil Esho, former Secretary General of the Basel Committee on Banking Supervision. &#x201C;You cannot build those relationships while sitting behind a computer screen.&#xA0;RegTech&#xA0;Forum creates an environment for the conversations that matter.&#x201D;&#xA0;</p><p>Taking place at a time of increasing data intensity and regulatory change,&#xA0;RegTech&#xA0;Forum 2026 offers a space for professionals to exchange insights, compare approaches and help shape the future of regulatory reporting.&#xA0;</p><p><strong>Event details&#xA0;</strong><br>RegTech Forum 2026 will take place on 6 October 2026 at Guildhall, City of London. For more information and registration, please&#xA0;visit our <a href="https://suade.org/2026-10-06-regtech-forum-2026/" rel="noreferrer">landing page</a>.&#xA0;</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Suade Regtech Forum 2026]]></title><description><![CDATA[Suade's London RegTech Forum returns on the 6th of October 2026]]></description><link>https://suade.org/2026-10-06-regtech-forum-2026/</link><guid isPermaLink="false">65eb33adde7ac309651b3b31</guid><category><![CDATA[Events]]></category><dc:creator><![CDATA[suade]]></dc:creator><pubDate>Tue, 19 May 2026 15:40:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1480449649358-ee14c6ee0b17?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDR8fGxvbmRvbiUyMGZpbmFuY2V8ZW58MHx8fHwxNzQyOTg5MTQ0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[
<!--kg-card-begin: html-->
<style>
    .regtech-top-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .regtech-top-content .cards {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .regtech-top-content .card:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .regtech-intro-feature {
        background: #ffffff;
        padding: 20px 20px 70px;
        margin: 0;
    }

    .regtech-intro-inner {
        max-width: 1130px;
        margin: 0 auto;
    }

    .regtech-intro-label {
        color: var(--blue-suade);
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin: 0 0 12px 0;
    }

    .regtech-intro-inner h3 {
        font-size: 34px;
        line-height: 1.2;
        color: #222222;
        margin: 0 0 24px 0;
    }

    .regtech-intro-card {
        background: #f7f8fb;
        border-left: 6px solid var(--blue-suade);
        padding: 34px 40px;
    }

    .regtech-intro-card p {
        font-size: 19px;
        line-height: 1.5;
        color: #333333;
        margin: 0 0 18px 0;
    }

    .regtech-intro-card p:last-child {
        margin-bottom: 0;
    }

    .previous-attendees-section {
        background: #ffffff;
        padding: 70px 20px !important;
    }

    .previous-attendees-section .card-title {
        color: #222222 !important;
        margin-bottom: 35px;
    }

    .previous-attendees-section img {
        width: 100%;
        display: block;
        margin: 0 auto;
    }

    .hide-section-for-now {
        display: none !important;
    }

    @media screen and (max-width: 768px) {
        .regtech-intro-feature {
            padding: 20px 20px 50px;
        }

        .regtech-intro-inner h3 {
            font-size: 26px;
        }

        .regtech-intro-card {
            padding: 26px 24px;
        }

        .regtech-intro-card p {
            font-size: 17px;
        }

        .previous-attendees-section {
            padding: 50px 20px !important;
        }
    }

    .regtech-modal {
        display: none;
        position: fixed;
        z-index: 99999;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .regtech-modal.is-open {
        display: block;
    }

    .regtech-modal-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.62);
    }

    .regtech-modal-box {
        position: relative;
        z-index: 1;
        width: calc(100% - 32px);
        max-width: 760px;
        max-height: 90vh;
        overflow-y: auto;
        margin: 5vh auto;
        background: #ffffff;
        border-radius: 12px;
        padding: 24px;
        box-sizing: border-box;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    }

    .regtech-modal-close {
        position: sticky;
        top: 0;
        float: right;
        z-index: 2;
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        background: #111827;
        color: #ffffff;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
        margin: -8px -8px 8px 8px;
    }

    body.regtech-modal-open {
        overflow: hidden;
    }

    @media screen and (max-width: 600px) {
        .regtech-modal-box {
            width: calc(100% - 20px);
            margin: 3vh auto;
            padding: 16px;
            max-height: 94vh;
        }
    }



    /* Mobile layout fixes for RegTech Forum 2026 pop-up form version */
    @media screen and (max-width: 768px) {
        html,
        body {
            overflow-x: hidden !important;
            width: 100% !important;
        }

        .page-header {
            padding-left: 18px !important;
            padding-right: 18px !important;
            box-sizing: border-box !important;
        }

        .page-content,
        .page-panel,
        .cards,
        .card,
        .card-content,
        .card-paragraph {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        .page-panel,
        .page-content {
            padding-left: 18px !important;
            padding-right: 18px !important;
        }

        .card-content {
            display: block !important;
        }

        .card-paragraph.column {
            width: 100% !important;
            max-width: 100% !important;
            display: block !important;
            margin-bottom: 28px !important;
        }

        .card-paragraph.column:last-child {
            margin-bottom: 0 !important;
        }

        video {
            width: 100% !important;
            height: auto !important;
            display: block !important;
            margin-bottom: 24px !important;
        }

        .card-item-metrics-container {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 18px !important;
            width: 100% !important;
            max-width: 100% !important;
        }

        .card-item-metric {
            width: 100% !important;
            max-width: 100% !important;
            min-height: auto !important;
            padding: 18px !important;
            box-sizing: border-box !important;
            text-align: center !important;
        }

        #regtech-forum-speakers,
        #regtech-forum-speakers .card-content {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-forum-speakers .box-list {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 24px !important;
            padding: 0 !important;
            margin: 24px 0 0 0 !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-forum-speakers .box-list li {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            padding: 24px 18px !important;
        }

        #regtech-forum-speakers .headshot {
            width: 130px !important;
            height: 130px !important;
            object-fit: cover !important;
        }

        #regtech-forum-speakers .logo {
            max-width: 140px !important;
            height: auto !important;
        }

        .agenda-table {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: auto !important;
            white-space: normal !important;
            box-sizing: border-box !important;
        }

        .agenda-table th,
        .agenda-table td {
            padding: 14px 10px !important;
            font-size: 14px !important;
            line-height: 1.4 !important;
            vertical-align: top !important;
        }

        .agenda-table .time {
            width: 80px !important;
            min-width: 80px !important;
            white-space: nowrap !important;
        }

        .regtech-modal-box {
            width: calc(100% - 20px) !important;
            max-width: none !important;
            margin: 3vh auto !important;
            padding: 14px !important;
            max-height: 94vh !important;
            overflow-y: auto !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal form > div {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal input,
        #regtech-register-modal select,
        #regtech-register-modal textarea,
        #regtech-register-modal button {
            max-width: 100% !important;
            box-sizing: border-box !important;
        }

        #regtech-register-modal form div[style*="display:flex"] {
            display: block !important;
        }

        #regtech-register-modal form div[style*="min-width:220px"] {
            min-width: 0 !important;
            width: 100% !important;
            margin-bottom: 14px !important;
        }

        .page-title.wider {
            font-size: 32px !important;
            line-height: 1.15 !important;
            word-break: normal !important;
        }

        .card-title {
            font-size: 28px !important;
            line-height: 1.2 !important;
        }
    }

</style>

<section class="page-header" data-template="regtech-forum">
    <div class="logo in-header">
        <figure class="page-logo suade">
            <img src="https://suade.org/assets/images/static/page-logos/suade-logo-white.png" alt="Suade Regtech Forum 2026">
        </figure>
        <figure class="page-logo city-of-london">
            <img src="https://suade.org/assets/images/static/page-logos/city-of-london-logo-white.png" alt="Suade Regtech Forum 2026">
        </figure>
    </div>
    <h1 class="page-title wider">Suade RegTech Forum</h1>
    <h2 class="page-title wider">6 October 2026</h2>
    <h2 class="page-title wider">Guildhall, London</h2>
    <div class="additional-buttons regtech-register-top-banner">
        <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal" style="background-color: var(--blue-suade);">Register your interest</a>
    </div>
</section>

<section class="page-content regtech-top-content">
    <ul class="cards">
        <li class="card no-hr">
            <div class="card-content">
                <div class="card-item-metrics-container">
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/participants.png" alt="Suade Regtech Forum 2026"><span>400+ Senior Industry Leaders</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/speaker.png" alt="Suade Regtech Forum 2026"><span>25+ High Profile Speakers</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/bank.png" alt="Suade Regtech Forum 2026"><span>Regulators &amp; Regulated</span></div>
                    <div class="card-item-metric"><img class="metric-icon" src="https://suade.org/assets/images/static/metric-icons/networking.png" alt="Suade Regtech Forum 2026"><span>Networking Opportunities</span></div>
                </div>
            </div>
        </li>

        <li class="card no-hr">
            <div class="card-content">
                <div class="card-paragraph column">
                    <video loop autoplay muted playsinline preload="metadata" width="100%">
                        <source src="https://suade.org/content/media/2025/03/suade_-_london_regtech_forum_2024--1080p---1--3.mp4" type="video/mp4">
                    </video>
                </div>

                <div class="card-paragraph column">
                    <h4 class="card-title">About</h4>
                    <img src="https://images.unsplash.com/photo-1480449649358-ee14c6ee0b17?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDR8fGxvbmRvbiUyMGZpbmFuY2V8ZW58MHx8fHwxNzQyOTg5MTQ0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Suade Regtech Forum 2026"><p>A senior forum bringing together leaders from banking, regulation and technology to explore how regulatory reporting is evolving in practice, and what it takes to build scalable, data-driven and resilient reporting frameworks in an era of rapid change.<br><br><b>Date</b>: 6 October 2026<br><br><b>Location</b>: Livery Hall, Guildhall, London EC2V 7HH<br><br>Previous speakers include: <b>Neil Esho</b>, Former Secretary General, Basel Committee, <b>William (Bill) Coen</b>, Former Secretary General, Basel Committee, and <b>Ruth Doubleday</b>, Head of Prudential Regulation, Building Societies Association</p>
                </div>
            </div>
        </li>

        <li class="card no-hr">
            <div class="additional-buttons">
                <a class="primary-button" id="go-to-speaker" href="#regtech-forum-speakers">Find Out More</a>
            </div>
        </li>
    </ul>
</section>

<section class="regtech-intro-feature">
    <div class="regtech-intro-inner">
        <p class="regtech-intro-label">Why this matters</p>

        <h3>The next phase of regulatory reporting</h3>

        <div class="regtech-intro-card">
            <p>
                Regulatory reporting is entering a new phase of change, driven by increasing complexity, evolving regulatory expectations, and the growing need for trusted data and scalable infrastructure.
            </p>

            <p>
                At the same time, advances in AI, including early applications of agentic AI, are beginning to reshape how reporting processes are designed, executed and controlled across financial institutions.
            </p>

            <p>
                This forum brings together industry, regulatory and technology perspectives to explore what practical transformation looks like for reporting teams.
            </p>
        </div>
    </div>
</section>

<section class="page-panel blue-suade white-text">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title white" id="regtech-forum-key-themes">Key themes</h4>
                <div class="additional-buttons">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Register your interest</a>
                </div>

                <div class="card-paragraph m-b-l m-t-l">
                    This year&#x2019;s forum will explore how regulatory reporting is evolving in practice, as banks respond to rapid advances in AI, increasing data complexity, and continued regulatory divergence across jurisdictions. Discussions will focus on how firms are operationalising change across data, technology, controls and capital frameworks.
                </div>

                <div class="card-content">
                    <div class="card-paragraph column">
                        <p><b>AI in regulatory reporting: from automation to agentic workflows</b><br>How banks are already using AI for data quality checks, anomaly detection, workflow routing and commentary generation, and what it takes to move toward more autonomous, agentic AI-enabled reporting processes. The session will also explore supervisory expectations around human oversight, accountability and model governance.</p>

                        <p><b>Delivering proportionate reporting frameworks for challenger banks</b><br>How smaller institutions are managing high regulatory complexity with constrained resources, and whether initiatives such as SDDT, FBD and international proportionality models are delivering meaningful simplification in practice.</p>

                        <p><b>The next phase of RegTech and reporting transformation</b><br>How firms are progressing beyond initial transformation programmes, including embedding technology into operating models, strengthening controls, and designing architectures that can adapt to ongoing regulatory and technological change.</p>
                    </div>

                    <div class="card-paragraph column">
                        <p><b>Building trusted data foundations for AI and regulatory reporting</b><br>Why reliable AI depends on consistent data models, taxonomies and validation rules, and how firms are working towards &#x201C;golden source&#x201D; regulatory data that can support both regulatory submissions and internal reporting. The role of data lineage, ownership and controls in enabling trust and supervisory confidence will also be discussed.</p>

                        <p><b>Regulatory divergence and cross-border reporting complexity</b><br>How increasing divergence between UK, EU and home state regimes is impacting foreign banks, and how firms are responding by building unified granular data models that can support multiple regulatory outputs without duplication or rework.</p>

                        <p><b>Basel 3.1 and the next phase of capital, data and reporting change</b><br>How Basel 3.1 parallel runs are exposing data quality gaps, reconciliation challenges and operational pressure points, and how firms are using this as a catalyst to modernise risk, finance and reporting infrastructure for future regulatory change.</p>
                    </div>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Meet last year&apos;s speakers</h4>
                <div id="regtech-forum-speakers" class="card-content">
                    <ul class="box-list">
                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_neil-esho.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Neil</span>&#xA0;<span style="text-transform: capitalize">Esho</span></label>
                            <label class="job-title">Former Secretary General, Basel Committee on Banking Supervision</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BIS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_tom-henderson-1.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Tom</span>&#xA0;<span style="text-transform: capitalize">Henderson</span></label>
                            <label class="job-title">Head of Division - Data, Systems, Change &amp; Operations</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Bank-of-England-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/03/chimera_Bill-Coen.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">William &#x2018;Bill&#x2019;</span>&#xA0;<span style="text-transform: capitalize">Coen</span></label>
                            <label class="job-title">Former Secretary General, Basel Committee on Banking Supervision, Suade Advisory Board</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BIS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_conor-litton.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Conor</span>&#xA0;<span style="text-transform: capitalize">Litton</span></label>
                            <label class="job-title">Chief Financial Officer, Global Finance and Board Director</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_td-securities-9.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_madush-gupta.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Madush</span>&#xA0;<span style="text-transform: capitalize">Gupta</span></label>
                            <label class="job-title">City of London Councillor, Policy Lead for Innovation and Technology</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_City-of-London-Corp-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_dawd-haque.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Dawd</span>&#xA0;<span style="text-transform: capitalize">Haque</span></label>
                            <label class="job-title">Market Initiatives, Regulatory Transformation &amp; Strategy</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_DB-Bank-2.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_-10.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Diana</span>&#xA0;<span style="text-transform: capitalize">Paredes</span></label>
                            <label class="job-title">Founder &amp; Chief Executive Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_ffion-acland.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Ffion</span>&#xA0;<span style="text-transform: capitalize">Acland</span></label>
                            <label class="job-title">Global Lead of Global Banking, Markets Data Modelling and Data Analytics</label>
                            <img class="logo" src="https://suade.org/content/images/2024/06/chimera_Goldman.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/09/chimera_Mark-Mahers.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Mark</span>&#xA0;<span style="text-transform: capitalize">Mahers</span></label>
                            <label class="job-title">Head of Finance Systems and Data</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_CBS.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Ruth-Doubleday.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Ruth</span>&#xA0;<span style="text-transform: capitalize">Doubleday</span></label>
                            <label class="job-title">Head of Prudential Regulation</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_BSA-1.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Murat-.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Murat</span>&#xA0;<span style="text-transform: capitalize">Abur</span></label>
                            <label class="job-title">Founder &amp; Chief Information and Architecture Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Gonzalo-Gas-s.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Gonzalo</span>&#xA0;<span style="text-transform: capitalize">Gas&#xF3;s</span></label>
                            <label class="job-title">Senior Director Prudential Policy and Supervision</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_EBF-2.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_michael-jefferson.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Michael</span>&#xA0;<span style="text-transform: capitalize">Jefferson</span></label>
                            <label class="job-title">Head of Financial Services Public Policy UK, MEA and Switzerland</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_aws.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_harry-ager.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Harry</span>&#xA0;<span style="text-transform: capitalize">Ager</span></label>
                            <label class="job-title">Chief Operating Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2024/03/chimera_Samir.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Samir</span>&#xA0;<span style="text-transform: capitalize">Dahmani</span></label>
                            <label class="job-title">Chief Product Officer</label>
                            <img class="logo" src="https://suade.org/content/images/2024/03/chimera_Suade-Labs-.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_hinal-patel.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Hinal</span>&#xA0;<span style="text-transform: capitalize">Patel</span></label>
                            <label class="job-title">Partner</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_simmons-1.png" alt="Suade Regtech Forum 2026">
                        </li>

                        <li>
                            <img class="headshot" src="https://suade.org/content/images/2025/10/chimera_laure-fauchet-1.png" alt="Suade Regtech Forum 2026">
                            <label class="name"><span style="text-transform: capitalize">Laure</span>&#xA0;<span style="text-transform: capitalize">Fauchet</span></label>
                            <label class="job-title">Director, UK Government Relations</label>
                            <img class="logo" src="https://suade.org/content/images/2025/10/chimera_dtcc-2.png" alt="Suade Regtech Forum 2026">
                        </li>
                    </ul>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel blue-suade white-text hide-section-for-now">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Agenda, 6 October 2026</h4>
                <div class="additional-buttons">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Secure your place</a>
                </div>

                <div class="card-content">
                    <table class="agenda-table">
                        <colgroup>
                            <col style="width: 150px">
                            <col>
                            <col style="width: 96px">
                            <col>
                        </colgroup>

                        <thead>
                            <tr>
                                <th style="text-align: left;">Time</th>
                                <th style="text-align: left;">Session</th>
                            </tr>
                        </thead>

                        <tbody>
                            <tr>
                                <th class="time" style="min-height: 59px;">11:30</th>
                                <td>Registration and networking lunch</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">12:40</th>
                                <td class="session"><span></span> <b>Welcome from Diana Paredes, CEO of Suade</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">12:45</th>
                                <td class="session"><span>Opening keynote: </span> <b>Shaping tomorrow - The UK&#x2019;s evolution in RegTech and collaborative innovation</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">13:00</th>
                                <td class="session"><span>Panel: </span> <b>The role of RegTech and AI in modern financial regulation</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">13:45</th>
                                <td>Networking break</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">14:15</th>
                                <td class="session"><span>Panel: </span> <b>Evolution of RegTech: From innovation to maturity</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">15:00</th>
                                <td class="session"><span>Panel: </span> <b>Basel III: Adapting to regulatory divergence and competitive threats</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">15:45</th>
                                <td>Networking break</td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">16:15</th>
                                <td class="session"><span>Panel: </span> <b>DORA and the future of operational resilience in financial services</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">17:00</th>
                                <td class="session"><span>Panel: </span> <b>In the trenches of data management</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">17:45</th>
                                <td class="session"><span>Closing keynote: </span> <b>The role of technology in financial supervision</b> <span></span></td>
                            </tr>

                            <tr>
                                <th class="time" style="min-height: 59px;">18:00</th>
                                <td>Drinks &amp; canap&#xE9;s</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel previous-attendees-section">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title">Financial institutions represented at previous forums</h4>
                <div class="card-content">
                    <img src="https://suade.org/content/images/2024/03/RegTech_Forum_attendees_list_for_webiste-1.png" alt="Suade Regtech Forum 2026">
                </div>
            </li>
        </ul>
    </div>
</section>

<section class="page-panel blue-suade white-text">
    <div class="page-content">
        <ul class="cards">
            <li class="card no-hr">
                <h4 class="card-title white">Register now to request in-person pass</h4>
                <div class="card-paragraph">Don&apos;t miss this opportunity to be a part of the engaging and in-depth panel discussions and networking sessions with peers and influential figures in financial regulation. Join financial services executives, regulators, and government representatives as we collectively shape the future of the industry. Register your interest now and secure your spot.</div>
                <div class="additional-buttons join-us">
                    <a class="primary-button regtech-forum-button js-open-regtech-form" href="#regtech-register-modal">Register your interest</a>
                </div>
            </li>
        </ul>
    </div>
</section>

<div id="regtech-register-modal" class="regtech-modal" aria-hidden="true">
    <div class="regtech-modal-overlay js-close-regtech-form"></div>

    <div class="regtech-modal-box" role="dialog" aria-modal="true" aria-label="Register for Suade RegTech Forum">
        <button type="button" class="regtech-modal-close js-close-regtech-form" aria-label="Close registration form">&#xD7;</button>

<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000kAgRpYAK">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BA">Bosnia and Herzegovina</option>
<option value="BW">Botswana</option>
<option value="BR">Brazil</option>
<option value="BN">Brunei</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="CV">Cabo Verde</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
<option value="CG">Congo</option>
<option value="CD">Congo, Democratic Republic of the</option>
<option value="CR">Costa Rica</option>
<option value="CI">C&#xF4;te d&#x2019;Ivoire</option>
<option value="HR">Croatia</option>
<option value="CU">Cuba</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czechia</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="SZ">Eswatini</option>
<option value="ET">Ethiopia</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GD">Grenada</option>
<option value="GT">Guatemala</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KR">Korea</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Laos</option>
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia (Federated States of)</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="ME">Montenegro</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="MK">North Macedonia</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="QA">Qatar</option>
<option value="RO">Romania</option>
<option value="RU">Russian Federation</option>
<option value="RW">Rwanda</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="RS">Serbia</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="SS">South Sudan</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="SY">Syria</option>
<option value="TW">Taiwan</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey (T&#xFC;rkiye)</option>
<option value="TM">Turkmenistan</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="UA">Ukraine</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Viet Nam</option>
<option value="YE">Yemen</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }


          // 2) submit to WS Form REST endpoint

          const sleep = ms => new Promise(r => setTimeout(r, ms));

        async function fetchRetry(url, opts = {}, tries = 3) {
          try {
            const res = await fetch(url, { ...opts, signal: AbortSignal.timeout(8000) });
            if (!res.ok) throw Object.assign(new Error(`HTTP ${res.status}`), { res });
            return res;
          } catch (e) {
            if (tries <= 1) throw e;
            await sleep(400 * (4 - tries));
            return fetchRetry(url, opts, tries - 1);
          }
        }
     
        async function submitRemote(fd) {
          console.log("form submit");
          const res = await fetchRetry(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetchRetry('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again in a minute.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>


    </div>
</div>

<script>
    document.addEventListener('DOMContentLoaded', function () {
        var modal = document.getElementById('regtech-register-modal');
        var openButtons = document.querySelectorAll('.js-open-regtech-form');
        var closeButtons = document.querySelectorAll('.js-close-regtech-form');

        function openModal(event) {
            if (event) {
                event.preventDefault();
            }

            if (modal) {
                modal.classList.add('is-open');
                modal.setAttribute('aria-hidden', 'false');
                document.body.classList.add('regtech-modal-open');
            }
        }

        function closeModal() {
            if (modal) {
                modal.classList.remove('is-open');
                modal.setAttribute('aria-hidden', 'true');
                document.body.classList.remove('regtech-modal-open');
            }
        }

        openButtons.forEach(function (button) {
            button.addEventListener('click', openModal);
        });

        closeButtons.forEach(function (button) {
            button.addEventListener('click', closeModal);
        });

        document.addEventListener('keydown', function (event) {
            if (event.key === 'Escape') {
                closeModal();
            }
        });
    });
</script>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Agentic AI for Regulatory Reporting: What Changes in the Next 3–5 Years?]]></title><description><![CDATA[Regulatory reporting is entering a phase where three powerful trends are colliding: regulators are shifting to granular data models, supervisory expectations are becoming more continuous, and AI capabilities are moving from simple chatbots to agentic systems that can act across tools and datasets. ]]></description><link>https://suade.org/untitled-16/</link><guid isPermaLink="false">6a0c76fc84bb68095b84e4fb</guid><category><![CDATA[AI]]></category><category><![CDATA[Insights]]></category><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Tue, 19 May 2026 14:53:05 GMT</pubDate><media:content url="https://suade.org/content/images/2026/05/f1957032b300bd0fcaaf3d6c1a30a1722c323bc8.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://suade.org/content/images/2026/05/f1957032b300bd0fcaaf3d6c1a30a1722c323bc8.jpg" alt="Agentic AI for Regulatory Reporting: What Changes in the Next 3&#x2013;5 Years?"><p>Regulatory reporting is entering a phase where three powerful trends are colliding: regulators are shifting to granular data models, supervisory expectations are becoming more continuous, and AI capabilities are moving from simple chatbots to agentic systems that can act across tools and datasets. For heads of regulatory reporting, data and risk, the question is increasingly not whether AI will play a role, but how to design data, governance and architecture so agentic AI improves control rather than undermines it.</p><hr><h2 id="1-regulatory-change-has-become-a-data-problem">1. Regulatory change has become a data problem</h2><p>Across jurisdictions, supervisors are moving away from purely template-based collections and towards granular, common data models. That shift has three important consequences for reporting teams:</p><ul><li><strong>One core dataset, multiple regulatory views.</strong>&#xA0;Firms are expected to maintain granular data that can support different supervisory perspectives, rather than building each report as a standalone artefact</li><li><strong>From periodic to continuous.</strong>&#xA0;As regulators gain access to richer datasets, the logic of fixed reporting cycles starts to erode. Oversight becomes more &#x201C;always on&#x201D;, and so must the associated controls</li><li><strong>Change manifests in data, not just forms.</strong>&#xA0;Regulatory change now often arrives as new attributes, revised definitions or different aggregation rules, rather than only as redesigned templates</li></ul><p>In this world, regulatory change is fundamentally a data challenge. The institutions that cope best will be those that invest in a well-understood internal data model, with clear definitions and mappings to external standards, rather than those that focus purely on re&#x2011;engineering templates each time the rules move.</p><hr><h2 id="2-clean-governed-data-is-the-precondition-for-ai">2. Clean, governed data is the precondition for AI</h2><p>There is a well&#x2011;known maxim in AI: garbage in, garbage out. In regulatory reporting, that principle is unforgiving. Agentic AI systems can traverse datasets, fire off queries and orchestrate workflows at machine speed &#x2013; but they can&#x2019;t fix fundamental ambiguity in the underlying data.</p><p>For regulatory reporting, &#x201C;clean data&#x201D; means more than technically valid values:</p><ul><li><strong>Reconciled across functions.</strong>&#xA0;Finance, risk and regulatory views must be consistent, with no &#x201C;multiple versions of the truth&#x201D; for core measures</li><li><strong>Fully traceable.</strong>&#xA0;Every number in a report should be explainable back to underlying transactions, with lineage that covers systems, transformations and controls</li><li><strong>Owned and governed.</strong>&#xA0;Data needs clear ownership, quality rules and a governance framework that treats it as a controlled asset, not a byproduct</li></ul><p>AI can help here. It can draft or refresh documentation for complex calculations, highlight inconsistencies between definitions, and surface anomalies in large datasets far faster than manual methods. But those benefits only materialise when institutions have already done the groundwork on reconciliation, lineage and governance. Otherwise, AI simply accelerates the wrong answers.</p><hr><h2 id="3-from-chatbots-to-agentic-ai-what-actually-changes">3. From chatbots to agentic AI: what actually changes?</h2><p>Most organisations have now experimented with conversational tools &#x2013; chatbots that can answer questions, summarise documents or generate first drafts. Agentic AI goes further. Instead of waiting for one-off prompts, agentic systems can:</p><ul><li>Plan and decompose tasks into steps</li><li>Call tools and APIs, not just handle text</li><li>Interact with other agents to complete workflows</li></ul><p>In regulatory reporting, this opens up use cases such as:</p><ul><li>Investigating why a control or validation failed</li><li>Tracing the drivers of movement in a particular cell</li><li>Mapping attributes between two regulatory data standards</li><li>Drafting explanations or documentation for review</li></ul><p>Crucially, none of this changes where accountability sits. As Murat Abur, Suade&#x2019;s CIO, puts it: &#x201C;AI, while it feels like it&#x2019;s an intelligent being doing things &#x2013; it doesn&#x2019;t take away the accountability or the responsibility. It&#x2019;s just a tool, like a hammer. The person using it is still going to be responsible.&#x201D; AI can propose explanations, but humans still sign off on regulatory submissions and stand behind the numbers.</p><p>For that reason, agentic AI in regulatory reporting should initially focus on analysis, investigation and drafting &#x2013; the work that supports judgment &#x2013; rather than on making binding decisions.</p><hr><h2 id="4-what-an-ai%E2%80%91native-reporting-architecture-looks-like">4. What an AI&#x2011;native reporting architecture looks like</h2><p>Agentic AI does not sit in isolation; it sits on top of architecture. For regulatory reporting, &#x201C;AI&#x2011;native&#x201D; architecture has a few defining characteristics:</p><h2 id="api-first-and-granular">API-first and granular</h2><p>Agentic systems need the ability to ask precise questions of data. Instead of exporting entire datasets and hoping a model can cope, the platform must:</p><ul><li>Expose well-documented APIs that can fetch exactly the slice an agent needs (for example, &#x201C;time deposits from this source system on this date&#x201D;)</li><li>Support filtering, aggregation and sampling in ways that make sense for reporting controls and for AI context limits</li><li>Allow agents to iterate: ask a focused question, receive a subset, then refine further</li></ul><p>If the only options are &#x201C;all or nothing&#x201D; &#x2013; dumping millions of rows and hundreds of columns into a model &#x2013; costs, latency and context limitations will quickly become blockers.</p><h2 id="open-and-interoperable">Open and interoperable</h2><p>Regulatory data models will continue to evolve. Different supervisors will move at different speeds. To remain flexible, institutions need:</p><ul><li>A standardised internal model (ideally aligned with open standards) that can map to multiple regulatory schemas</li><li>An ability to generate or transform data between models without brittle, one&#x2011;off builds</li><li>Avoidance of black&#x2011;box systems where neither humans nor agents can inspect or query intermediate layers</li></ul><p>Here, AI can act as an adapter: reading attribute definitions and sample data to propose mappings between schemas, or to generate test data aligned with a new standard. But the underlying design still needs to be open and documented.</p><h2 id="designed-for-interrogation-not-opacity">Designed for interrogation, not opacity</h2><p>As models become more capable, the difference between institutions that can interrogate their data at every layer and those that cannot will be stark. AI&#x2011;native reporting architectures are built on the assumption that:</p><ul><li>Every number, transformation and control may be questioned by humans, by AI agents, or by supervisors</li><li>It must be possible to drill down, slice, and recombine data programmatically, not only through GUIs</li><li>Closed, opaque systems will be increasingly unacceptable in a world of granular data, continuous oversight and model risk scrutiny</li></ul><hr><h2 id="5-practical-agentic-ai-use-cases-%E2%80%93-and-clear-boundaries">5. Practical agentic AI use cases &#x2013; and clear boundaries</h2><p>To move beyond theory, institutions need a pragmatic ladder of use cases, starting where risk is low and value is clear.</p><h2 id="low-risk-high-value-use-cases">Low-risk, high-value use cases</h2><ul><li><strong>Documentation and knowledge management.</strong>&#xA0;Use AI to draft and refresh documentation for complex calculations, then have SMEs review and approve. Over time, this builds a high-quality knowledge base that both humans and agents can rely on</li><li><strong>Root-cause investigation.</strong>&#xA0;When a control fails or a number moves unexpectedly, agents can traverse lineage, query relevant slices of data and propose candidate explanations for human review</li><li><strong>Data quality triage.</strong>&#xA0;Agents can scan large batches for outliers, inconsistencies or missing values, prioritising issues for data owners to fix</li></ul><p>In all of these, AI is a force multiplier for experts, not a replacement.</p><h2 id="medium-risk-controlled-automation">Medium-risk, controlled automation</h2><p>Once comfortable with the basics, firms can move towards:</p><ul><li><strong>Semi-automated workflows.</strong>&#xA0;Agents that, for example, investigate a set of validation failures overnight, group them into patterns, propose fixes, and route them to the right teams &#x2013; with humans retaining the authority to apply or reject changes</li><li><strong>Schema mapping and regulatory change support.</strong>&#xA0;Agents that generate draft mappings between schemas or propose changes to accommodate new rules, again subject to expert review</li></ul><h2 id="boundaries-and-what-ai-should-not-do-for-now">Boundaries and what AI should not do (for now)</h2><p>There are also clear lines that should not be crossed in the near term:</p><ul><li>AI should not have the final say on decisions that carry regulatory, legal or reputational consequences</li><li>Agentic workflows should not be allowed to alter production reporting without traceable, human-approved controls</li><li>Models must be monitored for drift, bias and unexpected behaviours; &#x201C;set and forget&#x201D; is not an option</li></ul><p>The right test for each use case is simple: if the AI is wrong, can the institution detect and correct the error before it becomes a regulatory problem? If the answer is no, the use case is too far up the ladder.</p><hr><h2 id="6-a-3%E2%80%935-year-horizon-what-leading-firms-will-have-in-place">6. A 3&#x2013;5 year horizon: what leading firms will have in place</h2><p>Looking a few years ahead, the leading regulatory reporting functions are likely to share several traits:</p><ul><li><strong>Data-first operating models.</strong>&#xA0;A single, governed dataset that underpins multiple regulatory views, with clear ownership, lineage and BCBS 239 alignment</li><li><strong>AI embedded in everyday work.</strong>&#xA0;Documentation, investigations, testing and data quality are routinely supported by agents, reducing cycle times and freeing experts for higher&#x2011;order analysis</li><li><strong>Agentic workflows for change.</strong>&#xA0;Regulatory change programmes leverage agents to map schemas, generate test data, simulate impacts and surface implementation risks early</li><li><strong>Mature model governance for AI.</strong>&#xA0;AI tools are treated as models within existing frameworks, with defined controls for explainability, bias, drift and performance</li><li><strong>AI&#x2011;native platforms.</strong>&#xA0;API&#x2011;first, open architectures designed for fine-grained interrogation by both humans and agents, rather than monolithic, black-box stacks</li></ul><p>For institutions thinking about their regulatory reporting roadmaps today, the most important point is timing. The models are improving quickly. Once they become very good, the gap between firms that have done the foundational work &#x2013; on data, governance and architecture &#x2013; and those that have not will widen rapidly.</p><p>Now is the time to:</p><ul><li>Consolidate and govern the regulatory data model.</li><li>Bring AI explicitly into model risk and governance frameworks.</li><li>Modernise reporting architecture to be open, API&#x2011;first and AI&#x2011;native.</li><li>Build a small, well&#x2011;chosen portfolio of low&#x2011;risk agentic AI use cases and learn from them.</li></ul><hr><p>Suade&#x2019;s platform was built as an API&#x2011;first, AI&#x2011;native regulatory reporting system, designed to align with these requirements and support &#x201C;bring your own AI&#x201D; operating models. If you are exploring how agentic AI fits into your regulatory reporting strategy, or what it would take to move towards AI&#x2011;ready data, governance and architecture, our team would be happy to talk.</p><p><a href="https://suade.org/book-a-demo/" rel="noreferrer"><strong>Book a demo with a RegTech specialist today</strong></a>&#xA0;to see how Suade can help you prepare your regulatory reporting function for the next generation of AI&#x2011;driven workflows.</p><div class="kg-card kg-button-card kg-align-left"><a href="https://suade.org/book-a-demo/" class="kg-btn kg-btn-accent">BOOK A DEMO</a></div>]]></content:encoded></item><item><title><![CDATA[Suade RegTech Forum 2026]]></title><description><![CDATA[<p>Save the date for Suade&#x2019;s flagship forum in<strong> London</strong> on the Future of Regulatory Reporting.</p><p>On the 6 October 2026, 400 senior leaders from banking, regulation and technology will come together at Guildhall, City of London. This year&#x2019;s forum will focus on what firms should prepare</p>]]></description><link>https://suade.org/regtech-forum-2026/</link><guid isPermaLink="false">6a059c1c84bb68095b84e454</guid><dc:creator><![CDATA[Sophie Rose]]></dc:creator><pubDate>Thu, 14 May 2026 10:23:53 GMT</pubDate><media:content url="https://suade.org/content/images/2026/05/360_F_626050855_gwx1r9nJORnbKX6OMKSqk34s6hack2sp.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://suade.org/content/images/2026/05/360_F_626050855_gwx1r9nJORnbKX6OMKSqk34s6hack2sp.jpg" alt="Suade RegTech Forum 2026"><p>Save the date for Suade&#x2019;s flagship forum in<strong> London</strong> on the Future of Regulatory Reporting.</p><p>On the 6 October 2026, 400 senior leaders from banking, regulation and technology will come together at Guildhall, City of London. This year&#x2019;s forum will focus on what firms should prepare for next across AI, data standards, Basel 3.1, SDDT and cross-border complexity.</p><h2 id="key-details">Key details:</h2><p><strong>Date:</strong> 6 October 2026<br><strong>Location:</strong> Guildhall, City of London<br><strong>Speakers</strong>: 25+ High-profile speakers<br><strong>Attendees:</strong> 400+ Senior Industry Leaders<br><strong>Audience:</strong> Senior Industry Leaders, Regulators, and Technology Experts</p><h2 id="previous-speakers-have-included">Previous speakers have included:</h2><p>Phil Evans, Director Prudential Policy, Director Brexit, Bank of England, Lyndon Nelson, Deputy CEO, Bank of England, Neil Esho and William &apos;Bill&apos; Coen, Former Secretary Generals, Basel Committee on Banking Supervision.</p><figure class="kg-card kg-image-card"><img src="https://suade.org/content/images/2026/05/Untitled-design--1-.png" class="kg-image" alt="Suade RegTech Forum 2026" loading="lazy" width="1000" height="200" srcset="https://suade.org/content/images/size/w600/2026/05/Untitled-design--1-.png 600w, https://suade.org/content/images/2026/05/Untitled-design--1-.png 1000w" sizes="(min-width: 720px) 720px"></figure><h2 id="register-your-interest-today">Register your interest today!</h2><p>Speaker announcements and the full agenda will be shared soon.</p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000kAgRpYAK">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option><option value="AX">&#xC5;land Islands</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AS">American Samoa</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua and Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia (Plurinational State of)</option><option value="BQ">Bonaire, Sint Eustatius and Saba</option><option value="BA">Bosnia and Herzegovina</option><option value="BW">Botswana</option><option value="BV">Bouvet Island</option><option value="BR">Brazil</option><option value="IO">British Indian Ocean Territory</option><option value="BN">Brunei Darussalam</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="CV">Cabo Verde</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos (Keeling) Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CG">Congo</option><option value="CD">Congo, Democratic Republic of the</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="CI">C&#xF4;te d&#x2019;Ivoire</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CW">Cura&#xE7;ao</option><option value="CY">Cyprus</option><option value="CZ">Czechia</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="SZ">Eswatini</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands (Malvinas)</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="TF">French Southern Territories</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HM">Heard Island and McDonald Islands</option><option value="VA">Holy See</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran (Islamic Republic of)</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="KP">Korea (the Democratic People&#x2019;s Republic of)</option><option value="KR">Korea (the Republic of)</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Lao People&#x2019;s Democratic Republic</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macao</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia (Federated States of)</option><option value="MD">Moldova (Republic of)</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="MM">Myanmar</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="MK">North Macedonia</option><option value="MP">Northern Mariana Islands</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PS">Palestine, State of</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">R&#xE9;union</option><option value="RO">Romania</option><option value="RU">Russian Federation</option><option value="RW">Rwanda</option><option value="BL">Saint Barth&#xE9;lemy</option><option value="SH">Saint Helena, Ascension and Tristan da Cunha</option><option value="KN">Saint Kitts and Nevis</option><option value="LC">Saint Lucia</option><option value="MF">Saint Martin (French part)</option><option value="PM">Saint Pierre and Miquelon</option><option value="VC">Saint Vincent and the Grenadines</option><option value="WS">Samoa</option><option value="SM">San Marino</option><option value="ST">Sao Tome and Principe</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SX">Sint Maarten (Dutch part)</option><option value="SK">Slovakia</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="GS">South Georgia and the South Sandwich Islands</option><option value="SS">South Sudan</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SD">Sudan</option><option value="SR">Suriname</option><option value="SJ">Svalbard and Jan Mayen</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="SY">Syrian Arab Republic</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania, United Republic of</option><option value="TH">Thailand</option><option value="TL">Timor-Leste</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad and Tobago</option><option value="TN">Tunisia</option><option value="TR">Turkey (T&#xFC;rkiye)</option><option value="TM">Turkmenistan</option><option value="TC">Turks and Caicos Islands</option><option value="TV">Tuvalu</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom</option><option value="US">United States</option><option value="UM">United States Minor Outlying Islands</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VE">Venezuela (Bolivarian Republic of)</option><option value="VN">Viet Nam</option><option value="VG">Virgin Islands (British)</option><option value="VI">Virgin Islands (U.S.)</option><option value="WF">Wallis and Futuna</option><option value="EH">Western Sahara</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }

        async function submitRemote(fd) {

          // 2) submit to WS Form REST endpoint
      
          console.log("form submit");
          const res = await fetch(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetch('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Suade's Summer Party]]></title><description><![CDATA[<p><strong>Tuesday 2nd June | From 18:00 | London</strong></p><p>Suade will be hosting an informal gathering in the City of London, focused on networking and discussion with peers from across the wider community.</p><p>Bringing together professionals from across the industry, it will create space for conversation on the year so far, the</p>]]></description><link>https://suade.org/suades-summer-party/</link><guid isPermaLink="false">69e7344484bb68095b84e20c</guid><dc:creator><![CDATA[Phoebe Regnault]]></dc:creator><pubDate>Tue, 12 May 2026 09:07:13 GMT</pubDate><content:encoded><![CDATA[<p><strong>Tuesday 2nd June | From 18:00 | London</strong></p><p>Suade will be hosting an informal gathering in the City of London, focused on networking and discussion with peers from across the wider community.</p><p>Bringing together professionals from across the industry, it will create space for conversation on the year so far, the challenges firms are working through, and the priorities banks are now considering for the months ahead.</p><p>It will be a relaxed setting to meet others in the market, exchange views, and continue conversations over drinks, canap&#xE9;s, and bowl food.</p><p><strong>Please register your interest here:</strong></p><p></p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000j22TjYAI">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option><option value="AX">&#xC5;land Islands</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AS">American Samoa</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua and Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia (Plurinational State of)</option><option value="BQ">Bonaire, Sint Eustatius and Saba</option><option value="BA">Bosnia and Herzegovina</option><option value="BW">Botswana</option><option value="BV">Bouvet Island</option><option value="BR">Brazil</option><option value="IO">British Indian Ocean Territory</option><option value="BN">Brunei Darussalam</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="CV">Cabo Verde</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos (Keeling) Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CG">Congo</option><option value="CD">Congo, Democratic Republic of the</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="CI">C&#xF4;te d&#x2019;Ivoire</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CW">Cura&#xE7;ao</option><option value="CY">Cyprus</option><option value="CZ">Czechia</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="SZ">Eswatini</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands (Malvinas)</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="TF">French Southern Territories</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HM">Heard Island and McDonald Islands</option><option value="VA">Holy See</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran (Islamic Republic of)</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="KP">Korea (the Democratic People&#x2019;s Republic of)</option><option value="KR">Korea (the Republic of)</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Lao People&#x2019;s Democratic Republic</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macao</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia (Federated States of)</option><option value="MD">Moldova (Republic of)</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="MM">Myanmar</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="MK">North Macedonia</option><option value="MP">Northern Mariana Islands</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PS">Palestine, State of</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">R&#xE9;union</option><option value="RO">Romania</option><option value="RU">Russian Federation</option><option value="RW">Rwanda</option><option value="BL">Saint Barth&#xE9;lemy</option><option value="SH">Saint Helena, Ascension and Tristan da Cunha</option><option value="KN">Saint Kitts and Nevis</option><option value="LC">Saint Lucia</option><option value="MF">Saint Martin (French part)</option><option value="PM">Saint Pierre and Miquelon</option><option value="VC">Saint Vincent and the Grenadines</option><option value="WS">Samoa</option><option value="SM">San Marino</option><option value="ST">Sao Tome and Principe</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SX">Sint Maarten (Dutch part)</option><option value="SK">Slovakia</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="GS">South Georgia and the South Sandwich Islands</option><option value="SS">South Sudan</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SD">Sudan</option><option value="SR">Suriname</option><option value="SJ">Svalbard and Jan Mayen</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="SY">Syrian Arab Republic</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania, United Republic of</option><option value="TH">Thailand</option><option value="TL">Timor-Leste</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad and Tobago</option><option value="TN">Tunisia</option><option value="TR">Turkey (T&#xFC;rkiye)</option><option value="TM">Turkmenistan</option><option value="TC">Turks and Caicos Islands</option><option value="TV">Tuvalu</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom</option><option value="US">United States</option><option value="UM">United States Minor Outlying Islands</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VE">Venezuela (Bolivarian Republic of)</option><option value="VN">Viet Nam</option><option value="VG">Virgin Islands (British)</option><option value="VI">Virgin Islands (U.S.)</option><option value="WF">Wallis and Futuna</option><option value="EH">Western Sahara</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }

        async function submitRemote(fd) {

          // 2) submit to WS Form REST endpoint
      
          console.log("form submit");
          const res = await fetch(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetch('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Suade Client User Forum & Summer Party]]></title><description><![CDATA[<p><strong>Tuesday 2nd June | From 4:30 | London</strong></p><p>We welcome our clients to join the Suade team for an evening of discussion, updates, and conversation with peers across the community.</p><p>During the forum, the Suade team will present a round-up of what has happened so far this year, what we have</p>]]></description><link>https://suade.org/client-user-forum/</link><guid isPermaLink="false">69e7340684bb68095b84e205</guid><dc:creator><![CDATA[Phoebe Regnault]]></dc:creator><pubDate>Tue, 05 May 2026 09:46:16 GMT</pubDate><content:encoded><![CDATA[<p><strong>Tuesday 2nd June | From 4:30 | London</strong></p><p>We welcome our clients to join the Suade team for an evening of discussion, updates, and conversation with peers across the community.</p><p>During the forum, the Suade team will present a round-up of what has happened so far this year, what we have been working on, and the product updates currently in the pipeline. The evening will also create space to hear from others in the room on how the year has unfolded so far, and what banks are now considering as they prepare for the months ahead.</p><p>There will be canap&#xE9;s, bowl food, drinks, and time to enjoy the evening together in a more informal setting.</p><p><strong>Please register your interest here:</strong></p>
<!--kg-card-begin: html-->
<div style="max-width:640px; margin:0 auto; background:#e9f0ff; border:1px solid #dbe4ff; border-radius:8px; padding:22px; font-family: var(--first-font-type), sans-serif; color:#111827;">


    <!-- Success message (hidden until submit succeeds) -->
    <div id="successBox" style="display:none; margin-top:4px;">
        
        <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Thank you for registering</h2>
      <div style="border-left:4px solid #4d67e6; padding-left:12px; line-height:1.5;">We&#x2019;ve received your details and are reviewing your submission. We&#x2019;ll contact you shortly with the next steps.
        </div>
    </div>

    <form id="regForm" novalidate>

          <h2 style="margin:0 0 18px; font-size:22px; font-weight:700;">Registration open</h2>
          <!-- CHANGE CONSTANTS HERE -->

        <!-- Hidden constants required by the remote WS Form endpoint -->
        <input type="hidden" id="field_12" value="701QB00000j1sRJYAY">  <!-- Salesforce campaign -->
        <input type="hidden" id="field_13" value="Registered"> <!-- Salesforce Status -->
              <input type="hidden" id="field_17" value="Marketing - event registration"> <!-- Salesforce source -->
        <input type="hidden" id="field_14" value="Ghost"> <!-- WP post id used by WS Form -->
        <input type="hidden" id="field_15" value> <!-- Zoom webinar ID -->

        <!-- -->
     
        <!-- First / Last -->
        <div style="display:flex; gap:16px; margin-bottom:14px; flex-wrap:wrap;">
            <div style="flex:1; min-width:220px;">
                <label for="field_1" style="display:block; font-size:14px; margin:0 0 6px;">First name <span style="color:#dc2626;">*</span></label>
                <input id="field_1" required autocomplete="given-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
            <div style="flex:1; min-width:220px;">
                <label for="field_2" style="display:block; font-size:14px; margin:0 0 6px;">Last name <span style="color:#dc2626;">*</span></label>
                <input id="field_2" required autocomplete="family-name" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
            </div>
        </div>

        <!-- Title -->
        <div style="margin-bottom:14px;">
            <label for="field_8" style="display:block; font-size:14px; margin:0 0 6px;">Job title <span style="color:#dc2626;">*</span></label>
            <input id="field_8" required style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Company -->
        <div style="margin-bottom:14px;">
            <label for="field_9" style="display:block; font-size:14px; margin:0 0 6px;">Company <span style="color:#dc2626;">*</span></label>
            <input id="field_9" required autocomplete="organization" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>

        <!-- Email -->
        <div style="margin-bottom:14px;">
            <label for="field_3" style="display:block; font-size:14px; margin:0 0 6px;">Email <span style="color:#dc2626;">*</span></label>
            <input id="field_3" type="email" required autocomplete="email" inputmode="email" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
        </div>
        <div id="emailError" style="display:none; color:#b91c1c; font-size:13px; margin:0 0 10px 0;">Please enter a valid work email address.</div>

        <!-- Message -->
        <div style="margin-bottom:14px; display:None">
            <label for="field_5" style="display:block; font-size:14px; margin:0 0 6px;">Message <span style="color:#dc2626;">*</span></label>
            <textarea id="field_5" rows="6" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px; resize:vertical;"></textarea>
        </div>

        <!-- Country (ISO alpha-2; name MUST be field_10[] to match cURL) -->
        <div style="margin-bottom:18px;">
            <label for="field_10" style="display:block; font-size:14px; margin:0 0 6px;">Country <span style="color:#dc2626;">*</span></label>
            <select id="field_10" name="field_10[]" required autocomplete="country" style="width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #c7d2fe; border-radius:6px; background:#fff; font-size:14px;">
                <option value selected disabled>Select...</option>
                <option value="AF">Afghanistan</option><option value="AX">&#xC5;land Islands</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AS">American Samoa</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua and Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia (Plurinational State of)</option><option value="BQ">Bonaire, Sint Eustatius and Saba</option><option value="BA">Bosnia and Herzegovina</option><option value="BW">Botswana</option><option value="BV">Bouvet Island</option><option value="BR">Brazil</option><option value="IO">British Indian Ocean Territory</option><option value="BN">Brunei Darussalam</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="CV">Cabo Verde</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos (Keeling) Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CG">Congo</option><option value="CD">Congo, Democratic Republic of the</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="CI">C&#xF4;te d&#x2019;Ivoire</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CW">Cura&#xE7;ao</option><option value="CY">Cyprus</option><option value="CZ">Czechia</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="SZ">Eswatini</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands (Malvinas)</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="TF">French Southern Territories</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HM">Heard Island and McDonald Islands</option><option value="VA">Holy See</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran (Islamic Republic of)</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="KP">Korea (the Democratic People&#x2019;s Republic of)</option><option value="KR">Korea (the Republic of)</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Lao People&#x2019;s Democratic Republic</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macao</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia (Federated States of)</option><option value="MD">Moldova (Republic of)</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="MM">Myanmar</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="MK">North Macedonia</option><option value="MP">Northern Mariana Islands</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PS">Palestine, State of</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">R&#xE9;union</option><option value="RO">Romania</option><option value="RU">Russian Federation</option><option value="RW">Rwanda</option><option value="BL">Saint Barth&#xE9;lemy</option><option value="SH">Saint Helena, Ascension and Tristan da Cunha</option><option value="KN">Saint Kitts and Nevis</option><option value="LC">Saint Lucia</option><option value="MF">Saint Martin (French part)</option><option value="PM">Saint Pierre and Miquelon</option><option value="VC">Saint Vincent and the Grenadines</option><option value="WS">Samoa</option><option value="SM">San Marino</option><option value="ST">Sao Tome and Principe</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SX">Sint Maarten (Dutch part)</option><option value="SK">Slovakia</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="GS">South Georgia and the South Sandwich Islands</option><option value="SS">South Sudan</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SD">Sudan</option><option value="SR">Suriname</option><option value="SJ">Svalbard and Jan Mayen</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="SY">Syrian Arab Republic</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania, United Republic of</option><option value="TH">Thailand</option><option value="TL">Timor-Leste</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad and Tobago</option><option value="TN">Tunisia</option><option value="TR">Turkey (T&#xFC;rkiye)</option><option value="TM">Turkmenistan</option><option value="TC">Turks and Caicos Islands</option><option value="TV">Tuvalu</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom</option><option value="US">United States</option><option value="UM">United States Minor Outlying Islands</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VE">Venezuela (Bolivarian Republic of)</option><option value="VN">Viet Nam</option><option value="VG">Virgin Islands (British)</option><option value="VI">Virgin Islands (U.S.)</option><option value="WF">Wallis and Futuna</option><option value="EH">Western Sahara</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option>
            </select>
        </div>

        <!-- Submit -->
        <button type="submit" style="font-family: IBM Plex Sans, sans-serif; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#4d67e6; color:#fff; font-size:16px; font-weight:600; cursor:pointer;">
            Submit
        </button>
   
        <!-- If you provide a reCAPTCHA token, put it here (or wire up v3 to fill it before submit) -->
        <input type="hidden" id="g-recaptcha-response" value>
    
           <p>By submitting this form to Suade you hereby agree that any personal information you provide can be processed according to Suade&#x2019;s <a href="https://suade.org/privacy-policy/">Privacy policy</a>.</p>
    
    </form>

    <div id="status" style="margin-top:12px; font-size:14px;" aria-live="polite"></div>


  
    <script>
      (function () {
        console.log("script start");

        const emailInput = document.getElementById('field_3');
        const errEl = document.getElementById('emailError');

        // Base providers (compare against the "second-level" label like gmail, yahoo, outlook, etc.)
        const BLOCKED_SLD = new Set([
          'gmail',
          'yahoo',
          'hotmail',
          'live',
          'outlook',
          'aol',
          'msn',
          'icloud',
          'me',
          'mac',
          'btinternet',
          'talktalk',
          'virginmedia',
          'comcast',
          'verizon',
          'sky',
        ]);

        function baseLabel(host) {
          const parts = host.split('.').filter(Boolean);
          if (parts.length < 2) return host;
          const tld = parts[parts.length - 1];
          // ccTLD heuristic (e.g., .co.uk, .com.au)
          if (tld.length === 2 && parts.length >= 3) {
            return parts[parts.length - 3]; // label before .co.uk/.com.au
          }
          return parts[parts.length - 2];
        }

        function isPersonalEmail(email) {
          const m = String(email).toLowerCase().match(/^[^@\s]+@([^@\s]+)$/);
          if (!m) return false; // let type=email handle malformed addresses
          const host = m[1];
          const sld = baseLabel(host);
          return BLOCKED_SLD.has(sld);
        }

        function showWorkEmailError(show) {
          if (show) {
            emailInput.setCustomValidity('Please enter a valid work email address.');
            errEl.style.display = 'block';
          } else {
            emailInput.setCustomValidity('');
            errEl.style.display = 'none';
          }
        }

        function validateEmail() {
          const val = emailInput.value.trim();
          const block = val && isPersonalEmail(val);
          showWorkEmailError(block);
          return !block;
        }

        emailInput.addEventListener('input', validateEmail);
        emailInput.addEventListener('blur', validateEmail);


        const ENDPOINT = 'https://harrya10.sg-host.com/wp-json/ws-form/v1/submit'; // remote WP site
        const $ = (id) => document.getElementById(id);

        function buildFormData(nonce) {
          const fd = new FormData();
          // Main fields (must match cURL exactly)
          fd.append('field_1',  $('field_1').value.trim());
          fd.append('field_2',  $('field_2').value.trim());
          fd.append('field_8',  $('field_8').value.trim());
          fd.append('field_9',  $('field_9').value.trim());
          fd.append('field_3',  $('field_3').value.trim());
          fd.append('field_5',  $('field_5').value.trim());
          fd.append('field_10[]', $('field_10').value); // ISO alpha-2

          // Hidden fields/constants
          fd.append('field_12', $('field_12').value);
          fd.append('field_13', $('field_13').value);
          fd.append('field_17', $('field_17').value);
          fd.append('field_15', $('field_15').value);
          fd.append('field_14', $('field_14').value);

          // reCAPTCHA token (optional but often required on receiver)
          // fd.append('g-recaptcha-response', $('g-recaptcha-response').value || '');

          // WS Form meta (match cURL)
          fd.append('wsf_form_id', '1');
          fd.append('wsf_hash', '');
          fd.append('wsf_nonce', nonce);
          fd.append('wsf_post_id', $('field_14').value);
          fd.append('wsf_post_mode', 'submit');
          fd.append('wsf_hidden', '');
          fd.append('wsf_bypass_required', '');
          console.table([...fd]); //
          return fd;
        }

        async function submitRemote(fd) {

          // 2) submit to WS Form REST endpoint
      
          console.log("form submit");
          const res = await fetch(ENDPOINT, {
            method: 'POST',
            body: fd,
            mode: 'cors',
            credentials: 'omit'
          });

          return res;
        }

        const form = $('regForm');
        const statusEl = $('status');
        const success = $('successBox');

        form.addEventListener('submit', async (e) => {
          e.preventDefault();
          if (!form.checkValidity()) { form.reportValidity(); return; }

          const btn = form.querySelector('button[type="submit"]');
          console.log("button clicked");

          btn.disabled = true;
          statusEl.style.color = '#111827';
          statusEl.textContent = 'Submitting…';

          try {

            const { nonce } = await fetch('https://harrya10.sg-host.com/wp-json/custom/v1/nonce', {
              credentials: 'include' 
            }).then(r => r.json());


            const fd = buildFormData(nonce);
            const res = await submitRemote(fd);

            if (res.ok) {
              form.style.display = 'none';
              success.style.display = 'block';
              statusEl.textContent = '';
              console.log("submission OK");

            } else {
              const t = await res.text().catch(() => '');
              statusEl.style.color = '#b91c1c';
              statusEl.textContent = 'Submission failed. Please try again.';
              console.error('WS Form error', res.status, t);
            }
          } catch (err) {
            statusEl.style.color = '#b91c1c';
            statusEl.textContent = 'Network error. Please try again.';
            console.error(err);
          } finally {
            btn.disabled = false;
            console.log(res);

          }
        });
      })();
    </script>

</div>

<!--kg-card-end: html-->
]]></content:encoded></item></channel></rss>