<?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: Format stack</title>
    <description>The latest articles on DEV Community by Format stack (@formatstack_2688dca3303f2).</description>
    <link>https://dev.to/formatstack_2688dca3303f2</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%2F4084233%2F808fa90f-c0c2-4ff1-9c31-c34e0e57b6d3.png</url>
      <title>DEV Community: Format stack</title>
      <link>https://dev.to/formatstack_2688dca3303f2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/formatstack_2688dca3303f2"/>
    <language>en</language>
    <item>
      <title>Don't trust my "client-side only" claim. Open DevTools and check.</title>
      <dc:creator>Format stack</dc:creator>
      <pubDate>Mon, 31 Aug 2026 04:39:00 +0000</pubDate>
      <link>https://dev.to/formatstack_2688dca3303f2/dont-trust-my-client-side-only-claim-open-devtools-and-check-51fe</link>
      <guid>https://dev.to/formatstack_2688dca3303f2/dont-trust-my-client-side-only-claim-open-devtools-and-check-51fe</guid>
      <description>&lt;p&gt;Carhartt just had 12.9 million customer accounts show up on Have I Been Pwned. Names, emails, phone numbers, physical addresses — all pulled by an extortion group that says it grabbed the data back in August. Manchester Airports Group had a similar week: Wi-Fi signup data across three UK airports, gone.&lt;/p&gt;

&lt;p&gt;Neither of those companies got breached because a user pasted something into a sketchy tool. They got breached because they stored data server-side, and storage is a standing liability — it sits there waiting to be exfiltrated. But those headlines are exactly why "we don't store your data" claims from random web tools are worth being skeptical of, not trusting. Every JSON formatter, regex tester, and Base64 decoder on the internet says some version of "your data never leaves your browser." Most of them are telling the truth. Some aren't. You have no way to know which, unless you check.&lt;/p&gt;

&lt;p&gt;So here's the actual check, using &lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;FormatStack&lt;/a&gt; as the example, since it's the one I can show you the source for.&lt;/p&gt;

&lt;p&gt;The claim&lt;/p&gt;

&lt;p&gt;&lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;FormatStack's&lt;/a&gt; tools — &lt;a href="https://formatstack.tech/tools/json-formatter/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;JSON formatter&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/regex-tester/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;regex tester&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/uuid-generator/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;UUID generator&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/base64-encoder/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;Base64 encoder/decoder&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/cron-parser/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;cron parser&lt;/a&gt; — run entirely in-browser. No framework, no build step shipping your input to a server, no API call carrying your pasted content anywhere.&lt;/p&gt;

&lt;p&gt;The proof, not the promise&lt;/p&gt;

&lt;p&gt;Anyone can write "processed locally" in a footer. Here's how to verify it takes about 30 seconds and works on any tool claiming client-side processing, not just this one:&lt;/p&gt;

&lt;p&gt;Open the tool in your browser.&lt;br&gt;
Open DevTools (F12 or Cmd+Option+I), go to the Network tab.&lt;br&gt;
Clear the log, then paste in something identifiable — a fake API key, a made-up email, whatever you'll recognize.&lt;br&gt;
Run the formatter/parser/whatever the tool does.&lt;br&gt;
Watch the Network tab. If your pasted content is client-side only, you'll see zero new requests carrying that payload. Analytics pings may fire (page views, button clicks) — that's expected and disclosed — but none of them will contain your input.&lt;/p&gt;

&lt;p&gt;If instead you see a POST request firing off to some API right after you paste, with your input sitting in the request body — that tool is not doing what its marketing copy says, regardless of what the footer claims.&lt;/p&gt;

&lt;p&gt;Why I'm not hiding the parts that do send data&lt;/p&gt;

&lt;p&gt;&lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;FormatStack&lt;/a&gt; runs Google Analytics and AdSense. Both of those make outbound requests. I'm not going to pretend otherwise — that would be the same category of lie as a tool that silently uploads your JSON. The distinction that actually matters, and the only one I'm claiming, is narrow: analytics tracks that you used the tool; nothing tracks what you put into it. Open the Network tab and you'll see the difference — GA calls carry event names and page paths, never your pasted payload.&lt;/p&gt;

&lt;p&gt;That's a smaller claim than "we don't track anything," and it's also the only one that survives someone actually checking.&lt;/p&gt;

