<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Blixwerk</title>
    <description>The latest articles on DEV Community by Blixwerk (@blixwerk_7cdf1919283d2fab).</description>
    <link>https://dev.to/blixwerk_7cdf1919283d2fab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4179538%2Fb9d08b25-d3c0-496c-8f53-2db2c13d5fa8.png</url>
      <title>DEV Community: Blixwerk</title>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/blixwerk_7cdf1919283d2fab"/>
    <language>en</language>
    <item>
      <title>Scraped Through Your API Pagination? The Lifeboat Hut</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Mon, 09 Nov 2026 13:58:32 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/scraped-through-your-api-pagination-the-lifeboat-hut-ocj</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/scraped-through-your-api-pagination-the-lifeboat-hut-ocj</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-scraped-no-pagination-limit?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The phone buzzes against the railing at 10:40 on a Saturday morning. You are standing on a slipway at a lifeboat station open day, holding a paper cup of tea and a child's sticky hand that is not yours. You are only there because your sister volunteers.&lt;/p&gt;

&lt;p&gt;The message is from a client. &lt;em&gt;"Can you call me? Someone seems to have downloaded our entire customer list."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The tea goes lukewarm in your hand. The whole list, through the API you built.&lt;/p&gt;

&lt;h2&gt;
  
  
  The sentence you replay
&lt;/h2&gt;

&lt;p&gt;Let's call you Jonas. You build small backends for small businesses. Mostly it is you, a laptop and a handful of clients who trust you to know what you are doing.&lt;/p&gt;

&lt;p&gt;You walk to the side of the boathouse, where the wind is loud and nobody can hear you, and you call back. Your client is calm, which is worse. He says the hosting provider noticed an odd burst of traffic overnight. One address asked for page after page, quickly, until there was nothing left to ask for.&lt;/p&gt;

&lt;p&gt;You open the laptop on an upturned crate. The logs are right there. The requests are neat and polite and endless, and nothing in your code told them to stop.&lt;/p&gt;

&lt;p&gt;You know exactly what you missed. You can see it in about forty seconds. A list endpoint that cheerfully handed over whatever size of page it was asked for. It was never a clever attack, only a door you forgot had no limit on it.&lt;/p&gt;

&lt;p&gt;Nobody died. You say that to yourself twice. But the thought underneath is the one nobody says out loud: &lt;em&gt;I'm supposed to be the professional here.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it quietly costs
&lt;/h2&gt;

&lt;p&gt;The rest of the open day passes in a blur of lifejackets and raffle tickets. A volunteer shows a crowd how the launch tractor works. You nod in the right places.&lt;/p&gt;

&lt;p&gt;In your head you are drafting the email to the client, then deleting it. Too apologetic. Too technical. Too defensive.&lt;/p&gt;

&lt;p&gt;You think about the people on that list. Ordinary customers who gave their details to a small shop and assumed that was the end of the story.&lt;/p&gt;

&lt;p&gt;You think about Monday. You think about whether this client will stay, whether the next one will hear about it, and whether "I'm sure it's fine" will ever sound honest to you again.&lt;/p&gt;

&lt;p&gt;That is the cost people don't count. Not just the incident, but the way it loosens your trust in your own work. Every endpoint you have ever shipped starts to look slightly suspicious. At night you lie awake running through the other doors you might have left open.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that surprised you
&lt;/h2&gt;

&lt;p&gt;On Sunday you fix the obvious thing. It takes less time than the worry did. You also write to the client, plainly and without drama. What happened, what you changed, what you are checking next. You do not hide, and you do not grovel.&lt;/p&gt;

&lt;p&gt;Then, late in the afternoon, sitting on the back step with the laptop warm on your knees, you notice something. The hole was not a flaw in you. It was a gap in how you looked.&lt;/p&gt;

&lt;p&gt;You had been reviewing from memory. Authentication checked, because you always check authentication. Input checked, because you remember that one. But the quiet questions, like &lt;em&gt;what happens if someone just asks for more, and keeps asking?&lt;/em&gt;, depended on whether you happened to think of them on a given Thursday.&lt;/p&gt;

&lt;p&gt;Memory is a poor security plan. It is also a very human one.&lt;/p&gt;

&lt;p&gt;The relief is small, but it is real. It doesn't have to depend on remembering. A review can be a list you walk through, the same way every time, whether you are tired or rushed or distracted by a launch date. The list does not get embarrassed. It just asks.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Monday
&lt;/h2&gt;

&lt;p&gt;Picture a Monday a few weeks on.&lt;/p&gt;

&lt;p&gt;You are at the kitchen table with coffee. A new client project is nearly ready to go live. Last time, this was the morning your stomach would have tightened.&lt;/p&gt;

&lt;p&gt;This time you open the review, a plain list, and go through it line by line. Some items pass in seconds. One makes you stop and fix something small. You tick it off and move on.&lt;/p&gt;

&lt;p&gt;By ten, you have a short written record of what was checked and what was changed. If the client asks, "Is it secure?", you will not answer with a nervous "I think so." You will have something real to put in front of them, calmly, in your own words.&lt;/p&gt;

&lt;p&gt;The afternoon is yours. You walk to the shop, and for once your phone stays in your pocket and the next buzz is only a text about dinner.&lt;/p&gt;

&lt;p&gt;Nothing about the work got easier. You just stopped carrying every doubt alone, in your head, at the worst possible moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise the slipway
&lt;/h2&gt;

&lt;p&gt;Maybe you have had your own phone call. Or maybe you have only felt the cold flicker of &lt;em&gt;did I forget something obvious?&lt;/em&gt; before a launch.&lt;/p&gt;

&lt;p&gt;If that is you, there is a gentle next step. The &lt;strong&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/strong&gt; is a 58-item review for Node/Express and Python: a PDF and an XLSX tracker, curl tests, an auth-route scanner script and a client report template. It does not make decisions for you. It gives your review a shape, so it stops living only in your memory.&lt;/p&gt;

&lt;p&gt;There is a 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;Take a look at the API Security Review Checklist Kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
    <item>
      <title>Backup Script Deleted Your Files? The Wedding Fair Stall</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sun, 08 Nov 2026 14:44:29 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/backup-script-deleted-your-files-the-wedding-fair-stall-4bim</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/backup-script-deleted-your-files-the-wedding-fair-stall-4bim</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/backup-script-deleted-my-files-instead-of-copying?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The coffee at the wedding fair is terrible, and you are holding a cup of it anyway.&lt;/p&gt;

&lt;p&gt;It is 10:20 on a Saturday. Your stand is behind you: two banners, a laptop on a loop of your best photo galleries, a bowl of mints. A couple is walking towards you with that look people get when they are about to ask about packages.&lt;/p&gt;

&lt;p&gt;Then your phone buzzes. It is a message to yourself, sent from the laptop's remote tool the night before. You open it out of habit.&lt;/p&gt;

&lt;p&gt;A log line. Three words you were not expecting: &lt;em&gt;removed 4,212 files.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The line you read twice
&lt;/h2&gt;

&lt;p&gt;You had written that script in a good mood. It was meant to copy the working folder to the external drive each night. A tidy little job. You had tested it once, on a small folder, and it seemed fine.&lt;/p&gt;

&lt;p&gt;Now you stand there, smiling at the couple, while a cold feeling runs from your stomach to your hands.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Removed.&lt;/em&gt; Not &lt;em&gt;copied&lt;/em&gt;. Not &lt;em&gt;synced&lt;/em&gt;. Removed.&lt;/p&gt;

&lt;p&gt;You say hello. You hear yourself say the prices are flexible. You do not hear a word of the conversation, because somewhere in your head a second conversation is running: which folder was it? Which drive? Is the original gone, or the copy? Is there a copy?&lt;/p&gt;

&lt;p&gt;The couple takes a card and drifts on. You sit down on the folding chair and open the laptop with the screen tilted away from the aisle.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it quietly costs
&lt;/h2&gt;

&lt;p&gt;The folder is not empty. That is almost worse. It is half full, and half full means you have to work out what is missing before you can know how bad it is.&lt;/p&gt;

&lt;p&gt;You scroll. Last spring's wedding is there. The autumn one is not. The invoices folder looks fine, or maybe it does, because you cannot remember how many there were.&lt;/p&gt;

&lt;p&gt;Nobody warns you about this part of working alone. It is not only the files. It is the small voice that says: &lt;em&gt;a real business would have done this properly.&lt;/em&gt; It is the way your afternoon shrinks to one question. It is the stand you are paying for, and the smile you are keeping up, while your mind is three hundred kilometres away in a folder tree.&lt;/p&gt;

&lt;p&gt;And under that, the quieter worry: a client emails next month asking for the full-resolution set from two years ago. What do you say?&lt;/p&gt;

&lt;h2&gt;
  
  
  The turning point, on a folding chair
&lt;/h2&gt;

&lt;p&gt;You do eventually find most of it. A sync copy here, a cloud folder there, an old drive in the bag you carry everywhere. It takes the rest of the fair and the whole evening, and it is not the weekend you planned.&lt;/p&gt;

