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
Inizio 4 agosto 2026 alle ore 19:19 UTC · 16h 58m
IssuesIncidente minore
Componenti interessati
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.
Email inaspettate in quarantena da PhishRIP
Inizio 28 luglio 2026 alle ore 20:00 UTC · 22h 58m
IssuesIncidente minore
Componenti interessati
PhishRIP
investigating
Stiamo indagando su un problema relativo alle e-mail in quarantena da PhishRIP inaspettatamente
monitoring
Una correzione è stata implementata per questo problema e le query PhishRIP non sono più in quarantena messaggi inaspettatamente. Stiamo ancora indagando su quesiti che potrebbero essere stati influenzati
resolved
Questo incidente è stato risolto.
postmortem
# Summary #
Il 28 luglio 2026, un aggiornamento al servizio PhishRIP ha causato alcune query di ricerca PhishRIP per soddisfare più ampiamente di quanto avrebbero dovuto. Le email di Benign che non soddisfavano i criteri di mittente configurati sono state messe in quarantena in alcuni account dei clienti.
I biglietti automatizzati di monitoraggio e assistenza clienti hanno superato rapidamente il problema. L'ingegneria ha annullato il cambiamento entro circa 25 minuti dal dichiarare l'incidente e ha fermato la quarantena indesiderata. Ingegneria quindi manualmente ripristinato le e-mail in quarantena erroneamente alle caselle di posta dei clienti.
♪#Root cause ♪
Il 28 luglio 2026, abbiamo implementato un aggiornamento di manutenzione al servizio di query dietro PhishRIP. Questo aggiornamento è stato progettato per migliorare la gestione degli indirizzi non validi del mittente consentendo al sistema di rientrare alla ricerca solo della porzione di dominio dell'indirizzo.
Tuttavia, la logica di validazione esistente ha usato un'espressione regolare che ha richiesto un simbolo "@" nel campo del mittente. Quando una query ha usato un dominio nudo, come [example.com](http://example.com) senza nome utente o simbolo "@", il regex ha contrassegnato il dominio come non valido.
Questo conflitto tra la validazione esistente e l'aggiornamento di Domain-search ha causato il sistema a rilasciare completamente i criteri di mittente. La query correva contro le caselle di posta utilizzando solo i suoi parametri rimanenti, e-mail di corrispondenza e di quarantena ben al di fuori del mittente previsto.
# Timeline #
Tutte le volte sono in UTC.
♫ Time ♫ ♫ Event ♫
| --- |
| 19:36 | Il nostro monitoraggio automatizzato ha rilevato modelli di esecuzione anomala query e ha avvisato i nostri ingegneri, che hanno iniziato immediatamente a indagare. #
| 19:51 | Il problema è stato aumentato a un incidente di produzione ad alta velocità, e un team di risposta è stato assemblato. #
| 19:52 | Il nostro team di supporto ha aumentato i primi biglietti del cliente che hanno segnalato quarantene inaspettate, confermando l'avviso di monitoraggio.
| 19:54 | La causa principale è stata tracciata a una recente distribuzione API query, e l'ingegneria ha iniziato a ripristinare il cambiamento.
| 20:00 | Le comunicazioni incidenti sono state inviate alla nostra pagina di stato, con PhishRIP contrassegnato come degradato.
| 20:16 | La distribuzione è stata completamente rimossa. |
| 20:35 | I controlli di produzione hanno confermato che l'oggetto e le domande di dominio erano di nuovo corrispondenti solo i loro obiettivi previsti, e che nessun altro messaggio veniva messo in quarantena in errore. La nostra pagina di stato è stata aggiornata di conseguenza. #
| 20:39 | Ingegneria ha iniziato a ripristinare le e-mail in quarantena errata.
| 03:49 \(giorno successivo\) | Restauro sono stati completati per tutti i set di query del cliente registrati attraverso il nostro team di supporto.
# Mitigation and remediation #
♪Code revert ♪ Abbiamo pesato bloccando le operazioni di PhishRIP attive a metà corsa contro la deviazione del codice. L'eliminazione dei compiti di sfondo avrebbe interrotto i flussi di lavoro legittimi di sicurezza per ogni inquilino, quindi la deviazione era l'opzione migliore. Il revert del codice è stato distribuito e verificato in produzione entro circa 40 minuti di escalation.
Restauro di posta elettronica. Per evitare di rilasciare e-mail genuinamente dannose di nuovo in ambienti dei clienti, li abbiamo ripristinati manualmente piuttosto che in massa. Ingegneria ha usato strumenti di amministrazione interni per ripristinare le e-mail in lotti, e ha lavorato con Supporto per verificare ogni ID account, ID query e ricevere prima l'approvazione del cliente. Tutti i conti segnalati sono stati ripristinati durante la notte.
Traduzione:
Traduzione: Stiamo aggiungendo test di unità e integrazione per le query del mittente di dominio, non standard e stringa nuda per catturare questi casi di input prima dell'implementazione.
♪Query guardrails ♪ Stiamo aggiungendo un controllo nel motore di query che blocca le query da eseguire se i loro parametri di filtraggio del nucleo sono caduti durante la valutazione.
# Conclusione #
Una singola regola di validazione ha causato questo: un regex che ha assunto ogni campo del mittente conteneva un `@`. Quando le query hanno usato un dominio nudo, tale ipotesi ha lasciato cadere il filtro del mittente e le query corrispondevano molto più posta che previsto. La correzione è stata semplice una volta trovata, e la deviazione ha fermato il danno entro circa 25 minuti di dichiarare l'incidente.
Ripristinare la posta in quarantena è stato un processo più difficile: non potevamo ripristinare le e-mail in massa senza rischiare e-mail genuinamente dannose tornare in caselle di posta. Il nostro team ha scelto di procedere con attenzione, lavorando con il supporto per tutta la notte.
Due misure preventive avrebbero preso questo in precedenza: una prova che copre solo domande di mittente di dominio, e una guardrail che rifiuta di eseguire una query quando il suo filtro mittente è stato spogliato. Entrambi sono ora previsti. Il problema immediato è risolto, e tutti i conti segnalati sono stati ripristinati.
Traduzione:
# PhishRIP # Una funzione PhishER che consente agli amministratori di cercare e quarantena corrispondenza e-mail di phishing in ogni casella di posta dell'utente in un'organizzazione.
***Regex \(espressione regolare\):** Un modello utilizzato nel software per cercare il testo e convalidare l'ingresso, come il controllo che un indirizzo e-mail è formattato correttamente.
♪Code revert ♪ Eseguire un aggiornamento software per tornare alla versione stabile precedente.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
Proteggi la pagina di acquisto vuota su store.knowbe4.com
Inizio 17 luglio 2026 alle ore 13:18 UTC · In corso
OutageIncidente maggiore
Componenti interessati
KnowBe4 Website
investigating
Stiamo indagando gli utenti in grado di acquistare Proteggi licenze su store.knowbe4.com. Aggiorneremo questa pagina quando avremo maggiori informazioni.
monitoring
Abbiamo implementato una correzione e stiamo monitorando i risultati per assicurarsi che non si verifichino ulteriori problemi.
investigating
Abbiamo ricevuto rapporti che i clienti non sono in grado di acquistare Proteggi licenze su store.knowbe4.com. Stiamo indagando su questo problema e aggiorneremo questa pagina quando avremo maggiori informazioni.
monitoring
Abbiamo implementato una correzione per il negozio online e stiamo monitorando i risultati per assicurarsi che non si verifichino ulteriori problemi.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
Difendere - Redirect Upon Login
Inizio 16 luglio 2026 alle ore 19:48 UTC · 1h 32m
OutageIncidente maggiore
Componenti interessati
Console
investigating
Abbiamo identificato un problema in cui gli utenti possono ricevere un reindirizzamento al momento dell'accesso a Defend, e il nostro team di ingegneria sta cercando una soluzione.
identified
Una correzione è stata identificata, e stiamo monitorando i risultati come si presenta.
resolved
Questo incidente è stato risolto.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
Proteggi la pagina di acquisto vuota su store.knowbe4.com
Inizio 15 luglio 2026 alle ore 16:46 UTC · 21h 18m
OutageIncidente maggiore
Componenti interessati
KnowBe4 Website
investigating
Stiamo indagando gli utenti in grado di acquistare Proteggi licenze su store.knowbe4.com. Aggiorneremo questa pagina quando avremo maggiori informazioni.
investigating
Stiamo continuando a indagare su questo problema.
monitoring
Una soluzione è stata implementata e stiamo monitorando i risultati.
resolved
Questo incidente è stato risolto.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
Degradazione PhishML
Inizio 10 luglio 2026 alle ore 14:30 UTC · 0m
Pending
resolved
Un problema del servizio di bandierina di funzionalità a monte ha degradato il routing del modello in collaborazione-inferenza, causando le valutazioni di PhishML a restituire gli errori di default 0/0/0. La terza parte ha implementato una correzione, e un aggiornamento del codice è stato distribuito per la produzione aggiungendo routing statico fallback.
Tutti i servizi sono recuperati e sono operativi normalmente.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
KSAT Intermittent Login Issues - US
Inizio 1 luglio 2026 alle ore 14:40 UTC · 3h 21m
IssuesIncidente minore
Componenti interessati
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)
Inizio 30 giugno 2026 alle ore 16:14 UTC · 3h 32m
IssuesIncidente minore
Componenti interessati
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.
PhishML Valutazioni Causing PML:BYPASSED Tag da applicare
Inizio 30 giugno 2026 alle ore 14:18 UTC · 4h 54m
IssuesIncidente minore
Componenti interessati
PhishML
investigating
Abbiamo identificato un problema in cui le valutazioni di PhishML stanno causando il tag "PML:BYPASSED".
monitoring
Abbiamo implementato una correzione per PhishER e stiamo monitorando i risultati per assicurarci che non si verifichino ulteriori problemi. I messaggi danneggiati possono essere riprodotti attraverso tutte le regole e le azioni. Si prega di essere consapevoli che questo potrebbe causare risposte duplicate da inviare se un'azione ha funzionato con successo durante questo incidente. Se avete ulteriori domande o dubbi contattate direttamente il nostro team di supporto: https://support.knowbe4.com/hc/en-us/requests/new
Il seguente articolo di Knowledge Base contiene istruzioni su come riprodurre i messaggi: https://support.knowbe4.com/hc/en-us/articles/13169303385619-PhishER-Inbox-Guide#h 01HCNEBF8CJQ98GE9PGM7HGDZ0
resolved
Questo incidente è stato risolto.
postmortem
Martedì 30 giugno 2026, dalle 07:40 alle 19:15 \(UTC\), i clienti hanno avuto risultati errati dal punteggio PhishER PhishML. Le e-mail interessate hanno ricevuto un tag PML: BYPASSED invece di una classificazione PhishML legittima, e i punteggi di fiducia sono mancanti dai messaggi colpiti. Regole e azioni che dipendono dai risultati PhishML anche non ha attivato.
Questo problema è stato causato da un refactor del codice introdotto circa due settimane prima. Questo refactor ha introdotto un aggiornamento difettoso che ha omesso driver essenziali necessari per il punteggio PhishML da eseguire. Tuttavia, il problema rimase inattivo fino a quando un altro aggiornamento ha innescato una nuova distribuzione del modello PhishML, che ha causato il problema di punteggio per emergere. Per risolvere questo problema, il nostro team è tornato all'ultima distribuzione stabile e ha aggiunto più capacità di elaborare il backlog risultante delle valutazioni e-mail. Il punteggio PhishML di PhishER è tornato alle normali prestazioni entro le 19:15 \(UTC\).
Per evitare questo tipo di problema in futuro, abbiamo migliorato i controlli sanitari introducendo un nuovo endpoint per testare il fumo nuovi modelli prima dell'implementazione.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
KCM GRC - 500 Errors Upon Login
Inizio 24 giugno 2026 alle ore 15:48 UTC · 21h 23m
IssuesIncidente minore
Componenti interessati
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
Inizio 18 giugno 2026 alle ore 21:14 UTC · 16h 47m
IssuesIncidente minore
Componenti interessati
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
Inizio 18 giugno 2026 alle ore 15:13 UTC · 3h 59m
IssuesIncidente minore
Componenti interessati
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
Inizio 16 giugno 2026 alle ore 22:23 UTC · 21h 56m
IssuesIncidente minore
Componenti interessati
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
Inizio 15 giugno 2026 alle ore 16:56 UTC · 0m
Pending
Componenti interessati
PhishingConsoleTraining
resolved
This incident has been resolved.
KSAT - Problemi di accesso del profilo utente di ampia diffusione
Inizio 3 giugno 2026 alle ore 15:07 UTC · 3h 7m
IssuesIncidente minore
Componenti interessati
Console
investigating
Abbiamo ricevuto report di 500 errori che si verificano durante la navigazione ai profili degli utenti. Stiamo indagando su questo problema e aggiorneremo questa pagina quando avremo maggiori informazioni.
monitoring
Una soluzione è stata implementata e stiamo monitorando i risultati.
resolved
Questo incidente è stato risolto.
postmortem
Mercoledì 3 giugno 2026, dalle 14:49 alle 16:09 \(UTC\), i clienti hanno riscontrato errori quando si accede alla pagina **User Details** nella console KSAT.
Questo problema è stato causato da un aggiornamento che ha introdotto campi mancanti, che ha impedito alla pagina **User Details** di caricamento. Per risolvere questo problema, il nostro team ha aggiornato nuovamente la console per ripristinare i campi mancanti, e la console KSAT è tornata alle normali prestazioni di circa 16:09 \(UTC\). Per prevenire problemi simili in futuro, sono stati aggiunti ulteriori test automatizzati.
Nessuna perdita di dati si è verificata a seguito di questo problema.
Tradotto automaticamente dall'aggiornamento ufficiale dell'incidente.
Unable to upload custom content to the new Modstore
Inizio 28 maggio 2026 alle ore 18:17 UTC · 55m
IssuesIncidente minore
Componenti interessati
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)
Inizio 27 maggio 2026 alle ore 10:05 UTC · 5h 38m
IssuesIncidente minore
Componenti interessati
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
Inizio 21 maggio 2026 alle ore 13:40 UTC · 3h 39m
IssuesIncidente minore
Componenti interessati
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
Inizio 19 maggio 2026 alle ore 14:16 UTC · 3h 48m
IssuesIncidente minore
Componenti interessati
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.
Cronologia delle interruzioni di Knowbe4 | Uptimus