&lt;p&gt;The takeaway&lt;/p&gt;

&lt;p&gt;Breach news cycles every few weeks because storage is a liability regardless of intent — good security practices reduce risk, they don't eliminate the fact that stored data can eventually leak. The tools that can't leak your pasted content are the ones that never had it to lose. But don't take my word for that either. Open the tab. &lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;Check.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>security</category>
      <category>privacy</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Every dev tool you paste your data into is a potential breach you didn't sign up for</title>
      <dc:creator>Format stack</dc:creator>
      <pubDate>Tue, 25 Aug 2026 06:06:07 +0000</pubDate>
      <link>https://dev.to/formatstack_2688dca3303f2/every-dev-tool-you-paste-your-data-into-is-a-potential-breach-you-didnt-sign-up-for-1mbn</link>
      <guid>https://dev.to/formatstack_2688dca3303f2/every-dev-tool-you-paste-your-data-into-is-a-potential-breach-you-didnt-sign-up-for-1mbn</guid>
      <description>&lt;p&gt;This week another headline dropped: a threat actor is reportedly selling around &lt;strong&gt;3.6 million employee records lifted from Microsoft Azure environments across multiple Fortune 500 companies.&lt;/strong&gt; It's not an isolated story — breach-tracking groups are on pace to blow past last year's record for reported data compromises, and a big chunk of that volume is coming from third-party exposure: not the company you trust, but some tool or vendor sitting quietly in the middle of your workflow.&lt;/p&gt;

&lt;p&gt;That third-party category is worth sitting with if you're a developer, because it includes a tool most of us use constantly and think about the least: the random online JSON formatter, regex tester, or Base64 decoder we paste real data into to debug something at 11pm.&lt;/p&gt;

&lt;p&gt;Think about what actually goes through those tools. API keys. Auth tokens. Chunks of production payloads. Customer data you're trying to reformat for a bug report. Most of us don't stop to check whether the site we just pasted that into is logging it, storing it, or shipping it to a third-party server for "analytics." It's just a formatter. It feels disposable. It isn't.&lt;/p&gt;

&lt;p&gt;That's the exact problem I built &lt;a href="https://formatstack.tech/" rel="noopener noreferrer"&gt;FormatStack&lt;/a&gt; to not have.&lt;/p&gt;

&lt;p&gt;No server round-trip for your data, full stop. The &lt;a href="https://formatstack.tech/tools/json-formatter/" rel="noopener noreferrer"&gt;JSON formatter&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/regex-tester/" rel="noopener noreferrer"&gt;regex tester&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/uuid-generator/" rel="noopener noreferrer"&gt;UUID generator&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/base64-encoder/" rel="noopener noreferrer"&gt;Base64 encoder/decoder&lt;/a&gt;, and &lt;a href="https://formatstack.tech/tools/cron-parser/" rel="noopener noreferrer"&gt;cron parser&lt;/a&gt; all run entirely in your browser — plain JS, no framework, no backend call carrying your pasted content anywhere. What you paste never leaves your machine. Not "we don't log it" (a policy, which you have to trust) — it architecturally can't leave, because there's no endpoint for it to go to.&lt;/p&gt;

&lt;p&gt;Given how much this year's breach numbers are increasingly driven by data sitting somewhere it didn't need to, "the data just never leaves your browser" isn't a nice-to-have. For a debugging tool, it's the only architecture that actually makes sense.&lt;/p&gt;

&lt;p&gt;If you want to see it or check the claim yourself: &lt;a href="https://formatstack.tech/" rel="noopener noreferrer"&gt;formatstack.tech&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>security</category>
      <category>privacy</category>
      <category>showdev</category>
    </item>
    <item>
      <title>We Can't See What You Paste — And That Was a Design Constraint, Not a Slogan</title>
      <dc:creator>Format stack</dc:creator>
      <pubDate>Thu, 20 Aug 2026 05:01:53 +0000</pubDate>
      <link>https://dev.to/formatstack_2688dca3303f2/we-cant-see-what-you-paste-and-that-was-a-design-constraint-not-a-slogan-i8j</link>
      <guid>https://dev.to/formatstack_2688dca3303f2/we-cant-see-what-you-paste-and-that-was-a-design-constraint-not-a-slogan-i8j</guid>
      <description>&lt;p&gt;We can't see what you paste. No logging. No uploading. Just your browser.&lt;/p&gt;