&lt;p&gt;On Sunday, sitting at the kitchen table with tea, you notice what actually went wrong. It was not that you are careless. It was that the script had one mode: &lt;em&gt;do it.&lt;/em&gt; No way to ask it, "What would you do if I let you?" No record of what it did last Tuesday, or the Tuesday before. You had built something that acted first and explained never.&lt;/p&gt;

&lt;p&gt;And you had built it alone, late, between jobs, because nobody else was going to.&lt;/p&gt;

&lt;p&gt;That is the turning point. Not a clever fix. Just the plain thought: &lt;em&gt;it does not have to work like this.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A backup should be boring. It should show you what it is about to do before it does it. It should leave a note about every run, in plain words, that you can read in ten seconds. It should keep a few older snapshots so that one bad night does not become the only night.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Saturday
&lt;/h2&gt;

&lt;p&gt;Picture the same fair, a few months on.&lt;/p&gt;

&lt;p&gt;Same terrible coffee. Same bowl of mints. The couple walks up, and this time you hear every word. They ask about the engagement shoot, you tell them what is included, and you mean it.&lt;/p&gt;

&lt;p&gt;Your laptop is closed in the bag under the table. Somewhere at home, a drive has quietly taken its nightly snapshot. A small log file sits beside it, one per run, saying what was copied, what was kept and what was cleaned up. You have not opened it in a week. You do not need to.&lt;/p&gt;

&lt;p&gt;When you do open it, on a Monday with your first tea, it takes less time than reading a text message. Dates, counts, a calm "finished without errors." You close it and get on with the day.&lt;/p&gt;

&lt;p&gt;That is the whole change. Not excitement. Just the absence of the knot.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise the chair
&lt;/h2&gt;

&lt;p&gt;If you have ever read a log line you did not expect, or never wrote a log at all, you know the chair I mean.&lt;/p&gt;

&lt;p&gt;We put together &lt;strong&gt;Backup &amp;amp; Log Rotation Scripts (PowerShell + Bash)&lt;/strong&gt;: incremental snapshot backups, retention, log rotation and scheduling for Windows and Linux. It has a dry-run mode, so you can see what a run would do before it touches anything, and a logfile for every run. It comes with a 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;It does not replace testing a restore once in a while, and it is no substitute for knowing your own setup. It simply makes the boring part dependable.&lt;/p&gt;

&lt;p&gt;You can have a look here: &lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts" rel="noopener noreferrer"&gt;Backup &amp;amp; Log Rotation Scripts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>backup</category>
      <category>powershell</category>
      <category>bash</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>Ask a Supplier for Better Prices Without Sounding Rude?</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sun, 08 Nov 2026 14:14:07 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/ask-a-supplier-for-better-prices-without-sounding-rude-3jf9</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/ask-a-supplier-for-better-prices-without-sounding-rude-3jf9</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/ask-supplier-for-better-prices-without-sounding-rude?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Ask a Supplier for Better Prices Without Sounding Rude?
&lt;/h1&gt;

&lt;p&gt;It is 10:20 on a Tuesday morning and the rain is drumming on the roof of the car.&lt;/p&gt;

&lt;p&gt;You are parked outside the trade park, engine off, a half-eaten cheese roll on the passenger seat. On your phone is the new price list from your supplier. Eight pages. Most of the numbers have crept up. Nothing dramatic, just a little here, a little there. The kind of rise you only feel when you add it all together.&lt;/p&gt;

&lt;p&gt;Say you're Ines. You run a one-woman screen-print studio: tote bags, posters, the odd run of tea towels for a café that likes your work. The ink supplier has been good to you for four years. They know your name. They once squeezed an urgent order into a Friday van.&lt;/p&gt;

&lt;p&gt;And that is exactly the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The draft you keep deleting
&lt;/h2&gt;

&lt;p&gt;You open a new email. &lt;em&gt;Hi Tom, I hope you're well. I was just wondering, and I completely understand if not...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Delete.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hi Tom, thanks for the new list. Unfortunately the prices are a bit...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Delete.&lt;/p&gt;

&lt;p&gt;Because what if it sounds like a complaint? What if Tom takes it personally? What if next time the Friday van is suddenly "fully booked"? You are a tiny customer. You are not a big account with a buyer and a spreadsheet. You are a woman with a cheese roll and a nervous thumb.&lt;/p&gt;

&lt;p&gt;So you do what most people do. You close the email, put the phone face down, and tell yourself you'll deal with it later. Later, you will simply pay.&lt;/p&gt;

&lt;p&gt;Nobody talks about this bit of running a small business. It isn't glamorous and it isn't dramatic. It's the quiet habit of swallowing a small cost because asking feels rude. One rise at a time, your margin goes thin, and you start to wonder why a busy month doesn't feel like one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the quiet yes costs
&lt;/h2&gt;

&lt;p&gt;It's not only money. It's the little sting that arrives every time the invoice comes in. It's the feeling that everyone else seems to negotiate with a calm smile while you rehearse sentences in the car.&lt;/p&gt;

&lt;p&gt;And it's the story you tell yourself: &lt;em&gt;real businesses know how to do this. I'm just winging it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You are not winging it. You have run this studio for four years. You pay on time. You order regularly. That is worth something to a supplier, and politely saying so is not rude. It's ordinary business, the kind both sides expect.&lt;/p&gt;

&lt;p&gt;The trouble is the words. Not the thinking, the words. The blank email box at 10:20 with rain on the glass.&lt;/p&gt;

&lt;h2&gt;
  
  
  The turning point is smaller than you think
&lt;/h2&gt;

&lt;p&gt;Here's what changes things. Not courage. Not a course on negotiation. Just the moment you realise that a good supplier email is mostly made of three plain ingredients: a warm opening that is true, one clear request, and an easy way for the other person to say yes, no, or "let me see what I can do."&lt;/p&gt;

&lt;p&gt;That's it. No threats, no apologies, no essay.&lt;/p&gt;

&lt;p&gt;When you can see those parts laid out, the email stops being a verdict on your worth and becomes a short note between two people who both want the relationship to continue. Tom would probably rather get a friendly question than quietly lose you to a competitor one cold order at a time.&lt;/p&gt;

&lt;p&gt;And if the answer is no? Then you know. You've lost nothing but a few minutes, and you can decide calmly what to do next. The decision stays with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Tuesday
&lt;/h2&gt;

&lt;p&gt;Picture the same morning with the knot gone.&lt;/p&gt;

&lt;p&gt;You park. You open the email. Because the sentences already have a shape, you only have to fill in the gaps: Tom's name, your yearly volume, the one product you'd like a better price on. You read it once, out loud, and it sounds like you on a good day. Kind, steady, clear.&lt;/p&gt;

&lt;p&gt;You press send before the roll is finished.&lt;/p&gt;

&lt;p&gt;Then you go inside, collect your order, and make small talk with the man at the trade counter about the rain. There is no little voice in the back of your head replaying the email. It's out of your hands, and it was written well enough that you don't need to second-guess it.&lt;/p&gt;

&lt;p&gt;Tom replies after lunch. Maybe he offers a small volume discount. Maybe he says the list is fixed but suggests ordering in larger batches twice a year. Maybe he says no, kindly. Whatever the answer, the exchange was polite, and the relationship is intact. You've simply stopped paying for silence.&lt;/p&gt;

&lt;p&gt;Back at the studio you hang the first test print on the line, and the afternoon is yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  One gentle next step
&lt;/h2&gt;

&lt;p&gt;If you recognise yourself in the car with the deleted drafts, it may help to have the words ready before you need them.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://blixwerkstudio.com/p/small-business-ai-prompt-pack-operations" rel="noopener noreferrer"&gt;Small Business Operations AI Prompt Pack&lt;/a&gt; is 75 fill-in-the-brackets prompts for the everyday writing of a small business: supplier emails, customer replies, product texts, job ads, SOPs and weekly plans. You drop in your own details, let an AI tool draft a first version, and then you read it, change it and make it sound like you. It comes as PDF and Markdown and costs 9 $.&lt;/p&gt;

&lt;p&gt;It won't negotiate for you, and it doesn't replace your judgement about what's fair for your business. It just takes the blank page out of the moment. And if it doesn't help, there's a 30-day money-back promise, no questions asked.&lt;/p&gt;

&lt;p&gt;The rain will stop eventually. The email can be sent before it does.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/small-business-ai-prompt-pack-operations?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiprompts</category>
      <category>smallbusiness</category>
      <category>chatgptprompts</category>
      <category>customerservice</category>
    </item>
    <item>
      <title>Always Reacting to Clients? The Garage Wall Calendar</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sun, 08 Nov 2026 13:43:45 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/always-reacting-to-clients-the-garage-wall-calendar-1dkb</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/always-reacting-to-clients-the-garage-wall-calendar-1dkb</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/always-reacting-to-clients-never-planning-freelance-year?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You are sitting in the waiting area of a garage, third plastic chair from the door. The car is up on the ramp for its annual check. Your laptop is open on your knees, because of course it is.&lt;/p&gt;

