We are currently investigating an issue affecting Google PhishRIP queries, which may cause them to fail.
monitoring
Based on our investigation into the recent errors affecting Google PhishRIP queries, it appears these may be related to suspended Gmail accounts. We are continuing to monitor the issue.
resolved
Upon further investigation we have determined that the errors affecting Google PhishRIP queries were related to individual issues on Google accounts.
SAT Account Settings not Loading
Início 4 Eost 2026 da 19:19 UTC · 16h 58m
IssuesMinor incident
Componentes afetados
Console
identified
We have identified an issue preventing account settings from loading in the SAT console.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
Emails inesperados em quarentena pela PhishRIP
Início 28 Gouere 2026 da 20:00 UTC · 22h 58m
IssuesMinor incident
Componentes afetados
PhishRIP
investigating
Estamos investigando um problema relacionado com e-mails sendo colocados em quarentena pela PhishRIP inesperadamente
monitoring
Uma correção foi implementada para este problema e as consultas do PhishRIP não estão mais quaranteando mensagens inesperadamente. Ainda estamos investigando consultas que podem ter sido impactadas
resolved
Este incidente foi resolvido.
postmortem
## **Resumo #
Em 28 de julho de 2026, uma atualização para o serviço PhishRIP fez com que algumas consultas de pesquisa PhishRIP combinassem mais amplamente do que deveriam. E-mails benignos que não atenderam aos critérios de remetente configurados foram colocados em quarentena em algumas contas de clientes.
Monitoramento automatizado e tickets de suporte ao cliente surgiram rapidamente. A engenharia reverteu a mudança dentro de aproximadamente 25 minutos após declarar o incidente e parou a quarentena não intencional. A engenharia então restaurou manualmente os e-mails de quarentena incorreta para as caixas de entrada dos clientes.
# # ** Causa da raiz #
Em 28 de julho de 2026, implantamos uma atualização de manutenção para o serviço de consulta por trás da PhishRIP. Esta atualização foi projetada para melhorar o manuseio de endereços de remetentes inválidos, permitindo que o sistema volte a pesquisar apenas a parte de domínio do endereço.
No entanto, a lógica de validação existente usou uma expressão regular que exigia um símbolo "@" no campo remetente. Quando uma consulta usou um domínio nu, como [example.com](http://example.com) sem nome de usuário ou símbolo "@", o regex marcou o domínio como inválido.
Este conflito entre a validação existente e a atualização de pesquisa de domínio fez com que o sistema largasse inteiramente os critérios do remetente. A consulta correu contra caixas de entrada usando apenas seus parâmetros restantes, correspondência e quarentena de e-mails bem fora do remetente pretendido.
** Timeline
Todos os tempos estão em UTC.
Tempo** ** Eventos**
--- --- --- ---
Nosso monitoramento automatizado detectou padrões anômalos de execução de consultas e alertou nossos engenheiros, que imediatamente começaram a investigar. □
O problema foi aumentado para um incidente de produção de alta gravidade, e uma equipe de resposta foi montada. □
Nossa equipe de suporte aumentou os primeiros tickets de clientes que relataram quarentenas inesperadas, corroborando o alerta de monitoramento.
A causa raiz foi rastreada para uma implantação recente da API de consultas, e a engenharia começou a reverter a mudança.
As comunicações de incidentes foram postadas em nossa página de status, com o PhishRIP marcado como Degradado.
20:16 A implantação foi totalmente revertida.
As verificações de produção confirmaram que as consultas de assunto e domínio estavam de novo a corresponder apenas aos seus alvos pretendidos, e que não havia mais mensagens em quarentena por erro. Nossa página de status foi atualizada em conformidade. □
A engenharia começou a restaurar os e-mails de quarentena incorreta.
As restaurações foram concluídas para todos os conjuntos de consultas de clientes registrados através de nossa equipe de suporte.
## **Mitigação e reparação
** Reversão do código.** Nós pesamos parando operações PhishRIP ativo no meio da corrida contra reverter o código. Parar as tarefas de fundo teria interrompido fluxos de trabalho de segurança legítimos para cada inquilino, então reverter foi a melhor opção. O reverso do código foi implantado e verificado na produção dentro de aproximadamente 40 minutos após a escalada.
** Restauração de email. Para evitar o lançamento de emails genuinamente maliciosos de volta aos ambientes do cliente, nós os restauramos manualmente ao invés de em massa. A Engenharia usou ferramentas internas de administração para restaurar e-mails em lotes, e trabalhou com o Suporte para verificar cada identificação de conta, identificação de consulta e receber a aprovação do cliente primeiro. Todas as contas relatadas foram restauradas durante a noite.
** ** Medidas preventivas
* ** Cobertura de regressão**: Estamos adicionando testes de unidade e integração para consultas somente de domínio, não padrão e remetente de texto nu para capturar esses casos de entrada antes da implantação.
* **Query guardrails**: Estamos adicionando uma verificação no motor de consulta que bloqueia consultas de execução se seus parâmetros de filtragem de núcleo são deixados cair durante a avaliação.
## **Conclusão
Uma única regra de validação causou isso: um regex que assumiu que cada campo de remetente continha um `@`. Quando as consultas usaram um domínio nu, essa suposição deixou cair o filtro do remetente e as consultas combinaram muito mais e- mail do que o pretendido. A correção foi simples uma vez que encontramos, e o reverso parou o dano em cerca de 25 minutos após declarar o incidente.
Restaurar o correio em quarentena foi um processo mais difícil: não conseguimos restaurar e-mails em massa sem arriscar e-mails genuinamente maliciosos voltando para caixas de entrada. Nossa equipe optou por proceder com cuidado, trabalhando conta por conta com Suporte durante toda a noite.
Duas medidas preventivas teriam captado isso antes: um teste cobrindo somente consultas de remetentes de domínio, e um guardrail que se recusa a executar uma consulta quando seu filtro de remetentes foi despojado. Ambos estão agora planeados. O problema imediato está resolvido, e todas as contas relatadas foram restauradas.
Glossário
* ** PhishRIP:** Uma funcionalidade PhishER que permite aos administradores pesquisar e colocar em quarentena e-mails de phishing correspondentes em cada caixa de entrada do usuário em uma organização.
* **Regex \(expressão regular\):** Um padrão usado no software para pesquisar texto e validar entrada, como verificar se um endereço de e-mail é formatado corretamente.
* ** Reversão de código:** Retirando uma atualização de software para retornar à versão estável anterior.
Traduzido automaticamente da atualização oficial do incidente.
Proteja página de compra em branco no store.knowbe4.com
Início 17 Gouere 2026 da 13:18 UTC · Em andamento
OutageMajor incident
Componentes afetados
KnowBe4 Website
investigating
Estamos investigando usuários sendo incapazes de comprar Proteja licenças no store.knowbe4.com. Atualizaremos esta página quando tivermos mais informações.
monitoring
Implementamos uma correção e estamos monitorando os resultados para garantir que não ocorram mais problemas.
investigating
Recebemos relatórios de que os clientes são incapazes de comprar Protect licenças em store.knowbe4.com. Estamos investigando este problema e atualizaremos esta página quando tivermos mais informações.
monitoring
Implementamos uma correção para a loja online e estamos monitorando os resultados para garantir que não ocorram mais problemas.
Traduzido automaticamente da atualização oficial do incidente.
Defender - Redireccionar no Login
Início 16 Gouere 2026 da 19:48 UTC · 1h 32m
OutageMajor incident
Componentes afetados
Console
investigating
Identificamos um problema em que os usuários podem receber um redirecionamento ao entrar na Defender, e nossa equipe de engenharia está procurando uma solução.
identified
Foi identificada uma solução, e estaremos a monitorizar os resultados à medida que for saindo.
resolved
Este incidente foi resolvido.
Traduzido automaticamente da atualização oficial do incidente.
Proteja página de compra em branco no store.knowbe4.com
Início 15 Gouere 2026 da 16:46 UTC · 21h 18m
OutageMajor incident
Componentes afetados
KnowBe4 Website
investigating
Estamos investigando usuários sendo incapazes de comprar Proteja licenças no store.knowbe4.com. Atualizaremos esta página quando tivermos mais informações.
investigating
Continuamos a investigar esta questão.
monitoring
Foi implementada uma correção e estamos monitorando os resultados.
resolved
Este incidente foi resolvido.
Traduzido automaticamente da atualização oficial do incidente.
Degradação PhishML
Início 10 Gouere 2026 da 14:30 UTC · 0m
Pending
resolved
Um problema de serviço de flag upstream degrada o roteamento do modelo na inferência de colaboração, fazendo com que as avaliações do PhishML retornem 0/0/0 erros padrão. O terceiro implantou uma correção, e uma atualização de código foi implantada para a produção adicionando roteamento estático.
Todos os serviços foram recuperados e estão a funcionar normalmente.
Traduzido automaticamente da atualização oficial do incidente.
KSAT Intermittent Login Issues - US
Início 1 Gouere 2026 da 14:40 UTC · 3h 21m
IssuesMinor incident
Componentes afetados
Console
investigating
We have received reports that users are experiencing issues when logging into the US instance. We are investigating this issue and will update this page when we have more information.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
postmortem
## **Executive Summary**
On July 1, 2026, the KnowBe4 Security Awareness Training \(KSAT\) platform experienced a period of degraded performance resulting in intermittent login errors and high latency for users on our United States \(US\) instance. The issue was initiated following a routine platform deployment that introduced an unoptimized database query. This query placed an excessive operational load on our primary database reader cluster, causing database sessions to saturate and subsequent login requests to queue up.
Engineering teams promptly identified the degradation, reverted the deployment, and systematically cleared the backlogged database sessions to restore optimal performance. The issue did not affect data integrity or security, and service was fully stabilized.
## **Technical Root Cause**
The root cause was determined to be a newly introduced query within a standard application update. Upon deployment, this specific query pattern bypassed optimal indexing strategies, resulting in full table scans and highly extended execution times on the database reader infrastructure.
As a high volume of authentication and application requests arrived concurrently, the database reader quickly exhausted its available connection pool due to these long-running, unmitigated database sessions. This resource starvation immediately manifested as severe application latency and intermittent timeouts during the user authentication process.
## **Timeline of Events**
The incident began in the mid-morning hours and progressed through identification, remediation, and verification stages over a period of approximately 152 minutes.
An internal high-severity incident response group was established immediately following automated monitoring alerts indicating that health checks targeting our application programming interface \(API\) routing layer were failing from regional cloud monitoring nodes. This behavior was confirmed by concurrent engineering analysis of user HTTP Archive files, which demonstrated severe latency spikes specifically isolated to the authentication endpoints.
Within three minutes of establishing the response team, cross-referencing recent system changes pointed to a recent application deployment as the primary catalyst. Engineers immediately initiated the rollback process, drafting and approving a revert modification to extract the problematic code from the deployment pipeline.
The deployment of the reverted codebase to the US production cluster commenced shortly thereafter. While the deployment processed over the subsequent twenty-five minutes, technical personnel prepared direct database interventions to clear the residual system strain. Once the stable code version was completely active across the fleet, engineers began systematically terminating the lingering, long-running database sessions that had been spawned by the unoptimized query. To ensure a pristine state, the database reader infrastructure was cycled twice.
Following these administrative infrastructure restarts, operational telemetry showed the database reader load dropping significantly to a healthy baseline of approximately thirty-six percent. System performance normalized, and administrative logging verified that authentication requests were processing within standard latency thresholds. After monitoring the environment to confirm sustained stability, engineers officially marked the incident as mitigated, later shifting the status to fully resolved following an extended window of zero performance spikes and complete passes on all automated sanity test suites.
## **Mitigation**
To alleviate the immediate infrastructure distress and restore user access, the engineering team executed a multi-phased mitigation strategy:
* **Codebase Rollback:** The changes introduced in the recent deployment were immediately isolated, reverted, and redeployed to production to prevent any further generation of the unoptimized query.
* **Database Session Termination:** Internal engineering tools were utilized to explicitly terminate active, long-running database queries that were blocking the connection pools.
* **Infrastructure Cycling:** The database reader instances were restarted twice in succession to flush out stale memory allocations and guarantee that all orphaned database sessions were permanently cleared.
## **Preventative Measures**
To prevent a recurrence of this specific issue and mitigate the impact of similar query-based database bottlenecks in the future, KnowBe4 is implementing the following actions:
* **Enhanced Query Linting and Analysis:** Integrate automated query execution plan analysis into our continuous integration and continuous deployment pipelines to flag unindexed or high-cost queries before they reach production environments.
* **Database Connection Pooling Guardrails:** Adjust database timeouts and implement aggressive circuit-breaker thresholds for user authentication paths to prevent single, long-running query patterns from exhausting the entire connection pool.
* **Load Shedding Policies:** Implement strict application-level timeouts on read-heavy database calls to ensure they fail gracefully rather than degrading the overall availability of the core login workflows.
## **Conclusion**
We sincerely apologize for the inconvenience and friction this performance degradation caused our customers and partners. KnowBe4 is dedicated to maintaining high availability and reliability across our product suites. By refining our pre-deployment automated query validation and bolstering our database connection resiliency, we are actively working to ensure the continuous, seamless operation of the KSAT platform.
## **Glossary of Technical Terms**
* **API \(Application Programming Interface\):** A set of protocols that allows different software applications to communicate with one another. In this context, it routes authentication requests from the user interface to the backend servers.
* **Database Reader:** A dedicated database instance or cluster responsible for handling read-only queries \(such as fetching user profiles or validating login configurations\), separating this traffic from write operations to optimize performance.
* **HAR \(HTTP Archive\) File:** A JSON-formatted log file that records a web browser's interaction with a website, used by engineers to diagnose performance and network latency issues.
* **Latency:** The time delay or duration it takes for a data packet or request to travel from its source to its destination and return a response.
* **Sanity Suite:** A collection of automated tests executed against a deployment environment to quickly verify that the core functionality of an application is working correctly.
Defend - Increased Email Latency (US Only)
Início 30 Mezheven 2026 da 16:14 UTC · 3h 32m
IssuesMinor incident
Componentes afetados
Mail Flow
investigating
We have received reports that emails sent to Defend are experiencing delays being delivered to inboxes using SMTP. We are investigating this issue and will update this page when we have more information.
resolved
This incident has been resolved.
postmortem
#### Summary
On June 30, 2026, customers using the Defend US service experienced delays in email processing. The incident began at approximately 14:00 UTC and was fully resolved by 19:45 UTC.
#### What Happened
A scheduled maintenance operation began in the early morning of June 30. As this operation progressed, it placed an unexpectedly high load on our infrastructure, which caused email processing to slow down across our US service.
Our team identified the issue and declared an incident at 16:00 UTC. Steps were taken to reduce the load and restore normal processing speeds, including pausing non-essential background activity and engaging our infrastructure provider for additional support.
By 17:45 UTC, email delivery delays had been fully resolved. Email analysis continued to recover and was back to normal by 19:45 UTC.
#### Customer Impact
Email delivery \(SMTP customers\): Emails were delayed in transit by up to 30 minutes between approximately 14:00 UTC and 17:45 UTC. All emails were delivered; no messages were lost.
Email analysis \(Microsoft 365 / Graph API customers\): Email analysis was delayed by an average of 30 minutes before emails were analysed, between approximately 14:00 UTC and 19:45 UTC. Email delivery to end users was not affected.
#### What We Are Doing
We have rescheduled the maintenance operation that triggered this incident to run during an overnight, low-traffic window, giving it sufficient time to complete without affecting the live service.
We are also investing in infrastructure improvements to better isolate maintenance operations from customer-facing workloads, so that future maintenance cannot affect email processing in this way.
Avaliação PhishML Causando PML:BYPASSED Marcas a Aplicar
Início 30 Mezheven 2026 da 14:18 UTC · 4h 54m
IssuesMinor incident
Componentes afetados
PhishML
investigating
Identificamos um problema em que avaliações PhishML estão fazendo com que a tag "PML:BYPASSED" seja aplicada.
monitoring
Implementamos uma correção para o PhishER e estamos monitorando os resultados para garantir que não ocorram mais problemas. Mensagens impactadas podem ser reproduzidas através de todas as regras e ações. Esteja ciente de que isso pode fazer com que respostas duplicadas sejam enviadas se uma ação for executada com sucesso durante este incidente. Se tiver mais perguntas ou preocupações contacte directamente a nossa equipa de apoio: https://support.knowbe4.com/hc/en-us/requests/new
O seguinte artigo de base de conhecimento contém instruções sobre como reproduzir mensagens: https://support.knowbe4.com/hc/en-us/articles/13169303385619-PhishER-Inbox-Guide#h 01HCNEBF8CJQ98G9PGM7HGDZ0
resolved
Este incidente foi resolvido.
postmortem
Na terça-feira, 30 de junho de 2026, de aproximadamente 07:40 a 19:15 \(UTC\), os clientes experimentaram resultados incorretos da pontuação PhishER PhishML. E-mails afetados receberam uma tag PML:BYPASSED em vez de uma classificação PhishML legítima, e faltaram escores de confiança nas mensagens impactadas. Regras e ações que dependem dos resultados do PhishML também não foram ativadas.
Esta questão foi causada por um refactor de código introduzido aproximadamente duas semanas antes. Este refator introduziu uma atualização falha que omitiu os drivers essenciais necessários para a pontuação PhishML para executar. No entanto, o problema permaneceu dormente até que outra atualização desencadeou uma nova implantação do modelo PhishML, o que fez com que o problema de pontuação surgisse. Para resolver esse problema, nossa equipe voltou para a última implantação estável e adicionou mais capacidade para processar o atraso resultante das avaliações de email. A pontuação PhishER PhishML retornou ao desempenho normal em 19:15 \(UTC\).
Para evitar este tipo de questão no futuro, temos melhorado os controlos de saúde através da introdução de um novo parâmetro para testar novos modelos antes da implantação.
Traduzido automaticamente da atualização oficial do incidente.
KCM GRC - 500 Errors Upon Login
Início 24 Mezheven 2026 da 15:48 UTC · 21h 23m
IssuesMinor incident
Componentes afetados
KCM GRC
investigating
We have identified an issue where users may receive a 500 error upon logging into KCM GRC, and our engineering team is looking into a fix.
monitoring
We have identified an issue where users may receive a 500 error upon logging into KCM GRC. A fix has been implemented, and we will continue to monitor this issue.
resolved
We have identified an issue where users may receive a 500 error upon logging into KCM GRC. A fix has been implemented, and users should be able to login without error.
postmortem
From Tuesday, June 23, 2026, at approximately 10:03 \(UTC\) to Thursday, June 25, 2026, at approximately 11:54 \(UTC\), some US and EU customers experienced intermittent 502 errors when logging in to KCM GRC.
This issue was caused by network traffic attempting to connect to invalid multilevel subdomains, which overwhelmed the cache serving KCM GRC and resulted in login errors. Our team initially updated the configuration of our content delivery network, which temporarily resolved the errors, but they returned later that day. After further investigation, we identified the caching issue as the root cause and deployed an infrastructure-level fix to prevent multi-level subdomain traffic from affecting the cache. KCM GRC returned to normal performance by 11:54 \(UTC\) on June 25, 2026.
To prevent this type of issue in the future, we are evaluating additional protections to guard against similar traffic that could affect the cache.
No data loss occurred as a result of this issue.
Phishing test report tab unavailable
Início 18 Mezheven 2026 da 21:14 UTC · 16h 47m
IssuesMinor incident
Componentes afetados
Reporting
investigating
We have received reports of the Phishing test reports tab currently being unavailable. We are investigating this issue and will update this page when we have more information.
investigating
We are continuing to investigate this issue.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
postmortem
From Tuesday, June 16, 2026, at approximately 17:34 \(UTC\), to Thursday, June 18, 2026, at approximately 22:41 \(UTC\), some customers experienced intermittent unavailability of the **Phishing Security Test Reports** page in the KnowBe4 console.
This issue was caused by a code change that introduced a conflict between two methods for processing phishing campaign data. As a result, phishing campaigns still using legacy phishing categories were unable to load the **Phishing Security Test Reports** page. To resolve this issue, we updated the code to process campaigns correctly under both classification systems, and the **Phishing Security Test Reports** page returned to normal performance by June 18, 2026, at 22:41 \(UTC\).
No data loss occurred as a result of this issue.
KnowBe4 Security Center (KSC) | Human Risk Managment Widget Showing No Results
Início 18 Mezheven 2026 da 15:13 UTC · 3h 59m
IssuesMinor incident
Componentes afetados
KnowBe4 Security Center
investigating
We have received reports that the Human Risk Managment widget is showing no results in the KnowBe4 Security Center. We are investigating this issue and will update this page when we have more information.
monitoring
We’ve implemented a fix for the Human Risk Management widget and we’re monitoring the results to make sure no further issues occur.
resolved
This incident has been resolved.
Data and User Inconsistencies in Reporting
Início 16 Mezheven 2026 da 22:23 UTC · 21h 56m
IssuesMinor incident
Componentes afetados
Reporting
investigating
We've identified an issue that has resulted in inconsistent reporting, and our engineering team is looking into a fix.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
Latency Issues
Início 15 Mezheven 2026 da 16:56 UTC · 0m
Pending
Componentes afetados
PhishingConsoleTraining
resolved
This incident has been resolved.
KSAT - Problemas de Acesso ao Perfil de Usuário de Ampla Distribuição
Início 3 Mezheven 2026 da 15:07 UTC · 3h 7m
IssuesMinor incident
Componentes afetados
Console
investigating
Recebemos relatos de 500 erros que ocorrem quando navegamos para perfis de usuários. Estamos investigando este problema e atualizaremos esta página quando tivermos mais informações.
monitoring
Foi implementada uma correção e estamos monitorando os resultados.
resolved
Este incidente foi resolvido.
postmortem
Na quarta-feira, 3 de junho de 2026, de aproximadamente 14:49 a 16:09 \(UTC\), os clientes experimentaram erros ao acessar a página **Detalhes do Usuário** no console KSAT.
Este problema foi causado por uma atualização que introduziu campos em falta, o que impediu o carregamento da página **Detalhes do Usuário**. Para resolver esse problema, nossa equipe atualizou o console novamente para restaurar os campos em falta, e o console KSAT retornou ao desempenho normal em aproximadamente 16:09 \(UTC\). Para evitar problemas semelhantes no futuro, foram adicionados testes automatizados adicionais.
Nenhuma perda de dados ocorreu como resultado desta questão.
Traduzido automaticamente da atualização oficial do incidente.
Unable to upload custom content to the new Modstore
Início 28 Mae 2026 da 18:17 UTC · 55m
IssuesMinor incident
Componentes afetados
Training
investigating
We are currently investigating an issue preventing customers from uploading custom content to the new Modstore
resolved
We have identified an issue with uploading custom content to the new Modstore and implemented a fix. Customers should be able to upload custom content successfully.
postmortem
On Thursday, May 28, 2026, from approximately 18:07 to 18:57 \(UTC\), some customers experienced issues uploading custom content to the new ModStore in KnowBe4 Security Awareness Training \(KSAT\).
This issue was caused by an update to the new ModStore that disabled the language selection field in the “Add Translation” upload step, preventing customers from completing that required part of the upload process. To resolve this issue, our engineering team identified the recent deployment responsible for the defect, corrected it, and deployed the update to production. KSAT returned to normal performance by 18:57 \(UTC\).
To prevent this type of issue in the future, we are improving test coverage for the affected upload flow and adding automated checks to catch similar issues before they reach production.
No data loss occurred as a result of this issue.
Protect - Intermittent Issues with Sending Emails (UK Only)
Início 27 Mae 2026 da 10:05 UTC · 5h 38m
IssuesMinor incident
Componentes afetados
Mail Flow
investigating
We have received reports that there is a Intermittent issue sending emails for Protect. We are investigating this issue and will update this page when we have more information.
monitoring
We’ve implemented a fix and we’re monitoring the results to make sure no further issues occur.
resolved
This incident has been resolved.
New Modstore 500 Errors
Início 21 Mae 2026 da 13:40 UTC · 3h 39m
IssuesMinor incident
Componentes afetados
Training
identified
We've received reports that customers are unable to access the new Modstore experience and are receiving 500 errors. We are investigating these issues and will update this page when we have more information.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
postmortem
# **Summary**
On Wednesday, May 21, 2026, customers using the new ModStore experience within KnowBe4 Security Awareness Training \(KSAT\) were unable to access the ModStore and received HTTP 500 errors. The disruption affected all regional instances and lasted approximately 23 minutes, from 13:17 to 13:40 \(UTC\).
This issue was caused by a defective code change in a routine ModStore deployment. The deployment itself completed successfully, but the change caused the application to return server errors when customers attempted to load the new ModStore. Our engineering team identified the faulty deployment within minutes, rolled it back, and confirmed full restoration of service at 13:40 \(UTC\).
Only the new ModStore experience was affected. Customers using the classic ModStore, and all other KSAT functionality — including training assignments, campaigns, and reporting — remained fully operational throughout.
There was no data loss as a result of this incident.
# **What Happened**
## **New ModStore \(KSAT\)**
At 13:08 \(UTC\) on May 21, 2026, a routine deployment of the new ModStore application began and was completed successfully across all production environments at 13:17 \(UTC\). The release included changes related to integrating the new ModStore natively into the KnowBe4 platform. Immediately following the deployment, the new ModStore began returning HTTP 500 errors to customers attempting to access it.
At 13:28 \(UTC\), internal reports of the errors reached the engineering team, and by 13:30 \(UTC\) engineers had correlated the failures with the deployment. The decision to roll back was made at 13:31 \(UTC\). At 13:32 \(UTC\), with multiple customer support tickets confirming customer-facing impact, a high-severity incident was declared, and on-call engineers were contacted.
The team quickly confirmed the scope: only the new ModStore experience, enabled for approximately half of customers plus those who had opted in, was affected, across all regional instances. The classic ModStore and all other KSAT functionality remained available. A rollback to the previous stable version was initiated at 13:35 \(UTC\) and completed at 13:40 \(UTC\), at which point access to the new ModStore was fully restored. Our public status page was updated at 13:40 \(UTC\) and moved to “Monitoring” one minute later.
During the post-restoration investigation, an engineer noted that a separate infrastructure-as-code deployment earlier that morning had unexpectedly altered a storage Cross-Origin Resource Sharing \(CORS\) configuration used by the ModStore. This change was investigated as a potential contributor and ruled out — it was not related to the 500 errors. The investigation did, however, surface that two separate deployment pipelines were both managing the same infrastructure configuration and silently overwriting each other’s changes. This conflict was remediated during the incident window by assigning the configuration a single owning pipeline. After continued monitoring confirmed stability, the incident was resolved internally at 14:52 \(UTC\), and the public status page was updated to “Resolved” at 17:20 \(UTC\).
# **Root Cause Analysis**
The root cause of this incident was a defective code change included in the 13:17 \(UTC\) deployment of the new ModStore application. Once deployed, the change caused the application to fail to serve customer requests, returning HTTP 500 errors to all users of the new ModStore experience across all regions. The defect was not detected during pre-deployment testing, so the deployment proceeded to production as usual.
Because the failure began at the moment the deployment completed and affected all regions simultaneously, engineers were able to identify the deployment as the trigger within minutes and end customer impact by rolling back to the previous version. The faulty change was withheld for rework and additional validation before any reintroduction.
A secondary issue was identified during the investigation: an unrelated infrastructure configuration change that morning initially appeared connected because of its timing. It was ruled out as a cause, but the investigation revealed that two deployment pipelines shared ownership of the same infrastructure configuration and were overwriting each other. While this did not cause the incident, it added noise to the diagnosis. Because it represented a latent risk, it was also corrected the same day.
## **Detailed Timeline \(UTC\)**
| **Time \(UTC\)** | **Event** |
| --- | --- |
| **13:08** | A routine deployment to the new ModStore application begins. |
| **13:17** | The deployment completes across all production environments; HTTP 500 errors begin for the new ModStore experience. |
| **13:28** | Internal reports of errors loading the new ModStore reach the engineering team. |
| **13:30** | Engineers correlate the HTTP 500 errors with the earlier deployment. |
| **13:31** | Decision made to roll back the deployment. |
| **13:32** | A high-severity incident is declared; on-call engineers are paged. Customer support tickets confirm customer-facing impact. |
| **13:33 – 13:34** | Impact confirmed to be limited to the new ModStore experience; the classic ModStore and all other KSAT functionality are confirmed unaffected. All regional instances are affected. |
| **13:35 – 13:38** | The revert is prepared, and the rollback deployment begins. |
| **13:40** | Rollback completes, and access to the new ModStore is restored. The public status page is updated to “Identified.” |
| **13:41** | The public status page is updated to “Monitoring.” |
| **13:58 – 14:11** | An unrelated same-morning infrastructure configuration change is investigated and ruled out as a cause. A conflicting ownership issue between two deployment pipelines that manage the same configuration is identified and remediated. |
| **14:52** | After continued monitoring confirms stability, the incident is marked resolved internally \(74 minutes after the incident was declared\). |
| **17:20** | The public status page is updated to “Resolved.” |
# **Findings and Mitigations**
## **1. A defective change reached production**
A code change included in a routine deployment of the new ModStore caused the application to return server errors in production. The defect was not caught by the automated tests that run before a release is promoted, indicating a gap in pre-deployment test coverage for this failure mode.
**Mitigations:**
* The deployment was rolled back within 23 minutes of impact beginning, immediately restoring service.
* The faulty change was withheld from redeployment pending rework and additional validation.
* Pre-deployment test coverage for the new ModStore is being expanded to cover the failure mode seen in this incident.
## **2. Detection relied on human reports rather than automated alerting**
Impact began at 13:17 \(UTC\), but the engineering team was first engaged through internal reports at 13:28 \(UTC\) and customer support tickets shortly after, rather than by an automated alert on the application’s error rate. Automated post-deployment checks that ran after the release did not halt the rollout or page the team.
**Mitigations:**
* Error-rate monitoring and automated alerting for the new ModStore are being strengthened so that a spike in server errors immediately after a deployment pages the on-call team directly.
* Post-deployment verification is being reviewed so that failing checks more decisively block or flag a release.
## **3. Two deployment pipelines managed the same infrastructure configuration**
The application’s deployment pipeline and a separate infrastructure-as-code pipeline both defined the same storage CORS configuration, and each deployment silently overwrote the other’s settings. This conflict was not the cause of the incident, but it initially complicated diagnosis and represented an ongoing risk of unintended configuration changes.
**Mitigations:**
* The duplicated configuration was removed from the application pipeline and its state references were cleaned up, making the infrastructure pipeline the single owner of that configuration.
* A review is underway to identify any other resources with shared ownership across pipelines.
# **Customer Impact**
## **KSAT – New ModStore \(all regions\)**
From 13:17 to 13:40 \(UTC\), customers who had the new ModStore experience enabled \(approximately half of customers, plus those who opted in\) received HTTP 500 errors when attempting to access the ModStore and were unable to browse or add training content during that window. All regional instances were affected equally.
Customers using the classic ModStore were not affected. All other KSAT functionality — including active training campaigns, phishing simulations, user enrollments, and reporting — operated normally throughout the incident. No customer action was or is required, and no data was lost or altered.
# **Preventive Measures**
* **Expanded pre-deployment testing —** Test coverage for the new ModStore is being extended to catch the class of defect that caused this incident before a release reaches production.
* **Automated error-rate alerting —** Monitoring on the new ModStore is being strengthened so that elevated server-error rates following a deployment automatically notify on-call engineers, removing the dependency on human reports for detection.
* **Stronger post-deployment verification —** The automated checks that run immediately after a release are being reviewed so that failures block or escalate a rollout rather than passing silently.
* **Single ownership of infrastructure configuration —** Shared infrastructure settings are being consolidated under a single owning pipeline to prevent conflicting automated changes, and an audit is underway to identify any remaining overlaps.
# **Conclusion**
On May 21, 2026, a defective code change during a routine deployment made the new ModStore experience unavailable for approximately 23 minutes, resulting in server errors for affected customers across all regions. We recognize that the ModStore is central to how administrators build their training programs, and we apologize for the disruption.
The response demonstrated the value of fast rollback as a recovery path: the faulty release was identified and reverted within minutes of the first reports, the scope was accurately confirmed early, and no data was lost. The incident also highlighted clear opportunities to improve: stronger pre-deployment testing, automated error-rate detection, and cleaner ownership of infrastructure configuration. These are being addressed through the preventive measures above.
We are committed to the reliability of the new ModStore experience as it rolls out to all customers, to ensuring that issues of this kind are caught before they reach production, and to detecting and resolving issues automatically if they do reach production.
Microsoft Ribbon PAB Operation Timeout
Início 19 Mae 2026 da 14:16 UTC · 3h 48m
IssuesMinor incident
Componentes afetados
Phish Alert Button
identified
We are seeing errors when using the Microsoft Ribbon Phish Alert Button (PAB) to report emails in Classic Outlook. Our team is aware and investigating these errors.
monitoring
A fix has been implemented and we are monitoring the results.
resolved
This incident has been resolved.
postmortem
From Monday, May 18, 2026, at approximately 14:00 \(UTC\), to Tuesday, May 19, 2026, at approximately 15:00 \(UTC\), users experienced timeouts when attempting to use the Microsoft Ribbon Phish Alert Button \(PAB\) in Classic Outlook.
This issue was caused by an update to the PAB's authentication process that was incompatible with the Classic Outlook environment. The update used a loading method that Classic Outlook does not support, which caused the PAB to time out before it could connect to KnowBe4's servers.
To resolve this issue, we updated how the authentication library is packaged with the PAB to ensure compatibility with Classic Outlook. The Microsoft Ribbon PAB returned to normal performance by approximately 15:00 \(UTC\) on May 19, 2026.
To prevent this type of issue in the future, we are updating our processes for compatibility testing and improving monitoring.
No data loss occurred as a result of this issue.