--- title: "Talk: Error 103: Secure code | Daniel Christensen" description: "Built for development teams. Drawn from the mistakes I keep seeing in the codebases I pentest, plus lessons from the years I spent developing myself.…" canonical_url: "https://danielchristensen.no/en/talks/error-103" last_updated: "2026-09-07T12:05:02.760Z" locale: en meta: "og:description": "Built for development teams. Drawn from the mistakes I keep seeing in the codebases I pentest, plus lessons from the years I spent developing myself. Tailored to your stack and team." "og:image": "https://danielchristensen.no/_og/d/c_Default%2Ctitle_~RXJyb3IgMTAzOiBTZWN1cmUgY29kZQ%2Csubtitle_~RGV2ZWxvcG1lbnQgdGVhbXMgwrcgdGVjaCBsZWFkcw%2Ctagline_~RXRoaWNhbCBoYWNrZXIgwrcgU3BlYWtlcg%2Cmascot_browser-1%2Cp_Ii9lbi90YWxrcy9lcnJvci0xMDMi%2Cs_cmmVgAtWQ-FVxY0D.png" "og:image:height": "600" "og:image:type": image/png "og:image:width": "1200" "og:title": "Error 103: Secure code" "twitter:image": "https://danielchristensen.no/_og/d/c_Default%2Ctitle_~RXJyb3IgMTAzOiBTZWN1cmUgY29kZQ%2Csubtitle_~RGV2ZWxvcG1lbnQgdGVhbXMgwrcgdGVjaCBsZWFkcw%2Ctagline_~RXRoaWNhbCBoYWNrZXIgwrcgU3BlYWtlcg%2Cmascot_browser-1%2Cp_Ii9lbi90YWxrcy9lcnJvci0xMDMi%2Cs_cmmVgAtWQ-FVxY0D.png" --- > Index of every page on this site: [llms.txt](https://danielchristensen.no/llms.txt) Talk + workshop · 45 min # Error 103: Secure code Built for development teams. Drawn from the mistakes I keep seeing in the codebases I pentest, plus lessons from the years I spent developing myself. Tailored to your stack and team. TailoredDev teams45 min Made for: Development teams · tech leads [Book this talk →](https://danielchristensen.no/en/contact?talk=error-103) [See all talks](https://danielchristensen.no/en/talks) [One-pager (PDF)](https://danielchristensen.no/en/talks/error-103/pdf) 02![Browser illustration](https://danielchristensen.no/_nuxt/mvewcfdo/browser-1.CRodknai.svg) ## About the talk As a [pentester](https://danielchristensen.no/en/glossary/pentest) I read other people’s code every single week, and the same mistakes show up again and again. Not because developers are lazy, but because security is rarely part of everyday work until something goes wrong. This talk takes the most common vulnerabilities I find in real codebases and shows both how they’re exploited and how they’re avoided. I have a background as a developer myself, so this is not a finger-wagging talk. It’s a colleague showing you the attacker’s perspective on the code you write. ## What your team takes away - The most common vulnerabilities I find in pentests, with real (anonymized) examples - How an attacker thinks when reading your code and your APIs - Concrete habits and tools that catch the mistakes before they reach production - What’s actually worth spending time on, and what’s just noise ## How the session is structured The talk runs about 45 minutes and can be extended with a hands-on workshop where we look at examples in your own stack. The content is tailored in advance: your languages, frameworks and maturity level decide which examples I bring. ## Practical details Built for development teams, tech leads and architects. Delivered in Norwegian or English, at your office or remote. Tell me what you’re building and I’ll tailor the rest. Next step ## Sound like a fit? Send a request with your preferred dates and a few words about the audience, and you'll get a concrete quote the same day. [Book this talk →](https://danielchristensen.no/en/contact?talk=error-103) ## More talks [01**Security in the workplace**Talk · 40 min + Q&A→](https://danielchristensen.no/en/talks/sikkerhet-arbeid) [03**The road to your dream job**Talk · 45 min · interactive→](https://danielchristensen.no/en/talks/drommejobben) [04**Hacker becomes bank manager (by accident), and anti-scam tricks**Signature talk→](https://danielchristensen.no/en/talks/banksjef) ```json {"@context":"https://schema.org","@graph":[{"@id":"https://danielchristensen.no/en#website","@type":"WebSite","description":"Ethical hacker and keynote speaker. Talks on digital security, pentesting and how to avoid getting hacked.","inLanguage":"en","name":"Daniel Christensen","url":"https://danielchristensen.no/en","publisher":{"@id":"https://danielchristensen.no/#identity"},"translationOfWork":{"@id":"https://danielchristensen.no/#website"}},{"@id":"https://danielchristensen.no/en/talks/error-103#webpage","@type":"WebPage","description":"Built for development teams. Drawn from the mistakes I keep seeing in the codebases I pentest, plus lessons from the years I spent developing myself.…","name":"Talk: Error 103: Secure code","url":"https://danielchristensen.no/en/talks/error-103","breadcrumb":{"@id":"https://danielchristensen.no/en/talks/error-103#/schema/breadcrumb-list/#breadcrumb"},"isPartOf":{"@id":"https://danielchristensen.no/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://danielchristensen.no/en/talks/error-103"]}]},{"@id":"https://danielchristensen.no/#identity","@type":"Person","alternateName":"BobTheShoplifter","description":"Ethical hacker, speaker and content creator (BobTheShoplifter). Talks on digital security and pentesting.","name":"Daniel Christensen","url":"https://danielchristensen.no","address":{"@type":"PostalAddress","addressLocality":"Oslo","addressRegion":"Oslo","addressCountry":"NO"},"contactPoint":{"@type":"ContactPoint","telephone":"+4798332280","email":"daniel@websecured.io","contactType":"booking","areaServed":"NO","availableLanguage":["nb","en"]},"image":{"@id":"https://danielchristensen.no/#/schema/image/1"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"FollowAction"},"userInteractionCount":130500},"jobTitle":["Ethical hacker","Keynote speaker","Content creator"],"knowsAbout":["Digital security","Cybersecurity","Ethical hacking","Penetration testing","Social engineering","Fraud and phishing"],"sameAs":["https://www.wikidata.org/wiki/Q109401760","https://www.tiktok.com/@bobtheshoplifter","https://www.instagram.com/bobtheshoplifter","https://www.youtube.com/channel/UCp2mLClUy4kwbg_uUWbR_5w","https://www.linkedin.com/in/-daniel-/","https://twitter.com/BobTShoplifter","https://www.facebook.com/daniel.christensen.5648/"],"worksFor":{"@type":"Organization","name":"Websecured","url":"https://websecured.io"}},{"@id":"https://danielchristensen.no/en/talks/error-103#/schema/breadcrumb-list/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://danielchristensen.no/en","position":1},{"@type":"ListItem","name":"Talks","item":"https://danielchristensen.no/en/talks","position":2},{"@type":"ListItem","name":"Error 103: Secure code","item":"https://danielchristensen.no/en/talks/error-103","position":3}]},{"@id":"https://danielchristensen.no/en/talks/error-103#/schema/service/1","@type":"Service","areaServed":"Worldwide","description":"Built for development teams. Drawn from the mistakes I keep seeing in the codebases I pentest, plus lessons from the years I spent developing myself. Tailored to your stack and team.","name":"Error 103: Secure code","serviceType":"Talk on digital security","url":"https://danielchristensen.no/en/talks/error-103","offers":{"@type":"AggregateOffer","lowPrice":7500,"highPrice":35000,"priceCurrency":"NOK"},"provider":{"@id":"https://danielchristensen.no/#identity"}},{"@id":"https://danielchristensen.no/#/schema/image/1","@type":"ImageObject","contentUrl":"https://danielchristensen.no/assets/photos/daniel-portrait.jpg","inLanguage":"en","url":"https://danielchristensen.no/assets/photos/daniel-portrait.jpg"}]} ``` ## Sitemap See the full [sitemap](https://danielchristensen.no/sitemap.md) for all pages.