&lt;p&gt;There are four unread messages from one client. The first says &lt;em&gt;quick question&lt;/em&gt;. The second says &lt;em&gt;sorry, one more thing&lt;/em&gt;. The third is just a screenshot with a red circle on it.&lt;/p&gt;

&lt;p&gt;You answer all of them. It takes twenty-five minutes. Nobody thanks you, and nobody should have to. That is the job.&lt;/p&gt;

&lt;p&gt;Then you look up.&lt;/p&gt;

&lt;h2&gt;
  
  
  The calendar on the wall
&lt;/h2&gt;

&lt;p&gt;Behind the reception desk hangs a big paper year planner, the kind with all twelve months on one sheet. It's covered in coloured marker. Blue for MOTs. Green for tyre deliveries. A red box around the second week of August that says &lt;em&gt;CLOSED – Spain!!&lt;/em&gt; with two exclamation marks.&lt;/p&gt;

&lt;p&gt;The owner, a woman in a grey fleece, is on the phone. She flips a page and says, without looking, "No, I can fit you in the 14th. The 21st I'm away."&lt;/p&gt;

&lt;p&gt;She knows where her year is. She knows it the way you know your own front door.&lt;/p&gt;

&lt;p&gt;You try to say the same about yours. What are you doing in March? You don't know. Not in a worried way, more in a blank way. March is a place where clients will happen to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The week that belongs to whoever wrote last
&lt;/h2&gt;

&lt;p&gt;You have been self-employed long enough to know how it goes. Monday starts with a plan. By ten past nine somebody has an urgent thing, and the plan folds up like a deckchair.&lt;/p&gt;

&lt;p&gt;By Wednesday you are working on the loudest request, not the most important one. By Friday you are tired in that specific way. You were busy all week and cannot say with what.&lt;/p&gt;

&lt;p&gt;Nobody talks about the quiet cost of this. You haven't sent your own newsletter in five months. You keep meaning to raise your rates, but there's never a calm week to do it in. A holiday is something you'll book once things settle down, and things have not settled down since the spring before last.&lt;/p&gt;

&lt;p&gt;It isn't that you are bad at planning. You are good at responding. Clients reward responding. They don't send a card when you protect a Thursday for your own work.&lt;/p&gt;

&lt;p&gt;And so the year gets written by other people, one email at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  "When are you away?"
&lt;/h2&gt;

&lt;p&gt;The woman in the fleece puts the phone down and catches you looking.&lt;/p&gt;

&lt;p&gt;"Sorry," you say. "I like your calendar."&lt;/p&gt;

&lt;p&gt;"It's the only reason I'm still sane," she says, and laughs. "I do it every December. Holidays first, then the busy weeks, then everything else goes around them. If I leave it to the year itself, the year eats me."&lt;/p&gt;

&lt;p&gt;She goes back to her screen. It was a throwaway line, the kind people say at desks.&lt;/p&gt;

&lt;p&gt;But it lands somewhere. &lt;em&gt;Holidays first. Everything else goes around them.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You have always done it the other way round. Work first, then whatever is left over, if anything is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The car comes back, and so does the thought
&lt;/h2&gt;

&lt;p&gt;The car passes. A small advisory about a tyre, nothing dramatic. You pay, you thank her, you drive home with the radio off.&lt;/p&gt;

&lt;p&gt;At a red light you notice you're not thinking about the red-circle screenshot. You're thinking about a blank sheet of paper with twelve months on it, and how it might feel to put the first marker down yourself.&lt;/p&gt;

&lt;p&gt;Not a grand plan. Not a five-year vision. Just a few things written in before anyone asks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the week you're away,&lt;/li&gt;
&lt;li&gt;the days you won't take calls,&lt;/li&gt;
&lt;li&gt;the month you'll finally send your new rates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nothing about it is clever. It just makes your year visible before it fills up.&lt;/p&gt;

&lt;h2&gt;
  
  
  An ordinary Monday, later
&lt;/h2&gt;

&lt;p&gt;Picture it, a few months on. It's Monday, 8:40. The kettle is on. You open one page, the week, and it already knows what matters. Three things are written in your own handwriting, and one of them is not for a client at all.&lt;/p&gt;

&lt;p&gt;An email arrives at 9:12, urgent as ever. You read it and you can see the week. You can see that Thursday is protected, that the invoice follow-up has its own slot, that August has a box with your name on it. So you answer calmly: "I can do that on Wednesday afternoon."&lt;/p&gt;

&lt;p&gt;The sentence feels odd in your mouth, and then it feels ordinary.&lt;/p&gt;

&lt;p&gt;The client says Wednesday is fine. Most of the time they do.&lt;/p&gt;

&lt;p&gt;By Friday you can tell, in plain words, what you did this week. Some of it was reacting, because it always will be. Some of it was yours.&lt;/p&gt;

&lt;p&gt;You close the laptop at six. The evening stays where it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise yourself in the third plastic chair
&lt;/h2&gt;

&lt;p&gt;We made the &lt;strong&gt;Calm Year 2027 – Printable Freelancer Planner&lt;/strong&gt; for exactly this: twelve monthly spreads where you put your own time down first, 52 weekly pages, and simple client and invoice logs so the money side has a place too. It comes as A4, US Letter and 6x9 book-interior PDFs. You print it, you write in it, and you can reprint a page when a week goes sideways.&lt;/p&gt;

&lt;p&gt;If it doesn't help, there's a 30-day money-back promise, no questions.&lt;/p&gt;

&lt;p&gt;You can take a look here: &lt;a href="https://blixwerkstudio.com/p/calm-year-planner-2027-printable" rel="noopener noreferrer"&gt;Calm Year 2027 – Printable Freelancer Planner&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you'd rather start with nothing but a pen and a bit of paper, that works too. Write in your holiday first. See how it feels.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/calm-year-planner-2027-printable?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>planner</category>
      <category>2027</category>
      <category>printable</category>
      <category>freelancer</category>
    </item>
    <item>
      <title>Backup Says Success, Folder Empty? The Spilled Latte</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sat, 07 Nov 2026 14:29:32 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/backup-says-success-folder-empty-the-spilled-latte-4lec</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/backup-says-success-folder-empty-the-spilled-latte-4lec</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/backup-says-success-but-folder-empty?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It is 8:20 on a Wednesday, and Jonas is standing in a station café with a dripping laptop.&lt;/p&gt;

&lt;p&gt;He is a freelance motion designer, in his seventh year of working alone. The latte went over in one slow, silent wave. He pulled the plug, tipped the machine upside down on a stack of paper napkins, and said a word he doesn't usually say in public.&lt;/p&gt;

&lt;p&gt;Then the thought arrives, quite calmly: &lt;em&gt;It's fine. I have a backup.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He even remembers setting it up. A scheduled task, every night at 2 a.m. He remembers the little green line in the task scheduler: &lt;strong&gt;Last run result: The operation completed successfully.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He borrows his sister's old tablet from his bag, plugs in the external drive, and opens the backup folder.&lt;/p&gt;

&lt;p&gt;It is empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  The word "successfully"
&lt;/h2&gt;

&lt;p&gt;Not nearly empty. Not missing a few recent files. Empty, as in a folder with a name and nothing inside, like a shelf in a shop that has closed down.&lt;/p&gt;

&lt;p&gt;He refreshes it. He opens the folder properties. Zero items, zero bytes.&lt;/p&gt;

&lt;p&gt;The odd part is that nothing has gone &lt;em&gt;wrong&lt;/em&gt;. No red warning, no email, no pop-up in the corner of the screen. Every morning for months, the machine has told him the job was done. He believed it, because why wouldn't you? It was the one thing in his week that wasn't asking him for anything.&lt;/p&gt;

&lt;p&gt;His client call is at 10:00. The delivery for a product launch video is due on Friday. The project files from the last three weeks are on a laptop currently drying out on a napkin next to a croissant.&lt;/p&gt;

&lt;p&gt;The hardest feeling isn't the lost files yet. It's the small cold realisation that he has been feeling safe for a long time, for no reason at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it quietly costs
&lt;/h2&gt;

&lt;p&gt;The laptop, as it turns out, wakes up on the second attempt. The screen flickers, the fan coughs, and the desktop appears. He copies the current project to a cloud folder with his heart in his throat, watching the progress bar like a pulse monitor.&lt;/p&gt;

&lt;p&gt;It works. This time.&lt;/p&gt;

&lt;p&gt;But the morning is already different. On the call at 10:00 he is half there. The client talks about colour grading and he nods, while a quieter voice in his head asks: &lt;em&gt;What else says "success" and means nothing?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The invoice tracker? The folder of signed contracts? The thing he set up once, on a good day, and never looked at again?&lt;/p&gt;

&lt;p&gt;That is the cost nobody puts on a rate card. Not the lost files. The loss of trust in the quiet things you rely on. When one "successful" turns out to be hollow, every green tick starts to look a little suspicious.&lt;/p&gt;

&lt;h2&gt;
  
  
  The turning point