&lt;p&gt;That's not marketing copy I wrote after the fact — it's a description of how &lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;FormatStack&lt;/a&gt; is actually built. Every tool (&lt;a href="https://formatstack.tech/tools/json-formatter/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;JSON formatter&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/regex-tester/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;regex tester&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/uuid-generator/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;UUID generator&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/base64-encoder/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;Base64 encoder&lt;/a&gt;, &lt;a href="https://formatstack.tech/tools/cron-parser/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;cron parser&lt;/a&gt;) runs entirely client-side. When you paste something in, it never leaves the tab. There's no fetch(), no API route, no server that ever sees the payload — because there isn't a server in that request path at all.&lt;/p&gt;

&lt;p&gt;I want to be precise about what that claim covers, because vague privacy claims are exactly what a dev audience should be skeptical of.&lt;/p&gt;

&lt;p&gt;What "we can't see what you paste" actually means: The processing — parsing, formatting, encoding, whatever the tool does — happens in your browser's JS engine. Your input never becomes a network payload. That's an architectural fact, not a policy I could quietly change. There's no backend endpoint to add logging to even if I wanted to.&lt;/p&gt;

&lt;p&gt;FormatStack is live at &lt;a href="https://formatstack.tech/?utm_source=devto&amp;amp;utm_medium=social&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;formatstack.tech&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>privacy</category>
      <category>javascript</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Why I Built 5 Developer Tools That Never Talk to a Server</title>
      <dc:creator>Format stack</dc:creator>
      <pubDate>Wed, 19 Aug 2026 04:47:29 +0000</pubDate>
      <link>https://dev.to/formatstack_2688dca3303f2/why-i-built-5-developer-tools-that-never-talk-to-a-server-2ihk</link>
      <guid>https://dev.to/formatstack_2688dca3303f2/why-i-built-5-developer-tools-that-never-talk-to-a-server-2ihk</guid>
      <description>&lt;p&gt;Every JSON formatter, regex tester, and Base64 tool I could find online works the same way: you paste your data in, it gets sent to a server, and you get a result back. For a throwaway public snippet, that's fine. For an API response with real customer data, an internal config file, or a token you're debugging at 2am — you've just handed that to a server you know nothing about.&lt;/p&gt;

&lt;p&gt;That bugged me enough to spend time building the alternative: &lt;strong&gt;FormatStack&lt;/strong&gt;, five utility tools that run entirely in your browser tab. Nothing you paste in is ever transmitted anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's in it&lt;/strong&gt;&lt;br&gt;
&lt;u&gt;&lt;a href="https://formatstack.tech/tools/json-formatter/" rel="noopener noreferrer"&gt;JSON Formatter&lt;/a&gt;&lt;/u&gt; — pretty-print, minify, validate with real parse errors&lt;br&gt;
&lt;u&gt;&lt;a href="https://formatstack.tech/tools/regex-tester/" rel="noopener noreferrer"&gt;Regex Tester&lt;/a&gt;&lt;/u&gt; — live match highlighting, capture groups, common presets (email, URL, phone, IP)&lt;br&gt;
&lt;u&gt;&lt;a href="https://formatstack.tech/tools/uuid-generator/" rel="noopener noreferrer"&gt;UUID v4 Generator&lt;/a&gt;&lt;/u&gt; — single or batch, via crypto.randomUUID()&lt;br&gt;
&lt;u&gt;&lt;a href="https://formatstack.tech/tools/base64-encoder/" rel="noopener noreferrer"&gt;Base64 Encoder/Decoder&lt;/a&gt;&lt;/u&gt; — proper UTF-8 handling (plain btoa() breaks on emoji and accented text — more on that below)&lt;br&gt;
&lt;u&gt;&lt;a href="https://formatstack.tech/tools/cron-parser/" rel="noopener noreferrer"&gt;Cron Parser&lt;/a&gt;&lt;/u&gt; — plain-English translation plus next 5 run times, computed locally.&lt;/p&gt;

&lt;p&gt;FormatStack is live at &lt;a href="https://formatstack.tech/" rel="noopener noreferrer"&gt;formatstack.tech&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
