<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>K-I-Soft Blog</title><description>Practical AWS and serverless engineering notes from a Swiss software practice.</description><link>https://www.k-i-soft.ch/</link><language>en-CH</language><item><title>Passkeys: why they replace passwords, and how to use them.</title><link>https://www.k-i-soft.ch/en/blog/passkeys-warum-besser-als-passwoerter/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/passkeys-warum-besser-als-passwoerter/</guid><description>Passwords are the weakest link in login. Passkeys replace them with a cryptographic key pair that cannot be phished. What passkeys are, why they are phishing-proof, how you use them, and how they work under the hood with WebAuthn.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><category>Security</category><category>Passkeys</category><category>WebAuthn</category></item><item><title>AI-findable, what does that actually mean, and why it matters for your business</title><link>https://www.k-i-soft.ch/en/blog/ki-auffindbar-was-heisst-das/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/ki-auffindbar-was-heisst-das/</guid><description>A second search world has grown up next to Google, and many websites are invisible to it. What AI findability means, the two-minute test for your own site, and what really makes a page AI-readable.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate><category>GEO</category><category>AI visibility</category><category>AEO</category><category>ChatGPT</category><category>Serverless</category></item><item><title>Half your visitors never show up in your stats. Why, and what to do about it</title><link>https://www.k-i-soft.ch/en/blog/google-analytics-zeigt-nur-die-haelfte/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/google-analytics-zeigt-nur-die-haelfte/</guid><description>Across the DACH region about half of all visitors reject the consent banner, Safari and Firefox block tracking by default, and AI crawlers never appear at all. Where the gap comes from, and what server-side measurement adds without replacing GA.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>Analytics</category><category>AI crawlers</category><category>CloudFront</category><category>Server logs</category><category>FADP</category><category>Privacy</category></item><item><title>WordPress: what the Swiss authorities warn about, what the numbers show</title><link>https://www.k-i-soft.ch/en/blog/wordpress-was-die-schweizer-behoerden-warnen/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/wordpress-was-die-schweizer-behoerden-warnen/</guid><description>Three pieces of evidence on why WordPress sites are a concrete security risk for Swiss SMEs. With sources from the Federal Office for Cybersecurity (BACS), Patchstack and Wordfence.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>WordPress</category><category>Security</category><category>Switzerland</category><category>Serverless</category><category>FADP</category></item><item><title>When the website slows down exactly when it matters: why it&apos;s the model, not the provider</title><link>https://www.k-i-soft.ch/en/blog/wenn-die-webseite-langsam-wird/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/wenn-die-webseite-langsam-wird/</guid><description>Peak load, maintenance windows and outages often hit a website at the wrong moment. That is rarely the provider&apos;s fault, it is the hosting model. What classic hosting structurally costs, and what serverless does differently, with current Swiss prices.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><category>Hosting</category><category>Serverless</category><category>AWS</category><category>CloudFront</category><category>Scaling</category><category>SME</category></item><item><title>Cognito custom domain in CDK: four traps and a chicken-and-egg problem</title><link>https://www.k-i-soft.ch/en/blog/cognito-custom-domain-cdk-henne-ei/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/cognito-custom-domain-cdk-henne-ei/</guid><description>Even when you avoid the self-built login and go with Cognito plus Lambda@Edge, there is a layer of traps that no AWS reference blog mentions. Four traps in a fixed order, because each one is entered because the previous one was handled correctly. The most expensive hour of the setup had nothing to do with cryptography. It went into figuring out which of two CDK stacks has to deploy first. Resolution in three steps.</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate><category>AWS · Cloud Security</category><category>Cognito</category><category>CDK</category></item><item><title>Lambda cold start, measured.</title><link>https://www.k-i-soft.ch/en/blog/lambda-cold-start-benchmark/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/lambda-cold-start-benchmark/</guid><description>2700 measurements on AWS Lambda in eu-central-2, arm64. Four runtimes side by side: Quarkus JVM, Quarkus Native, Node 24, JVM with SnapStart. Init Duration is memory-independent for three of four. JVM at 512 MB takes 5.8 seconds to first response, native and Node sit under 600 ms. And SnapStart without priming actually makes things worse. The data, the methodology, and what to take away.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><category>AWS · Performance</category><category>Quarkus · SnapStart</category></item><item><title>Cognito Custom Email Sender: three traps on the road to the inbox</title><link>https://www.k-i-soft.ch/en/blog/cognito-custom-email-sender-drei-fallen/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/cognito-custom-email-sender-drei-fallen/</guid><description>My first attempt at sending a verification email from AWS Cognito was a full SMTP server of my own. Locally it ran. In AWS, not a single mail got through. Three traps later, the system was running in production: outbound port 25 blocked, SES API-only in eu-central-2 (Zurich), and KMS envelope encryption colliding with JVM cold starts and Cognito&apos;s retry logic. Architecture, runtime trade-offs, and an idempotency line of defense.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate><category>AWS · Cognito · SES</category><category>Custom Email Sender</category></item><item><title>I spent a year building. Nobody needed it.</title><link>https://www.k-i-soft.ch/en/blog/rentaside-product-market-fit/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/rentaside-product-market-fit/</guid><description>In 2024 I built a full marketplace app: iOS, Android, AWS backend, payments, three-language marketing. Zero users. The lesson from Rentaside on product-market fit, the marketplace cold start, and what three decades of code don&apos;t teach you.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><category>30 Jahre Code · Issue #1</category><category>Founder lessons</category></item><item><title>Private RDS access in 2026: from bastion to serverless</title><link>https://www.k-i-soft.ch/en/blog/private-rds-access-serverless/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/private-rds-access-serverless/</guid><description>Bastion hosts cost $43.80 a year just for the public IP, plus patching and key rotation. EC2 Instance Connect Endpoint is free but drops after one hour. Fargate ephemeral gives you serverless-on-demand tunnels with no session cap. Three options, one decision.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><category>AWS · Cost &amp; Security</category><category>Serverless</category></item><item><title>Never build your own login system.</title><link>https://www.k-i-soft.ch/en/blog/never-build-your-own-login/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/never-build-your-own-login/</guid><description>&quot;I&apos;ll just quickly build the login.&quot; That&apos;s the sentence that starts every other SaaS disaster. Password hashing, MFA, passkeys, token rotation, audit logs, FADP compliance. Why Cognito, Lambda@Edge, and API Gateway solve it cleanly in three layers, and why you should never build this yourself.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>AWS · Cloud Security</category><category>Cognito</category></item><item><title>Lambda@Edge: code at the edge of the world.</title><link>https://www.k-i-soft.ch/en/blog/lambda-edge-explained/</link><guid isPermaLink="true">https://www.k-i-soft.ch/en/blog/lambda-edge-explained/</guid><description>Standard Lambda has a home region, often a continent away from the user. Lambda@Edge runs at 400+ CloudFront edge locations. The four trigger points, real use cases (edge auth, security headers, geolocation routing), the hard limits, and what&apos;s running in production at SCMC.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>AWS · Serverless</category><category>Lambda@Edge</category></item></channel></rss>