&lt;/h2&gt;

&lt;p&gt;Later that afternoon, in his own kitchen with the laptop on a tea towel, he finally reads the little script he'd copied from a forum years ago. It points to a path that no longer exists, because he renamed a drive letter last spring. The script found nothing to copy, copied it faithfully, and reported that it had finished without a problem.&lt;/p&gt;

&lt;p&gt;No error. Just an empty bag, carefully carried every night.&lt;/p&gt;

&lt;p&gt;And Jonas sees what was actually missing. It wasn't a better tool or a bigger drive. It was a &lt;strong&gt;trail&lt;/strong&gt;. A simple record each night of what was copied, how much, and where, something a person could glance at in ten seconds and know. And a way to try a run first, without touching anything, and just look at what it &lt;em&gt;would&lt;/em&gt; do.&lt;/p&gt;

&lt;p&gt;There is no drama in that idea. It is almost boring. That's exactly the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  An ordinary Monday, afterwards
&lt;/h2&gt;

&lt;p&gt;Picture a Monday a few weeks later. Same kitchen, same coffee, a lid on it this time.&lt;/p&gt;

&lt;p&gt;Jonas opens one small text file. It lists last night's run: this many files, this many megabytes, this folder, finished at 02:07. Older snapshots sit neatly behind it, and the oldest ones quietly drop away on their own, so the drive doesn't fill up and surprise him in three months.&lt;/p&gt;

&lt;p&gt;He reads the file the way you check the weather. Nothing dramatic. Looks right. Closed.&lt;/p&gt;

&lt;p&gt;The whole thing takes less time than the kettle.&lt;/p&gt;

&lt;p&gt;Then he gets on with the job he actually charges for. When a client says, "Can you find the version from two weeks ago?", he doesn't feel his stomach drop. He just says, "Give me a minute."&lt;/p&gt;

&lt;p&gt;That is what a working backup really sells you. Not safety in the abstract, but a quieter head. The ability to spill a latte and think &lt;em&gt;annoying&lt;/em&gt; instead of &lt;em&gt;catastrophe&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  If this sounds familiar
&lt;/h2&gt;

&lt;p&gt;Maybe you have a green tick somewhere that you haven't looked behind in a long time. Maybe you've never opened the backup folder at all, because it feels like tempting fate.&lt;/p&gt;

&lt;p&gt;You don't need to rebuild your whole setup this weekend. It can start with one small thing: seeing, in plain words, what each run actually did.&lt;/p&gt;

&lt;p&gt;If you'd like a calm starting point, we made &lt;strong&gt;&lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts" rel="noopener noreferrer"&gt;Backup &amp;amp; Log Rotation Scripts (PowerShell + Bash)&lt;/a&gt;&lt;/strong&gt;. They cover incremental snapshot backups with retention, log rotation and scheduling for Windows and Linux, a dry-run mode so you can see what would happen before anything is touched, and a logfile for every run. It comes with our 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;We can't promise you'll never spill a coffee. But the next time you do, you can find out in ten seconds what you still have.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>backup</category>
      <category>powershell</category>
      <category>bash</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>Backup Folder Keeps Growing, Drive Almost Full? The Ferry Deck</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sat, 07 Nov 2026 13:59:11 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/backup-folder-keeps-growing-drive-almost-full-the-ferry-deck-2g1g</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/backup-folder-keeps-growing-drive-almost-full-the-ferry-deck-2g1g</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/backup-folder-keeps-growing-drive-almost-full?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Backup Folder Keeps Growing, Drive Almost Full? The Ferry Deck
&lt;/h1&gt;

&lt;p&gt;The ferry is halfway across when the notification arrives. You are standing on the open deck with a paper cup of tea, the wind pulling at your jacket, and your phone says: &lt;em&gt;Backup drive almost full. 38 GB remaining.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You are on your way to a client workshop on the island. You are early. You are calm. And now there is a small cold stone in your stomach.&lt;/p&gt;

&lt;p&gt;You know exactly what is on that drive. A folder called &lt;code&gt;Backup&lt;/code&gt;. Inside it, folders called &lt;code&gt;Backup_old&lt;/code&gt;, &lt;code&gt;Backup_new&lt;/code&gt;, &lt;code&gt;Backup_final&lt;/code&gt; and, somewhere further down, &lt;code&gt;Backup_final_2&lt;/code&gt;. Nobody ever deleted anything. Why would you? Deleting a backup feels like the most dangerous thing you can do with a backup.&lt;/p&gt;

&lt;h2&gt;
  
  
  The folder that only ever grows
&lt;/h2&gt;

&lt;p&gt;It began so sensibly. Two years ago you set up a nightly copy and felt, for the first time, like someone who ran a proper business. Client files, invoices, project folders, all safe.&lt;/p&gt;

&lt;p&gt;Then the copies piled up. One a night. Each one nearly identical to the one before. Each one quietly taking its share of the drive.&lt;/p&gt;

&lt;p&gt;You never decided to keep them all. You just never decided anything. The decision was always for later, for a week with more air in it.&lt;/p&gt;

&lt;p&gt;So the drive filled the way a bath fills when you walk away. No drama. Just a slow line rising while you were busy with real work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs when nobody decides
&lt;/h2&gt;

&lt;p&gt;The cost is not the drive. A new drive is easy to buy.&lt;/p&gt;

&lt;p&gt;The cost is the small flinch every time you think about it. The knowledge that if the drive fills up, the backup might stop, and that you might not notice until the day you need it. The odd shame of being the person who recommends good habits to clients and cannot say how long her own copies are kept.&lt;/p&gt;

&lt;p&gt;It is the Sunday you spent half an hour dragging old folders to the bin, then stopped because you were not sure which ones were safe to remove. You closed the window. You told yourself you would do it properly later.&lt;/p&gt;

&lt;p&gt;Later is a very crowded place.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question on the island
&lt;/h2&gt;

&lt;p&gt;The workshop goes well. People are kind, the coffee is good, and at lunch someone mentions, in passing, that she keeps the last week of daily copies, a few monthly ones, and lets the rest go.&lt;/p&gt;

&lt;p&gt;She says it the way you might say you keep milk in the fridge and not on the windowsill. Not clever. Not technical. Just a rule, decided once.&lt;/p&gt;

&lt;p&gt;You nod and eat your sandwich. But the thought stays with you all afternoon, quiet and stubborn: &lt;em&gt;you can just decide how long to keep things. Once. And then it happens by itself.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The old copies are not a treasure to guard. They are a stack that needs a sensible edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Monday
&lt;/h2&gt;

&lt;p&gt;Picture the Monday after that.&lt;/p&gt;

&lt;p&gt;You sit down with your coffee. The drive is not a worry today because the folder has a shape. Recent days are there in full. Older ones are thinned out to a few sensible points. Anything past its time has been cleared away without you lifting a finger.&lt;/p&gt;

&lt;p&gt;There is a short logfile for last night's run. You open it, read three calm lines, and close it. Nothing surprising. No red bar. No cold stone.&lt;/p&gt;

&lt;p&gt;If you ever wanted to see what a clean-up would touch before it touched anything, you could ask for a rehearsal first and read what it &lt;em&gt;would&lt;/em&gt; do. No bravery required.&lt;/p&gt;

&lt;p&gt;The drive has room. Your head has room too, which is the part you had not expected. The background hum of &lt;em&gt;I should really sort that out&lt;/em&gt; simply stops, like a fridge you only notice once it goes quiet.&lt;/p&gt;

&lt;p&gt;You start your first call of the week without a single browser tab about disk space open.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is so easy to put off
&lt;/h2&gt;

&lt;p&gt;It is easy to put off because nothing is on fire. A growing backup folder never sends an angry email. It just takes a little more of your trust each month.&lt;/p&gt;

&lt;p&gt;And because backups feel serious, we treat the housekeeping around them as serious too. Better to leave it alone than to break something. So the cautious choice becomes the one that slowly causes the problem.&lt;/p&gt;

&lt;p&gt;But caution and clutter are not the same thing. A good backup is one you can trust, and part of trust is knowing it will still be running next month, with space to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  One gentle next step
&lt;/h2&gt;

&lt;p&gt;If you recognise the ferry deck, the folder called &lt;code&gt;Backup_final_2&lt;/code&gt;, and the stone in your stomach, there is a small, calm way out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts" rel="noopener noreferrer"&gt;Backup &amp;amp; Log Rotation Scripts (PowerShell + Bash)&lt;/a&gt; cover incremental snapshot backups, retention, log rotation and scheduling for Windows and Linux. There is a dry-run mode, so you can see what would happen before anything does, and a logfile for every run, so you can check in a minute and get on with your day.&lt;/p&gt;

