<?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: Volodymyr Kuiantsev</title>
    <description>The latest articles on DEV Community by Volodymyr Kuiantsev (@vladimir_kuiantsev_fe6ba4).</description>
    <link>https://dev.to/vladimir_kuiantsev_fe6ba4</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3220709%2F240e6365-01db-4499-a0bd-f863d84c8ffc.jpeg</url>
      <title>DEV Community: Volodymyr Kuiantsev</title>
      <link>https://dev.to/vladimir_kuiantsev_fe6ba4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vladimir_kuiantsev_fe6ba4"/>
    <language>en</language>
    <item>
      <title>Mobile App Security Goes Native</title>
      <dc:creator>Volodymyr Kuiantsev</dc:creator>
      <pubDate>Sat, 14 Jun 2025 08:39:37 +0000</pubDate>
      <link>https://dev.to/vladimir_kuiantsev_fe6ba4/mobile-app-security-goes-native-5aa5</link>
      <guid>https://dev.to/vladimir_kuiantsev_fe6ba4/mobile-app-security-goes-native-5aa5</guid>
      <description>&lt;p&gt;API keys used to be the go-to solution for securing mobile apps. But in 2025, that’s no longer good enough.&lt;/p&gt;

&lt;p&gt;Reverse engineering, emulators, and bot traffic are making mobile backends more vulnerable than ever. Hardcoded API keys can’t tell you who’s making a request—or whether the app has been tampered with. That’s where native mobile security steps in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: API Keys Can’t Keep Up
&lt;/h2&gt;

&lt;p&gt;Every time you ship an API key inside your app, you risk it being extracted, shared, or automated. Bots can simulate app behavior, spam your backend, and exploit free-tier resources.&lt;/p&gt;

&lt;p&gt;You can rotate keys. You can obfuscate code. But you can’t secure what you can’t verify. And API keys alone give you zero context.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Better Path: Attestation as the First Gate
&lt;/h2&gt;

&lt;p&gt;Android and iOS now support cryptographic attestation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Play Integrity API (Android)&lt;/strong&gt; checks device and app integrity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App Attestation (iOS)&lt;/strong&gt; uses a Secure Enclave key tied to your app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools help you prove each request comes from the genuine app on a real device—closing the door on emulators, clones, and jailbroken systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Smarter Token Issuance
&lt;/h2&gt;

&lt;p&gt;Instead of relying on hardcoded secrets, more teams are issuing short-lived tokens (e.g., JWTs) only after attestation passes. This gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trust at runtime—not just at build time&lt;/li&gt;
&lt;li&gt;The ability to flag low-integrity devices&lt;/li&gt;
&lt;li&gt;Protection against token reuse and API scraping&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why It Matters Now
&lt;/h2&gt;

&lt;p&gt;As more apps adopt freemium models or expose APIs to third parties, the surface area for abuse grows. Native security features aren’t “nice to have” anymore—they’re critical infrastructure.&lt;/p&gt;

&lt;p&gt;In 2025, &lt;strong&gt;secure API access in mobile apps&lt;/strong&gt; means embracing the verification tools built into the OS. It’s the only scalable way to &lt;strong&gt;implement your mobile-to-api security&lt;/strong&gt; strategy with confidence.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; If you’re looking for a backend that handles attestation and token issuance out of the box, check out &lt;a href="https://calljmp.com" rel="noopener noreferrer"&gt;Calljmp&lt;/a&gt;—it’s built for mobile-first apps.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>mobile</category>
      <category>reactnative</category>
      <category>flutter</category>
      <category>backend</category>
    </item>
    <item>
      <title>Automatic migration for SQLite schemas</title>
      <dc:creator>Volodymyr Kuiantsev</dc:creator>
      <pubDate>Thu, 12 Jun 2025 08:18:16 +0000</pubDate>
      <link>https://dev.to/vladimir_kuiantsev_fe6ba4/automatic-migration-for-sqlite-schemas-36fl</link>
      <guid>https://dev.to/vladimir_kuiantsev_fe6ba4/automatic-migration-for-sqlite-schemas-36fl</guid>
      <description>&lt;p&gt;We have built automatic migration for SQLite schemas.&lt;/p&gt;

&lt;p&gt;You can define schema files of what you want your SQLite database to look like and the CLI will generate required migration files for you.&lt;/p&gt;

&lt;p&gt;It’s for BaaS but can be used for free no strings attached locally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Calljmp/calljmp-cli" rel="noopener noreferrer"&gt;https://github.com/Calljmp/calljmp-cli&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sqlite</category>
      <category>database</category>
      <category>cli</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
