
Knowledge base
February 25, 2025
Sign-In with Device Code: Convenient or a Security Risk?
Logging in with a Device Code is a convenient method for devices without keyboard or input capabilities. Think IoT devices, smart screens and some embedded systems. But is it also secure? And why block it in Microsoft Conditional Access?
In this blog, we dive in:
✅ The benefits of device code sign-in
⚠️ The risks and drawbacks
Why you should block it in Conditional Access
Why you should also disable Authentication Transfer
✅ Benefits of Device Code Sign-In for IoT.
IoT devices often do not have a screen or keyboard to enter login credentials. The Device Code Flow solves this by generating a short code that you enter on another device, such as your phone or computer. This has a number of advantages:
Easy integration: IoT devices can easily log in without having to manually enter login credentials.
User-friendly: Users only need to enter a code on a trusted device, which works quickly and efficiently.
No complex configurations required: No hassle with VPNs or certificates – logging in is approachable.
Handy, right? But there’s a catch….
⚠️ The risks and drawbacks of Device Code Sign-In
While practical, this method also carries security risks:
❌ Less secure authentication: It is more difficult to enforce Multi-Factor Authentication (MFA) with device code sign-in, which increases the likelihood of unauthorized access.
❌ No device management: You have no control over the device being logged in with, which can mean unmanaged devices can access sensitive data.
❌ Potential for phishing attacks: An attacker can trick a rogue device into logging in with a device code without the user realizing it.
In short, without additional security measures, this method poses a risk to corporate data.

Visual explanation of a device code phishing attack, in which a hacker requests a device code, forwards it to the victim and gains access to the account. Source: Microsoft²
Why block in Microsoft Conditional Access?
To mitigate these risks, you can set a Conditional Access policy in Microsoft Entra ID (formerly Azure AD) that blocks Sign-In with Device Code. This ensures:
Increased security – Only managed and secure devices can access corporate data.
Compliance with security policies – Prevents unauthorized or unmanaged devices from connecting.
️ Protection against phishing and fraudulent access – Reduces the likelihood of malicious parties logging in unauthorized.
Also, block Authentication Transfer
In addition to Device Code Flow, it is also wise to disable Authentication Transfer in your Conditional Access policy. This will prevent:
❌ Users can still transfer a session from an unattended device to another device via a workaround.
❌ Conditional Access rules are bypassed, allowing less secure devices to still gain access.
Want complete control over logins? Then disable both Device Code Flow and Authentication Transfer in your policy.

New Cyber Threat: Russian Hackers Abuse Device Code Phishing
Microsoft warns of a new cyber threat involving Russian hackers (Storm-2372) abusing device code phishing to hijack accounts. Multiple sectors have been affected since 2024, including governments, IT, defense and energy companies in Europe, North America, Africa and the Middle East².
Conclusion: to block or not to block?
✔️ For IoT and specific applications, Sign-In with Device Code can be useful, but it must be deployed with policy.
✔️ In standard enterprise environments, it is safer to block this method via Conditional Access.
✔️ Want to use it anyway? Then make sure you have additional security measures such as device compliance and strong MFA rules.
Wondering how your organization can best deploy Conditional Access? Send us a message!
References
¹https://learn.microsoft.com/en-us/entra/msal/java/getting-started/device-code-flow
About the author
My name is Alta Martes, a specialist in Microsoft 365 and Google Workspace, with a focus on modern workplace management, cloud security and identity & access management. With years of experience, I help organizations optimize their IT infrastructure and create a secure, efficient digital workplace.
Need help with your Microsoft 365 strategy?
Click below and find out how we can support your organization:
Want to know more?

Related
blogs
Tech Updates: Microsoft 365, Azure, Cybersecurity & AI – Wekelijks in je Mailbox.