&lt;p&gt;They are made with AI, checked automatically, and refined by real use. Like every Blixwerk product, they come with a 30-day money-back promise: if they do not help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;The old copies do not have to sit there forever. You are allowed to decide once, and let it be done.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/backup-log-rotation-scripts?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>backup</category>
      <category>powershell</category>
      <category>bash</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>Is Your API Open to CSRF or XSS? The Gala Snack Bar</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Sat, 07 Nov 2026 13:28:49 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/is-your-api-open-to-csrf-or-xss-the-gala-snack-bar-5a6i</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/is-your-api-open-to-csrf-or-xss-the-gala-snack-bar-5a6i</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-vulnerable-to-csrf-or-xss-not-sure?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The queue at the snack bar of the municipal pool moves one tea at a time.&lt;/p&gt;

&lt;p&gt;You are third from the front. The air smells of chlorine and toasted cheese sandwiches. Somewhere behind you a starter's horn goes off, and a hundred parents cheer for children they can't quite see.&lt;/p&gt;

&lt;p&gt;Your phone is in your hand. It has been there for ten minutes.&lt;/p&gt;

&lt;p&gt;The message is from Jonas, your client: &lt;em&gt;"Quick one before Monday. Our IT contact asked if the portal is safe against CSRF and XSS. Can you confirm?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You read it again. Three words in, your stomach does the small drop it does in lifts.&lt;/p&gt;

&lt;p&gt;Let's call you Mara. She is an illustration, not a real person, but you may know her. She built a client portal and a small API behind it. It works. The demo went well. And she has no honest answer to that question.&lt;/p&gt;

&lt;h2&gt;
  
  
  The answer you almost typed
&lt;/h2&gt;

&lt;p&gt;"Yes, all fine." It's a short sentence. It would take four seconds.&lt;/p&gt;

&lt;p&gt;You don't send it, because you can feel the gap behind it. You think you remember something about cookies. You think the framework probably does something by default. You once read half an article about escaping output and meant to go back.&lt;/p&gt;

&lt;p&gt;"Probably" is not a word you want to hand to someone else's IT department.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Two teas, please,"&lt;/em&gt; says the man in front of you. You step forward without noticing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the not-knowing costs
&lt;/h2&gt;

&lt;p&gt;It isn't dramatic. Nothing is on fire.&lt;/p&gt;

&lt;p&gt;It's the way the gala goes past you. Your daughter swims her heat, and you cheer on time, but half of you is inside a browser tab, wondering whether a stranger's page could ask your API to do something while someone is logged in. You're also wondering whether anything you render could ever run as code instead of text.&lt;/p&gt;

&lt;p&gt;The weekend is leaking away. So is the quiet feeling that you are good at your job.&lt;/p&gt;

&lt;p&gt;You tell yourself you'll check on Sunday night. Then you remember last Sunday night. You opened a dozen search results, each one contradicted the one before, and you closed the laptop more worried than when you started.&lt;/p&gt;

&lt;p&gt;The trouble was never that you couldn't learn this. The trouble was that you had no list. You didn't know what "checked" would even look like, so "done" never arrived.&lt;/p&gt;

&lt;h2&gt;
  
  
  The turn, between the tea and the sugar
&lt;/h2&gt;

&lt;p&gt;The girl behind the counter hands over your tea and a wooden stirrer. You step aside to the little shelf with the sugar sachets.&lt;/p&gt;

&lt;p&gt;And a thought arrives, plainly, the way good thoughts do when you stop pushing:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I don't need to be certain about everything. I need to know what has been looked at and what hasn't.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That's a smaller job, and a kinder one. It isn't "am I secure?", which has no finish line. It's "which of these questions have I answered, and what did I see when I did?"&lt;/p&gt;

&lt;p&gt;You put the sugar down. You type back to Jonas:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Good question. I'll go through it properly on Monday morning and send you a short written summary by lunchtime."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It's true, it's calm, and it sounds like someone who runs a real business. You press send. Your shoulders drop an inch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Monday could feel like
&lt;/h2&gt;

&lt;p&gt;Picture it differently, just once.&lt;/p&gt;

&lt;p&gt;It's Monday, a quarter past nine. Coffee on the desk, window open a crack. You have one list in front of you, with every item written as a plain question. Next to some of them there's a little note in your own words: &lt;em&gt;checked, this is what I saw.&lt;/em&gt; Others say &lt;em&gt;not applicable here&lt;/em&gt;, and you can say why.&lt;/p&gt;

&lt;p&gt;The unanswered ones are visible, and visible is manageable. You work through them one at a time, without the fog.&lt;/p&gt;

&lt;p&gt;By lunchtime you send Jonas a tidy summary. It says what was reviewed, what was fine, and what you tightened. It doesn't promise the impossible. It shows that you looked, and how.&lt;/p&gt;

&lt;p&gt;His IT contact replies with a thumbs-up and one follow-up question. You can answer it, because you know where you wrote the answer down.&lt;/p&gt;

&lt;p&gt;Then you eat lunch away from the screen. That's the part nobody puts on a checklist, but it's the point of one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Back at the poolside
&lt;/h2&gt;

&lt;p&gt;The next heat is called. You find a spot on the bleachers, tea going lukewarm in your hand, and you watch your daughter climb onto the block.&lt;/p&gt;

&lt;p&gt;The horn goes. She is a small, determined splash.&lt;/p&gt;

&lt;p&gt;This time you're watching her, not a tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise yourself in this
&lt;/h2&gt;

&lt;p&gt;If you've ever stood somewhere ordinary with a question about CSRF or XSS and no honest answer, the thing you're missing probably isn't more reading. It's a finished list you can walk through once and put your name to.&lt;/p&gt;

&lt;p&gt;That's what the &lt;strong&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/strong&gt; is for. It's 58 review items as a PDF and an XLSX tracker, with curl tests, an auth-route scanner script and a client report template, for Node/Express and Python. It won't replace a professional security audit, and it can't promise your API is flawless. It gives you a calm, orderly way to look, note what you saw, and tell your client clearly.&lt;/p&gt;

&lt;p&gt;It comes with a 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;Take a look at the kit here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
    <item>
      <title>Worried About API Mass Assignment? The Badge Desk Pen</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Fri, 06 Nov 2026 14:14:20 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/worried-about-api-mass-assignment-the-badge-desk-pen-28c2</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/worried-about-api-mass-assignment-the-badge-desk-pen-28c2</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-mass-assignment-users-change-fields-they-shouldnt?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Mara stands at the registration desk of a small regional dev conference. It is 8:40 on a Thursday and her lanyard is still in the box. The volunteer in front of her is handing out badges. Each badge has a name, a company and a coloured stripe: green for attendee, blue for speaker, black for organiser.&lt;/p&gt;

&lt;p&gt;A man ahead of her is filling in a paper form. At the bottom is a line that says &lt;em&gt;Ticket type&lt;/em&gt;. It was meant for the volunteers. He looks at it, shrugs, and writes &lt;em&gt;Organiser&lt;/em&gt;. The volunteer glances up, says nothing, and prints a black stripe.&lt;/p&gt;

&lt;p&gt;Nobody is angry. Nobody even notices. The form simply asked, so he answered.&lt;/p&gt;

&lt;p&gt;Mara laughs, then stops. Her stomach does something small and cold.&lt;/p&gt;

&lt;h2&gt;
  
  
  The line on your own form
&lt;/h2&gt;

&lt;p&gt;Yesterday she shipped a profile update endpoint for a client. It's a small thing. A user changes their display name and their phone number. The code takes whatever arrives in the request and saves it to the user record.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Whatever arrives.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;She stands there holding a paper cup of conference coffee, running the user record through her head. Name. Email. Phone. Role. Plan. Verified. Credits.&lt;/p&gt;

&lt;p&gt;The app's own screen only ever sends two of those fields. But nobody is forcing a browser to send only two fields. Anyone who looks at the request can add a line of their own, the way the man added &lt;em&gt;Organiser&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;She isn't sure it works that way in her code. That is the whole problem. She isn't sure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the worry costs
&lt;/h2&gt;

&lt;p&gt;The keynote starts. Mara hears none of it.&lt;/p&gt;

&lt;p&gt;She opens her laptop under the table and scrolls through the handler. She thinks it's probably fine. Then she scrolls to the model and thinks it's probably not fine. Then she remembers the client demo on Monday, where their product owner likes to click around "just to see what happens."&lt;/p&gt;

&lt;p&gt;There is a particular kind of tiredness that comes from a doubt you can't size. It isn't a bug. A bug you could fix. It's a maybe, and a maybe follows you to lunch, to the train home and into the shower on Saturday.&lt;/p&gt;

&lt;p&gt;She starts a message to the client: &lt;em&gt;Quick question about the profile endpoint.&lt;/em&gt; She deletes it. She doesn't want to write &lt;em&gt;I'm not sure my own code is safe&lt;/em&gt; to someone who pays her to be sure.&lt;/p&gt;

&lt;p&gt;She starts a different message to herself instead, a list of everything she might have missed. It gets long. It gets vague. &lt;em&gt;Auth stuff? Roles? Check other endpoints too?&lt;/em&gt; It reads like a to-do list written by someone holding their breath.&lt;/p&gt;

&lt;h2&gt;
  
  
  The turn
&lt;/h2&gt;

&lt;p&gt;At the coffee break she watches the badge desk again. A different volunteer has taken over. She doesn't do anything clever. She just has a card in front of her that says which fields come from the attendee and which ones are hers alone.&lt;/p&gt;

&lt;p&gt;Name: theirs. Company: theirs. Stripe: &lt;em&gt;hers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Nothing else about the desk changed. The pen was still on the table. Someone who wanted to could still write &lt;em&gt;Organiser&lt;/em&gt;. But the desk no longer took the stripe from the form. It decided the stripe itself.&lt;/p&gt;

&lt;p&gt;Mara puts down her cup.&lt;/p&gt;

&lt;p&gt;The doubt hadn't come from the code being impossible. It had come from the review being formless. She was trying to hold the whole question in her head, with a client waiting and a keynote droning on. Nobody can hold "is my API okay?" in their head.&lt;/p&gt;

&lt;p&gt;But you can hold a list. A short question per door, asked in the same order every time. &lt;em&gt;Which fields can this request touch? Which ones should it never touch? Where do I check?&lt;/em&gt; A calm, boring list that someone else already thought through, so she doesn't have to invent it at 8:40 on a Thursday.&lt;/p&gt;

&lt;h2&gt;
  
  
  The after
&lt;/h2&gt;

&lt;p&gt;Picture the Monday demo with that list behind you.&lt;/p&gt;

&lt;p&gt;The product owner is clicking around, as usual. Mara is not watching his cursor. She's drinking her tea, which is still warm. She has a tracker with every route in it and a note beside each one: &lt;em&gt;checked, here's how.&lt;/em&gt; If a question comes up, she doesn't say "I'll get back to you." She says "yes, I've looked at that," and means it.&lt;/p&gt;

&lt;p&gt;There's also a short report she can send. It doesn't say "trust me." It says what was reviewed and what was found. It reads like the work of a professional, because it is.&lt;/p&gt;

&lt;p&gt;The knot loosens. Not because the world became risk-free, since no checklist promises that, but because the maybe now has edges. You know what you looked at. You know what's left. You can close the laptop and actually hear the keynote.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise the pen
&lt;/h2&gt;

&lt;p&gt;If you've ever shipped an endpoint and then wondered whether a user could slip in a field you never meant to offer, you know this feeling. It doesn't mean you're a careless developer. It means nobody gave you a clear way to look.&lt;/p&gt;

&lt;p&gt;We built the &lt;strong&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/strong&gt; for exactly that moment. It has 58 items in a PDF, an XLSX tracker, curl tests, an auth-route scanner script for Node/Express and Python, and a client report template. It's a review kit, not a guarantee, and it doesn't replace a professional security audit when one is warranted.&lt;/p&gt;

&lt;p&gt;If it doesn't help, there's a 30-day money-back promise: full refund, no questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;See the REST API Security Checklist Kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
    <item>
      <title>API Broken Access Control? The Umbrella Basket</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Fri, 06 Nov 2026 13:44:03 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/api-broken-access-control-the-umbrella-basket-2apl</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/api-broken-access-control-the-umbrella-basket-2apl</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-broken-access-control-worried-nobody-checked?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Basket by the Door
&lt;/h2&gt;

&lt;p&gt;It is 11:05 on a Thursday and it is raining sideways. You ducked into the café on the corner with your laptop bag over your head, and now you are standing at the door, dripping, looking at a wicker basket full of umbrellas.&lt;/p&gt;

&lt;p&gt;A sign says &lt;em&gt;Borrow one, bring it back.&lt;/em&gt; No names. No tickets. A man in a grey coat picks the biggest one and walks out. Nobody stops him. Nobody would.&lt;/p&gt;

&lt;p&gt;You smile. Then the smile slips, because a thought you've been carrying for three weeks has just found its words.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Does my API work like that basket?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Thought Nobody Asked You About
&lt;/h2&gt;

&lt;p&gt;Let's call you Jonas. You're a freelance developer. Six months ago you built the backend for a small physiotherapy booking app. Login works. Tokens work. The client is happy. The app has real people in it now, with real names and real appointment times.&lt;/p&gt;

&lt;p&gt;Nobody has ever asked you whether user 41 can open the record of user 42.&lt;/p&gt;

&lt;p&gt;You know what the term for this is. &lt;em&gt;Broken access control.&lt;/em&gt; You've read the headlines. You've nodded along in meetings. And you've never actually sat down and checked, because the thing worked, the demo went well, and the next project was already waiting.&lt;/p&gt;

&lt;p&gt;So you order a flat white and take the corner table by the window. You open the laptop. You stare at the route files.&lt;/p&gt;

&lt;p&gt;The thought is simple and it's heavy: &lt;em&gt;I think it's fine. But I have never looked.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Costs, Quietly
&lt;/h2&gt;

&lt;p&gt;Nothing has gone wrong. That's the strange part. No email, no alert, no angry client.&lt;/p&gt;

&lt;p&gt;But the doubt has been costing you anyway.&lt;/p&gt;

&lt;p&gt;It costs you the first ten minutes of every call with that client, when you listen for the word &lt;em&gt;security&lt;/em&gt; and brace. It costs you a small flinch when the app gets a mention in a newsletter. It costs you a Sunday afternoon where you were physically on the sofa and mentally inside a controller file.&lt;/p&gt;

&lt;p&gt;And it costs you something harder to name. You're the person who built it. You'd like to feel like a professional who knows what's in there, not someone hoping.&lt;/p&gt;

&lt;p&gt;The coffee arrives. You don't touch it. You open one route, then another, scrolling, half-checking, half-flinching. It's not a plan. It's just worry with a keyboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Question Behind the Question
&lt;/h2&gt;

&lt;p&gt;Then you notice something. You don't actually have a problem with your code. You have a problem with having no way to look at it.&lt;/p&gt;

&lt;p&gt;You can't say whether it's fine, because you don't know what "checked" would even mean. Which routes count? Which ones matter most? What does "done" look like? Without an answer, the worry has no edges. It just sits there, as big as you let it be.&lt;/p&gt;

&lt;p&gt;And a worry with no edges is exhausting. A worry with a list is something else. It's a Tuesday task.&lt;/p&gt;

&lt;p&gt;The woman at the next table is sliding her umbrella back into the basket, carefully, as if someone might check. You almost laugh. People are decent about umbrellas. Software is not that polite, and it doesn't need to be. It only needs someone to have looked.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changes When Someone Has Looked
&lt;/h2&gt;

&lt;p&gt;Picture a different Monday.&lt;/p&gt;

&lt;p&gt;You open the project at nine. There is a short list beside it, ticked off, with notes in your own handwriting. Some boxes say &lt;em&gt;fine&lt;/em&gt;. One says &lt;em&gt;fixed, retested&lt;/em&gt;. One says &lt;em&gt;not applicable, and here's why&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;When the client asks, on a call, whether the app is safe to grow, you don't tense up. You don't promise the moon either. You say what you checked, what you changed, and what you'd look at next. Your voice is level. The call ends four minutes early.&lt;/p&gt;

&lt;p&gt;The doubt hasn't become a certainty. It has become a known size. You can put it down on the table and walk away from it.&lt;/p&gt;

&lt;p&gt;You close the laptop at six. Your evening is just an evening.&lt;/p&gt;

&lt;p&gt;Nothing in that picture requires you to be a security expert. It requires a calm, structured pass, done once, written down. After that, the quiet is real instead of borrowed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Back at the Door
&lt;/h2&gt;

&lt;p&gt;The rain thins to a drizzle. You pay, and you stop by the basket again. This time you pick the umbrella with the bent handle, the one nobody else wanted, and you tell the barista you'll bring it back tomorrow.&lt;/p&gt;

&lt;p&gt;On the walk home you make one decision, and it's a small one. You won't solve all of it today. You'll just stop carrying it without a list.&lt;/p&gt;

&lt;p&gt;If you recognise yourself in Jonas, there is a gentle next step. The &lt;strong&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/strong&gt; is a 58-item review kit: a PDF and an XLSX tracker, curl tests, an auth-route scanner script, and a client report template, for Node/Express and Python. It's built to give the worry edges, so you can see what you've checked and what is left. It comes with a 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;It does not replace a professional security audit, and it won't decide anything for you. It simply gives you a place to start and a way to show your work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;Have a look at the checklist kit here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The umbrella goes back in the basket tomorrow. The worry can go back in a list today.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
    <item>
      <title>Afraid to Ask Clients for Referrals? The Last Minute</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Fri, 06 Nov 2026 13:13:43 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/afraid-to-ask-clients-for-referrals-the-last-minute-425f</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/afraid-to-ask-clients-for-referrals-the-last-minute-425f</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/afraid-to-ask-clients-for-referrals-freelance?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The minute before the call ends
&lt;/h2&gt;

&lt;p&gt;It is 11:52 on a Thursday. The wrap-up call for the website project is almost over.&lt;/p&gt;

&lt;p&gt;Your client, Jonas, is smiling at the camera. He has just said the launch page is "exactly what we wanted." Behind him you can see a shelf of mugs and a half-dead plant. You can hear a colleague laughing somewhere in the office.&lt;/p&gt;