![Sensitive Information in AI Chat, Teams, and WhatsApp: The Moment Before Sending / Hero Voor Verzenden.html HTML maak synccommanodo Je stuurde de HTML-bron, niet de PNG. Ik heb die HTML zelf gerenderd en het resultaat bekeken. Het beeld is akkoord. Wat ik heb gecontroleerd Maat en fonts: exact 1200x900. Halogen 900 en Bilo 300 en 500 laden uit het bestand zelf, zonder vervangend lettertype. Inhoud: kicker “BLOG · VOOR VERZENDEN”, de kop in wit en limoengroen, en de chatkaart met “dossier” omlijnd en het label “gevoelig”. Er is geen maskering en er staan geen merknamen in. Opmaak: de kop raakt de kaart niet en de certificeringsregel is volledig. Randen: de hoekpixels zijn paars, niet de controlekleur #160a2e. Er is dus geen rand van de pagina mee geëxporteerd. Het PNG-bestand gevoelige-gegevens-ai-chat-verzenden.png heb ik je gestuurd. Zet het in je Downloads en draai dan: powershell cd C:\repos\ALTA-ICT git pull --rebase $b = "docs\Projecten\social-campagnes\Week 43 - Voor Verzenden\Blog" $f = Get-Item "$env:USERPROFILE\Downloads\gevoelige-gegevens-ai-chat-verzenden.png" Add-Type -AssemblyName System.Drawing $i = [System.Drawing.Image]::FromFile($f.FullName); "{0}x{1}" -f $i.Width, $i.Height; $i.Dispose() Copy-Item $f.FullName "$b\" -Force git add -- "$b\gevoelige-gegevens-ai-chat-verzenden.png" git diff --cached --name-only git commit -m "Blog 43: bloghero gevoelige gegevens voor verzenden" git log origin/master..master --oneline Verwachting: 1200x900, dan één bestandsnaam, daarna één of twee commits. Twee commits als de editie 15-hero nog niet gepusht is. Plak de output terug, daarna push je. In WordPress, bij blog 43: Uitgelichte afbeelding: upload dit bestand, met de alt-tekst uit de plakklaar. Controleer na het uploaden dat de bestandsnaam geen -1 heeft gekregen. De kanaalvarianten van blog 43 maak je pas als de blog live staat. De prompt staat in de plakklaar. geef me blog 43 om te maken zoals het moet in wordpress Hieronder staat alles voor WordPress, in de volgorde van de editor. Ik gebruik variant B, zonder test. Plak elke HTML in het tabblad Tekst en schakel nooit over naar Visueel. 1. Nieuw bericht Ga naar Berichten, Nieuw bericht. 2. Titel Gevoelige gegevens in AI-chat, Teams en WhatsApp: het moment vóór verzenden 3. Veld Introductie (tabblad Tekst) html Bij een datalek denk je aan een hacker. In de praktijk begint het vaak met Ctrl+V: een stuk uit een dossier in de verkeerde chat, de verkeerde mail, of een AI-tool die de tekst "even netjes maakt". Er is geen kwade wil. Er is haast, en een knop die te dichtbij zit. Deze blog gaat over dat ene moment vlak voor verzenden: wat kun je dan nog tegenhouden, en wie ziet het? 4. Veld Omschrijving (tabblad Tekst) html Waar Microsoft 365 ophoudt In de blog over Microsoft Purview zag je wat Business Premium al beschermt: mail en de bestanden in OneDrive en SharePoint. Een bestand dat je in Teams deelt, valt daar ook onder. Het chatbericht in Teams niet. DLP voor Teams-chat vraagt volgens Microsoft een E5-licentie. En een AI-chat in de browser of een app op de laptop ziet Microsoft helemaal niet. AI-chat en geheimhouding Een medewerker plakt een brief aan een cliënt in een gratis AI-chat, met zijn privéaccount, om hem beter te formuleren. Naam, adres en de reden van het dossier gaan mee, naar een dienst waarmee je organisatie geen verwerkersovereenkomst heeft. Verbieden werkt slecht. De tool blijft handig, en wie hem niet mag gebruiken, gebruikt hem stiekem. Beter: weten welke AI-tools je team gebruikt, en per tool afspreken wat erin mag. WhatsApp is geen dossier De wijkverpleegkundige stuurt een foto naar de collega die de dienst overneemt. De installateur appt de klant een offerte met diens adres. Het werkt snel, en het gebeurt vaak op een privételefoon. Daarmee staan zakelijke gegevens op een apparaat dat de organisatie niet beheert, in een app die ze niet kan archiveren. Vertrekt de medewerker, dan vertrekken de gesprekken mee. Een alternatief moet net zo snel zijn, anders gebruikt niemand het. Een waarschuwing op het juiste moment Een training over datalekken vergeet je in een week. Een melding op het moment van verzenden niet. In Outlook kan Microsoft 365 dat al: staat er een gevoelig gegeven in een mail, dan verschijnt bovenaan een melding nog voor de mail vertrekt. Voor chat en voor apps buiten Microsoft heb je daarvoor software op het apparaat nodig. Beschermen zonder meekijken Elke vorm van datalekpreventie roept bij medewerkers en ondernemingsraad één vraag op: leest de werkgever mee? Stel die vraag zelf, vóór je iets kiest. Een melding per soort gegeven is genoeg om een lek te voorkomen. Namen en berichtinhoud zijn daarvoor niet nodig. Begin met een AI-overzicht Je hoeft niet met software te beginnen. Begin met een lijst van de AI-tools die je team gebruikt, waarvoor, en met welke gegevens. Vaak staan er tools op die niemand had verwacht. De Europese AI-verordening legt de markering van AI-output bij de aanbieders. Sinds augustus moeten zij wat hun AI maakt machineleesbaar markeren; voor tools die al eerder op de markt waren, loopt de overgang tot 2 december. Dat is hun plicht. Jouw taak is weten wat je gebruikt. Het AI-Register geeft geen juridisch oordeel. Wel maakt het in ongeveer tien minuten een overzicht van je AI-tools met de transparantieteksten, als drie documenten in je mail. Zo doen wij het We beginnen met het AI-overzicht en de afspraken per tool. Daarna zetten we Purview aan voor mail en bestanden. Het gat buiten Microsoft vullen we met datalekpreventie op het apparaat, als add-on bij de moderne werkplek. We werken zelf onder ISO 27001:2023, ISO 9001:2015 en NEN 7510:2024. Veelgestelde vragen Mag een medewerker een AI-chat gebruiken voor werk? Dat bepaal je zelf, per tool. Leg vast welke tools mogen en welke gegevens er niet in horen. Een zakelijk abonnement met een verwerkersovereenkomst is iets anders dan een gratis versie met een privéaccount. Beschermt Business Premium Teams? Bestanden die je in Teams deelt wel, want die staan in SharePoint of OneDrive. Het chatbericht zelf niet; daarvoor vraagt Microsoft E5. Moet ik AI-output zelf markeren? De markering van AI-output is een plicht van de aanbieder van de AI-tool. Voor jou telt dat je weet welke tools je gebruikt en wat je erin stopt. Conclusie Het lek begint met plakken, niet met een hacker. Microsoft 365 beschermt mail en bestanden; de chat, de AI-tool en de app op de laptop vallen erbuiten. Begin met een overzicht van wat je team gebruikt en spreek per tool af wat erin mag. Wil je het moment vóór verzenden bespreken? Plan een gesprek met ALTA-ICT. 5. CTA-knop (als je thema een knopveld heeft) Tekst: Het moment vóór verzenden bespreken Link: https://alta-ict.nl/contact?utm_source=blog&utm_medium=referral&utm_campaign=voorverzenden&utm_content=blog43-cta 6. Uittreksel Een datalek begint vaak niet bij een hacker, maar bij plakken. Wat er gebeurt als een medewerker gegevens in een AI-chat, een Teams-chat of WhatsApp zet, waar Microsoft 365 ophoudt, en waarom je begint met een overzicht van de AI die je team gebruikt. 7. Categorie: Beveiliging. Zet geen andere categorie aan. 8. Uitgelichte afbeelding Upload gevoelige-gegevens-ai-chat-verzenden.png. Controleer daarna dat de bestandsnaam in de mediabibliotheek geen -1 heeft gekregen. Alt-tekst: Hero bij de blog over gevoelige gegevens vóór verzenden: een chatinvoerveld met de zin Hierbij het dossier van de cliënt, waarin het woord dossier omlijnd is en gemarkeerd als gevoelig.](/media/uploads/2026/10/gevoelige-gegevens-ai-chat-verzenden.png?width=600)