&lt;p&gt;This is the moment. You know it is.&lt;/p&gt;

&lt;p&gt;The thought arrives fully formed: &lt;em&gt;Ask him if he knows anyone else who needs this.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Your mouth is already saying something different.&lt;/p&gt;

&lt;p&gt;"Great. Well, thanks so much. Let me know if anything comes up."&lt;/p&gt;

&lt;p&gt;"Will do!" says Jonas. "Take care."&lt;/p&gt;

&lt;p&gt;The screen goes back to your own face and a grey rectangle. You close the laptop lid a little harder than you meant to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The sentence you rehearse in the shower
&lt;/h2&gt;

&lt;p&gt;You are not shy. You negotiate. You explain things to people for a living.&lt;/p&gt;

&lt;p&gt;But this one sentence sticks in your throat. &lt;em&gt;Do you know anyone else I could help?&lt;/em&gt; It sounds fine in your head. Out loud, it sounds like asking for a favour you haven't earned yet.&lt;/p&gt;

&lt;p&gt;So the doubts line up, the way they always do:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;He is busy. He has already paid. It will sound needy. What if he says no? What if he says yes and sends me someone awful? What if it makes him think I'm short of work?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That last one is the real one, isn't it?&lt;/p&gt;

&lt;p&gt;Because you are a little short of work. The calendar for next month has a gap you keep not looking at. And the thing that would help most is sitting right there in Jonas's contacts, waiting for a sentence you can't say.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the silence costs
&lt;/h2&gt;

&lt;p&gt;Nothing dramatic happens. That is why it is so easy to keep doing.&lt;/p&gt;

&lt;p&gt;You finish a good project. You send the final invoice. You get a warm thank-you. And then the door closes softly, and you go back to refreshing your inbox and hoping someone finds you.&lt;/p&gt;

&lt;p&gt;Meanwhile, the people who know your work best are the ones who never get asked. Not because they would mind. Most people like being asked for a recommendation, because it means you thought they had good taste. But you decided for them, in advance, that it would be a burden.&lt;/p&gt;

&lt;p&gt;So your work depends on strangers and luck. And the quiet worry hums under the week: &lt;em&gt;what if the next one doesn't come?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The supermarket queue
&lt;/h2&gt;

&lt;p&gt;On Saturday you are standing in the supermarket queue, holding oat milk and a lemon. The woman ahead of you is telling the cashier about her nephew, who just started as an electrician.&lt;/p&gt;

&lt;p&gt;"I told my whole street," she says. "He's brilliant. Of course I did."&lt;/p&gt;

&lt;p&gt;Of course she did.&lt;/p&gt;

&lt;p&gt;It lands strangely. She did not ask permission. She did not worry about sounding needy. People talk about the good things they have found. They only need a small, easy opening, and someone to make it feel normal.&lt;/p&gt;

&lt;p&gt;You realise the problem was never Jonas. It was the blank space at the end of the call, where you had no words ready, so you grabbed the safest ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Thursday
&lt;/h2&gt;

&lt;p&gt;Picture the same call, a few weeks from now.&lt;/p&gt;

&lt;p&gt;The project is wrapping up. Jonas says it looks great. You feel the old flutter, but this time you are not improvising. You have already decided how it goes: a warm, short ask, in your own voice, sent that afternoon in a follow-up email where he has time to think and nobody is watching his face.&lt;/p&gt;

&lt;p&gt;Three sentences. A thank-you, a clear picture of who you work best with, and an easy way out if he can't think of anyone.&lt;/p&gt;

&lt;p&gt;No pressure. No speech. You press send and close the laptop at six, and nothing feels like begging.&lt;/p&gt;

&lt;p&gt;Some of those emails get a reply. Some get a friendly "nobody comes to mind right now." Both are fine. The ask has stopped being a cliff and become a small habit, like saying thank you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Words on the page first
&lt;/h2&gt;

&lt;p&gt;Most of what makes us avoid these emails is the blank draft. The cursor blinks, we imagine every way it could go wrong, and we close the tab.&lt;/p&gt;

&lt;p&gt;Having something already written changes that. It is much easier to adjust a draft than to invent one while your stomach tightens. You change a name, soften a line, make it sound like you, and it is done in two minutes instead of two weeks.&lt;/p&gt;

&lt;p&gt;That is the idea behind the &lt;a href="https://blixwerkstudio.com/p/freelancer-client-email-prompt-pack" rel="noopener noreferrer"&gt;Freelancer Client Email Prompt Pack&lt;/a&gt;: 60 copy-paste AI prompts for the emails freelancers tend to put off. Invoice reminders, price rises, scope creep, polite no's and more. Each has placeholders you fill in, tone variants (warmer, firmer, shorter) and examples, as a PDF and in Markdown. You paste one into an AI tool, add your details, and edit the result until it sounds like you.&lt;/p&gt;

&lt;p&gt;It does not write your business for you, and the decisions stay yours. It simply means you are not starting from a blank page at the exact moment you least want to.&lt;/p&gt;

&lt;p&gt;There is a 30-day money-back promise: if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before the next call ends
&lt;/h2&gt;

&lt;p&gt;You don't have to become a different person. You just have to stop meeting that last minute empty-handed.&lt;/p&gt;

&lt;p&gt;The next time the call is winding down and someone says "this was great," you can smile, say thank you, and know that the real ask is already waiting in a draft, calm and kind.&lt;/p&gt;

&lt;p&gt;The good work you do deserves to travel. Most of the time it only needs someone to say, gently, "If you know anyone who'd like this, I'd love to help."&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/freelancer-client-email-prompt-pack?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>freelance</category>
      <category>aiprompts</category>
      <category>clientemails</category>
      <category>invoicereminders</category>
    </item>
    <item>
      <title>Can Users See Each Other's Records? IDOR and Locker 14</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Thu, 05 Nov 2026 13:59:11 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/can-users-see-each-others-records-idor-and-locker-14-5d0g</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/can-users-see-each-others-records-idor-and-locker-14-5d0g</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-lets-users-see-other-users-records-idor?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It's 8:15 on a Saturday, and you are standing in a hostel corridor holding a small metal key with a plastic fob. The fob says 14.&lt;/p&gt;

&lt;p&gt;You are on a weekend away. The first one in months. You put your jacket in the locker, turn the key, and walk off toward breakfast.&lt;/p&gt;

&lt;p&gt;Then, halfway down the stairs, a thought lands from nowhere.&lt;/p&gt;

&lt;p&gt;What if the lockers only check that you have &lt;em&gt;a&lt;/em&gt; key?&lt;/p&gt;

&lt;p&gt;Not &lt;em&gt;your&lt;/em&gt; key. Just a key. Any key, any locker.&lt;/p&gt;

&lt;p&gt;You stop on the step. A man with a rucksack squeezes past you. And you realise you are no longer thinking about the hostel at all.&lt;/p&gt;

&lt;p&gt;You are thinking about &lt;code&gt;/orders/1043&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The URL you built in March
&lt;/h2&gt;

&lt;p&gt;A small shop owner asked you for an order portal. Customers log in, they see their orders. You built it carefully. Login works. Tokens work. You checked the login three times.&lt;/p&gt;

&lt;p&gt;But did you ever check what happens when a logged-in customer asks for order 1044 instead of 1043?&lt;/p&gt;

&lt;p&gt;You can see the code in your head. A request arrives, the token is valid, the order is fetched by number, the order is returned. Nothing in that picture asks &lt;em&gt;whose&lt;/em&gt; order it is.&lt;/p&gt;

&lt;p&gt;Maybe it does. Maybe you wrote that line and forgot. Maybe you wrote it on three routes and not the fourth.&lt;/p&gt;

&lt;p&gt;You honestly don't know. That's the part that sits in your stomach next to the croissant you haven't eaten yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  The doubt nobody sees
&lt;/h2&gt;

&lt;p&gt;Nobody has complained. No customer has written "I can see someone else's address." The shop owner thinks you are the person who handles that sort of thing. She sent you a thank-you emoji last month.&lt;/p&gt;

&lt;p&gt;That emoji is now heavy.&lt;/p&gt;

&lt;p&gt;You sit at the breakfast table with your phone and open the laptop in your head instead. You play the bad version: a stranger changes one number, sees a name and a street, tells the owner. The owner calls you. Your voice goes careful and quiet on the phone.&lt;/p&gt;

&lt;p&gt;And you notice what the doubt is really costing. Not money, not yet. It's the weekend. You are in a pleasant place with a nice coffee and you are somewhere else.&lt;/p&gt;

&lt;p&gt;You also notice you can't answer the question by worrying harder. You have been trying since the stairs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The phone call you'd rather not make
&lt;/h2&gt;

&lt;p&gt;So you think about what a professional does here.&lt;/p&gt;

&lt;p&gt;Not a genius. Not someone who has memorised every way an API can go wrong. Just someone who, before handing a system to a client, sits down once with a list and asks the plain questions. Who is asking? What are they asking for? Does it belong to them?&lt;/p&gt;

&lt;p&gt;You realise you have never had that list. You have had good habits and a vague feeling of having been careful. In the middle of a Saturday, a vague feeling is not very comforting.&lt;/p&gt;

&lt;p&gt;It doesn't have to be like this.&lt;/p&gt;

&lt;p&gt;The doubt isn't a sign you are bad at your job. It's a sign you care whether the person behind order 1044 stays private. That deserves something firmer than a feeling.&lt;/p&gt;

&lt;h2&gt;
  
  
  A different Monday
&lt;/h2&gt;

&lt;p&gt;Picture the Monday after.&lt;/p&gt;

&lt;p&gt;You open the project with a coffee. There's a short list next to it, one you didn't have to invent. You go through it the way you'd check your bag before leaving the house. Some things are already fine. One or two are not, and you find them on a quiet Monday morning rather than in an angry email.&lt;/p&gt;

&lt;p&gt;You fix them. You tick them off. The question that followed you down the hostel stairs gets an actual answer.&lt;/p&gt;

&lt;p&gt;Then, when the shop owner asks, "Is it all safe?", you don't say "I think so." You can say what you checked and what you found. Your voice stays level. That's a very different phone call.&lt;/p&gt;

&lt;p&gt;And the next Saturday belongs to you again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Back at the lockers
&lt;/h2&gt;

&lt;p&gt;You finish breakfast. You walk back up the stairs and try your key on locker 14. It opens, of course. You check the lock on 15 out of pure curiosity. Your key does nothing there.&lt;/p&gt;

&lt;p&gt;Someone made sure of that, long before you arrived. A small boring detail in a small metal door, and it's the reason nobody worries about their jacket.&lt;/p&gt;

&lt;p&gt;That's all you want for your API: a boring detail, built in on purpose, that you can stop thinking about.&lt;/p&gt;

&lt;h2&gt;
  
  
  If that's you
&lt;/h2&gt;

&lt;p&gt;If you recognised the stairs, the URL, the emoji that feels heavy, there is a calm way to put this down. The &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/a&gt; is a 58-item review kit for Node/Express and Python: a PDF, an XLSX tracker, curl tests, an auth-route scanner script and a client report template. It's made to turn "I hope it's fine" into "I looked." It comes with a 30-day money-back promise, so if it doesn't help, you get a full refund, no questions.&lt;/p&gt;

&lt;p&gt;It won't replace a professional security audit for a system that needs one. It's a clear, organised first pass that is yours to run.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
    <item>
      <title>API Authentication Secure Enough? The Soundcheck</title>
      <dc:creator>Blixwerk</dc:creator>
      <pubDate>Thu, 05 Nov 2026 13:28:52 +0000</pubDate>
      <link>https://dev.to/blixwerk_7cdf1919283d2fab/api-authentication-secure-enough-the-soundcheck-1fi3</link>
      <guid>https://dev.to/blixwerk_7cdf1919283d2fab/api-authentication-secure-enough-the-soundcheck-1fi3</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was written with AI assistance by the Blixwerk system. Originally published at &lt;a href="https://blixwerkstudio.com/guides/api-authentication-secure-enough-before-launch?s=devto" rel="noopener noreferrer"&gt;blixwerkstudio.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It's Wednesday, 4:40 in the afternoon, and you are sitting on a stackable chair at the back of a village hall.&lt;/p&gt;

&lt;p&gt;Your sister's band is setting up on the little stage. Cables everywhere. Someone is tapping a microphone and saying "check, check" in the flat voice everyone uses for it. You promised to help carry the amps. Now you have a laptop balanced on your knees and a cup of tea going cold on the floor.&lt;/p&gt;

&lt;p&gt;On the screen: your login route, your token middleware, and a launch that's on Friday.&lt;/p&gt;

&lt;p&gt;The app is small. A booking tool for physiotherapists, built over eight months, mostly alone. It works. You've clicked through it a hundred times. But one sentence keeps looping in your head: &lt;em&gt;Is my authentication actually secure enough, or does it only look secure to the person who wrote it?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The worry you don't say out loud
&lt;/h2&gt;

&lt;p&gt;Nobody asked you that question. Not yet. The first customers are friendly. Nobody has mentioned a pen test or a security questionnaire.&lt;/p&gt;

&lt;p&gt;But you know how it goes. You read a thread last week about someone whose tokens never expired. Another about an endpoint that trusted the wrong ID. Each time you thought, &lt;em&gt;mine is probably fine&lt;/em&gt;, and each time the "probably" sat a little heavier.&lt;/p&gt;

&lt;p&gt;You've tried the usual things. You skimmed a long article at lunch and nodded along. You added a check you half remembered. You told yourself the framework handles it. Then you closed the tab, because you couldn't tell whether you'd covered the important parts or only the parts you happened to think of.&lt;/p&gt;

&lt;p&gt;That's the quiet cost. Not a disaster, just a low hum under everything. You answer a customer email and part of you is still on the middleware. You lie in bed and mentally re-read a route you wrote in March.&lt;/p&gt;

&lt;p&gt;You'd like to feel like someone who ships things properly. Right now you feel like someone hoping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check, check, one, two
&lt;/h2&gt;

&lt;p&gt;On stage, the sound engineer, a patient woman in a faded festival T-shirt, is working through the band one by one. Kick drum. Snare. Bass. Each channel gets its own moment. Strum, hold, adjust, next.&lt;/p&gt;

&lt;p&gt;Your sister's guitarist plays a quick loud riff, clearly itching to just start the song.&lt;/p&gt;

&lt;p&gt;"Not yet," the engineer says, smiling. "The loud ones always sound fine. It's the quiet one nobody tested that crackles in the middle of the second verse."&lt;/p&gt;

&lt;p&gt;You stop scrolling.&lt;/p&gt;

&lt;p&gt;Because that's exactly it, isn't it? You've been testing the loud parts. The login that obviously has to work. The route you were nervous about. You've been checking by feeling, by whatever came to mind, and whatever came to mind was the guitar.&lt;/p&gt;

&lt;p&gt;Nobody had given you the list of channels.&lt;/p&gt;

&lt;p&gt;The engineer doesn't trust her ears on a good day. She works through a fixed order, every time, so the show doesn't depend on whether she remembers everything. And she isn't anxious. She's calm. Calm because the order exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same Wednesday, a different feeling
&lt;/h2&gt;

&lt;p&gt;Imagine the same hall, the same cold tea, the same Friday. Only this time you have the list.&lt;/p&gt;

&lt;p&gt;Not a vague feeling that you ought to be thorough. An actual sequence, written by someone who has walked through this before, with each item waiting for a plain yes or no. Some you tick in a minute. Some surprise you, and you fix them while the band runs through their first song. Some you decide to live with for now, and you write that down, deliberately, with a date.&lt;/p&gt;

&lt;p&gt;By the time the doors open, you've gone through all of it. Not perfectly. You're not claiming the app can't be broken. Nobody can honestly promise that. But you know what you checked, what you didn't, and why. The "probably" is gone, replaced by a record.&lt;/p&gt;

&lt;p&gt;Friday morning feels different too. You make coffee. You open the laptop, press the button, and watch the first sign-up arrive. Your shoulders stay where they are, down.&lt;/p&gt;

&lt;p&gt;And if a customer later emails, "Can you tell us how you protect access?", you don't feel your stomach drop. You have something real to show. Something that says you run this like a professional, because you do.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually changes
&lt;/h2&gt;

&lt;p&gt;It isn't that you become a security expert in two days. It's that the job stops living in your head. A checked list turns a vague dread into a finite afternoon.&lt;/p&gt;

&lt;p&gt;The band is playing now, properly. Every channel sits where it should, and the quiet bass is audible under the drums for the first time all evening. Your sister catches your eye from the stage and grins.&lt;/p&gt;

&lt;p&gt;You close the laptop halfway and just listen.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you recognise yourself in the back row
&lt;/h2&gt;

&lt;p&gt;If your launch is close and you can't tell whether your authentication is secure enough, you don't need more reading. You need an order to work through.&lt;/p&gt;

&lt;p&gt;That's what we made the &lt;strong&gt;Launch Without the 2 a.m. Doubt – REST API Security Checklist Kit&lt;/strong&gt;: a 58-item review as PDF, plus an XLSX tracker, curl tests, an auth-route scanner script and a client report template, for Node/Express and Python. It's a way to see what you've covered. It doesn't replace a professional security review when your situation calls for one.&lt;/p&gt;

&lt;p&gt;If it doesn't help, there's a 30-day money-back promise: full refund, no questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit" rel="noopener noreferrer"&gt;Have a look at the kit here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustrative story, written with AI assistance.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sounds familiar? &lt;a href="https://blixwerkstudio.com/p/api-security-review-checklist-kit?s=devto" rel="noopener noreferrer"&gt;Take a look at what helps&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>apisecurity</category>
      <category>checklist</category>
      <category>codereview</category>
      <category>express</category>
    </item>
  </channel>
</rss>
