<?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: Ihor Klymchuk</title>
    <description>The latest articles on DEV Community by Ihor Klymchuk (@ihorklymchuk).</description>
    <link>https://dev.to/ihorklymchuk</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%2F3796097%2Fb6dd507b-da53-421f-8e35-f54007db1059.jpg</url>
      <title>DEV Community: Ihor Klymchuk</title>
      <link>https://dev.to/ihorklymchuk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ihorklymchuk"/>
    <language>en</language>
    <item>
      <title>High-Level Security Framework for Development Companies</title>
      <dc:creator>Ihor Klymchuk</dc:creator>
      <pubDate>Tue, 10 Mar 2026 11:21:15 +0000</pubDate>
      <link>https://dev.to/ihorklymchuk/high-level-security-framework-for-development-companies-23e2</link>
      <guid>https://dev.to/ihorklymchuk/high-level-security-framework-for-development-companies-23e2</guid>
      <description>&lt;p&gt;A company can build its reputation over many years and lose it in a single security incident.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ebymn2iu18l9oy6pzim.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ebymn2iu18l9oy6pzim.png" alt="Secure" width="800" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Security is one of the most important and difficult processes to implement in a company. It rarely generates direct revenue, but ignoring it can lead to severe financial, legal, and reputational damage.&lt;/p&gt;

&lt;p&gt;Security cannot be implemented once and forgotten. It must be integrated into daily development processes and continuously improved.&lt;/p&gt;

&lt;p&gt;Below is a high-level framework companies can use to establish security practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. People and Security Culture
&lt;/h3&gt;

&lt;p&gt;Security always starts with people.&lt;/p&gt;

&lt;p&gt;You can implement the best tools and processes, but if the team does not understand security principles, incidents will still happen.&lt;/p&gt;

&lt;p&gt;Developers have access to internal services, infrastructure, and source code. Many security incidents occur because employees are unaware of basic security rules.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the &lt;strong&gt;Twitter admin tool breach (2020)&lt;/strong&gt; caused by phone phishing (&lt;a href="https://en.wikipedia.org/wiki/2020_Twitter_account_hijacking" rel="noopener noreferrer"&gt;source&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source code leaks due to &lt;strong&gt;credentials committed to GitHub&lt;/strong&gt;  (&lt;a href="https://www.bleepingcomputer.com/news/security/toyota-discloses-data-leak-after-access-key-exposed-on-github/" rel="noopener noreferrer"&gt;source&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even experienced developers sometimes lack basic security knowledge.&lt;/p&gt;

&lt;h4&gt;
  
  
  Security education
&lt;/h4&gt;

&lt;p&gt;Developers should understand common vulnerabilities and secure coding practices.&lt;/p&gt;

&lt;p&gt;Essential resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OWASP Top 10 (&lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;https://owasp.org/www-project-top-ten/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;PortSwigger Web Security Academy (&lt;a href="https://portswigger.net/web-security" rel="noopener noreferrer"&gt;https://portswigger.net/web-security&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Practical labs such as OWASP Juice Shop or WebGoat (&lt;a href="https://owasp.org/www-project-juice-shop/" rel="noopener noreferrer"&gt;https://owasp.org/www-project-juice-shop/&lt;/a&gt; or &lt;a href="https://owasp.org/www-project-webgoat/" rel="noopener noreferrer"&gt;https://owasp.org/www-project-webgoat/&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These resources help developers understand real-world attacks.&lt;/p&gt;

&lt;h4&gt;
  
  
  Certifications
&lt;/h4&gt;

&lt;p&gt;Certifications are not always required but they help build security awareness.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cloud certifications (AWS / GCP / Azure)&lt;/li&gt;
&lt;li&gt;framework certifications&lt;/li&gt;
&lt;li&gt;security-focused certifications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These programs usually include security fundamentals.&lt;/p&gt;

&lt;h4&gt;
  
  
  Internal security workshops
&lt;/h4&gt;

&lt;p&gt;Companies should run internal sessions covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;common vulnerabilities&lt;/li&gt;
&lt;li&gt;secure coding practices&lt;/li&gt;
&lt;li&gt;company-specific security rules&lt;/li&gt;
&lt;li&gt;lessons learned from past incidents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some companies also establish &lt;strong&gt;Security Champions&lt;/strong&gt;  — developers responsible for security awareness inside each team.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Secure Development Practices
&lt;/h3&gt;

&lt;p&gt;Security must be integrated directly into the development process.&lt;/p&gt;

&lt;h4&gt;
  
  
  Secure coding standards
&lt;/h4&gt;

&lt;p&gt;Teams should follow recognized security standards such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OWASP Top 10&lt;/li&gt;
&lt;li&gt;OWASP Secure Coding Practices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code reviews should include security considerations, not just functionality.&lt;/p&gt;

&lt;h4&gt;
  
  
  Threat modeling
&lt;/h4&gt;

&lt;p&gt;Before implementing major features, teams should evaluate potential risks.&lt;/p&gt;

&lt;p&gt;Questions to ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What data are we protecting?&lt;/li&gt;
&lt;li&gt;Who might attack the system?&lt;/li&gt;
&lt;li&gt;What could go wrong?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Threat modeling frameworks like &lt;strong&gt;STRIDE&lt;/strong&gt; help identify risks early in the design phase.&lt;/p&gt;

&lt;h4&gt;
  
  
  Dependency security
&lt;/h4&gt;

&lt;p&gt;Modern applications rely heavily on open-source libraries.&lt;/p&gt;

&lt;p&gt;New vulnerabilities are discovered constantly, so automated monitoring is essential.&lt;/p&gt;

&lt;p&gt;Tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dependabot by GitHub&lt;/li&gt;
&lt;li&gt;OWASP Dependency Check&lt;/li&gt;
&lt;li&gt;Snyk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools automatically detect vulnerable dependencies.&lt;/p&gt;

&lt;h4&gt;
  
  
  Static code analysis
&lt;/h4&gt;

&lt;p&gt;Static analysis tools help identify vulnerabilities during development.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SonarQube — open-source and enterprise versions are available. Supports many languages&lt;/li&gt;
&lt;li&gt;Snyk&lt;/li&gt;
&lt;li&gt;Checkmarx&lt;/li&gt;
&lt;li&gt;Semgrep — free and paid versions available&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools can be integrated into CI pipelines.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Secure Development Environments
&lt;/h3&gt;

&lt;p&gt;Development environments must prevent data leaks and unauthorized access.&lt;/p&gt;

&lt;h4&gt;
  
  
  Masking production data
&lt;/h4&gt;

&lt;p&gt;Developers should not have direct access to production data unless necessary.&lt;/p&gt;

&lt;p&gt;Instead, companies should generate &lt;strong&gt;sanitized database copies&lt;/strong&gt; where sensitive information is masked.&lt;/p&gt;

&lt;p&gt;Examples of masking tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VeilDB (veildb.com) — anonymization and data masking tool with the ability to securely share across the team&lt;/li&gt;
&lt;li&gt;Greenmask — open-source data anonymization for Postgres&lt;/li&gt;
&lt;li&gt;Tonic.ai — data faker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows developers to work with realistic datasets without exposing customer data.&lt;/p&gt;

&lt;h4&gt;
  
  
  Disk encryption
&lt;/h4&gt;

&lt;p&gt;Company laptops should enforce disk encryption.&lt;/p&gt;

&lt;p&gt;If a device is lost or stolen, encryption prevents attackers from accessing stored data.&lt;/p&gt;

&lt;h4&gt;
  
  
  Endpoint management
&lt;/h4&gt;

&lt;p&gt;Companies often use device management tools to enforce:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OS updates&lt;/li&gt;
&lt;li&gt;disk encryption&lt;/li&gt;
&lt;li&gt;security policies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples include Intune, Jamf, and other MDM systems.&lt;/p&gt;

&lt;h4&gt;
  
  
  VPN and zero-trust access
&lt;/h4&gt;

&lt;p&gt;Access to internal infrastructure should be restricted.&lt;/p&gt;

&lt;p&gt;Common solutions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WireGuard — free and easy-setup VPN&lt;/li&gt;
&lt;li&gt;Tailscale — good for engineering teams&lt;/li&gt;
&lt;li&gt;Cloudflare Zero Trust&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools ensure internal services are not exposed publicly.&lt;/p&gt;

&lt;h4&gt;
  
  
  Virtual desktop infrastructure
&lt;/h4&gt;

&lt;p&gt;Some enterprise organizations prevent local development entirely.&lt;/p&gt;

&lt;p&gt;Developers work inside &lt;strong&gt;virtual desktop environments (VDI)&lt;/strong&gt; where all data remains within company infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Identity and Access Management
&lt;/h3&gt;

&lt;p&gt;Access control is one of the most critical security mechanisms.&lt;/p&gt;

&lt;h4&gt;
  
  
  Single Sign-On
&lt;/h4&gt;

&lt;p&gt;Companies should centralize authentication through SSO providers.&lt;/p&gt;

&lt;p&gt;This simplifies user management and improves security.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keycloak — open-source SSO provider&lt;/li&gt;
&lt;li&gt;Okta — an enterprise-level SSO provider for applications&lt;/li&gt;
&lt;li&gt;Microsoft Entra ID — company-level SSO&lt;/li&gt;
&lt;li&gt;Google Workspace — company-level SSO&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Principle of least privilege
&lt;/h4&gt;

&lt;p&gt;Employees and services should receive only the permissions they need.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Bad practice:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Developer accounts with full cloud administrator access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Better practice:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Developers receive read-only access to logs and limited deployment permissions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Password management
&lt;/h4&gt;

&lt;p&gt;Companies should enforce password policies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;never share credentials via messaging platforms&lt;/li&gt;
&lt;li&gt;never store passwords in documents or tickets&lt;/li&gt;
&lt;li&gt;avoid credentials in code repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Password managers should be used for secure credential storage.&lt;/p&gt;

&lt;h4&gt;
  
  
  Two-factor authentication
&lt;/h4&gt;

&lt;p&gt;Two-factor authentication should be mandatory for all critical services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git repositories&lt;/li&gt;
&lt;li&gt;cloud infrastructure&lt;/li&gt;
&lt;li&gt;internal tools&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Secure Deployment and CI/CD
&lt;/h3&gt;

&lt;p&gt;Deployment pipelines are powerful and must be protected.&lt;/p&gt;

&lt;h4&gt;
  
  
  Git repository security
&lt;/h4&gt;

&lt;p&gt;Important practices include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;protected main branches&lt;/li&gt;
&lt;li&gt;pull request workflows&lt;/li&gt;
&lt;li&gt;mandatory code reviews&lt;/li&gt;
&lt;li&gt;restricted repository access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These controls prevent unauthorized changes to production code.&lt;/p&gt;

&lt;h4&gt;
  
  
  CI/CD security
&lt;/h4&gt;

&lt;p&gt;CI pipelines often contain sensitive credentials.&lt;/p&gt;

&lt;p&gt;Recommended practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;avoid long-lived tokens&lt;/li&gt;
&lt;li&gt;restrict pipeline permissions&lt;/li&gt;
&lt;li&gt;rotate secrets regularly&lt;/li&gt;
&lt;li&gt;run security checks during builds&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Infrastructure Security
&lt;/h3&gt;

&lt;p&gt;Infrastructure configuration is another major attack surface.&lt;/p&gt;

&lt;h4&gt;
  
  
  Network segmentation
&lt;/h4&gt;

&lt;p&gt;Production environments should be separated from development and staging environments.&lt;/p&gt;

&lt;p&gt;Critical systems such as databases should not be publicly accessible.&lt;/p&gt;

&lt;h4&gt;
  
  
  Secrets management
&lt;/h4&gt;

&lt;p&gt;Credentials should never be stored in source code or configuration files.&lt;/p&gt;

&lt;p&gt;Instead, companies should use secrets management systems.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1password.com&lt;/li&gt;
&lt;li&gt;bitwarden.com — free version is available&lt;/li&gt;
&lt;li&gt;psono.com — self-hosted version is available&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These systems allow secure storage and automatic rotation of credentials.&lt;/p&gt;

&lt;h4&gt;
  
  
  Encryption
&lt;/h4&gt;

&lt;p&gt;Sensitive data should be encrypted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;in transit (TLS)&lt;/li&gt;
&lt;li&gt;at rest (database encryption, encrypted backups)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  7. Monitoring, Logging, and Incident Response
&lt;/h3&gt;

&lt;p&gt;Security monitoring helps detect attacks and suspicious behavior.&lt;/p&gt;

&lt;h4&gt;
  
  
  Logging
&lt;/h4&gt;

&lt;p&gt;Important events to log include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;authentication attempts&lt;/li&gt;
&lt;li&gt;permission changes&lt;/li&gt;
&lt;li&gt;administrative actions&lt;/li&gt;
&lt;li&gt;failed requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logs should be centralized and analyzed.&lt;/p&gt;

&lt;p&gt;Common tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Datadog&lt;/li&gt;
&lt;li&gt;Elastic Stack — clasic stack: Elasticsearch, Kibana, Beats, and Logstash&lt;/li&gt;
&lt;li&gt;Splunk&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Incident response planning
&lt;/h4&gt;

&lt;p&gt;Security incidents will eventually occur.&lt;/p&gt;

&lt;p&gt;Companies should define an incident response process that includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detection&lt;/li&gt;
&lt;li&gt;containment&lt;/li&gt;
&lt;li&gt;investigation&lt;/li&gt;
&lt;li&gt;recovery&lt;/li&gt;
&lt;li&gt;post-incident analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without preparation, companies often react too slowly during attacks.&lt;/p&gt;

&lt;h4&gt;
  
  
  Backup and recovery
&lt;/h4&gt;

&lt;p&gt;Reliable backups are essential to recover from incidents such as ransomware.&lt;/p&gt;

&lt;p&gt;Best practices include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;encrypted backups&lt;/li&gt;
&lt;li&gt;immutable backup storage&lt;/li&gt;
&lt;li&gt;regular recovery testing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bonus
&lt;/h3&gt;

&lt;p&gt;If you made it this far, here’s a small bonus.&lt;br&gt;&lt;br&gt;
I summarized the framework from this article into a single-page security poster you can share with your team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvx2ekp39fnrkwy5rskb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvx2ekp39fnrkwy5rskb.png" alt="Security Framework Summary" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Security is not a single tool or configuration.&lt;/p&gt;

&lt;p&gt;It is a continuous process involving people, development practices, infrastructure, and operational monitoring.&lt;/p&gt;

&lt;p&gt;Companies that integrate security into their development culture significantly reduce the risk of costly security incidents.&lt;/p&gt;

&lt;p&gt;Security must evolve together with technology, development processes, and emerging threats.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>security</category>
      <category>softwareengineering</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>How a $150,000 Mistake Changed the Way I Handle Production Data</title>
      <dc:creator>Ihor Klymchuk</dc:creator>
      <pubDate>Tue, 03 Mar 2026 13:11:00 +0000</pubDate>
      <link>https://dev.to/ihorklymchuk/how-a-150000-mistake-changed-the-way-i-handle-production-data-j2b</link>
      <guid>https://dev.to/ihorklymchuk/how-a-150000-mistake-changed-the-way-i-handle-production-data-j2b</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3ldnphry0otnba9kfwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3ldnphry0otnba9kfwz.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Story 1
&lt;/h3&gt;

&lt;p&gt;A long time ago, when I was working as a developer at an e-commerce company, we received an urgent Slack message: something had gone terribly wrong — customers were being charged extra money.&lt;/p&gt;

&lt;p&gt;What happened?&lt;/p&gt;

&lt;p&gt;The client had a subscription-based web store. A tech lead updated the staging database but forgot (or didn’t realize) that cron jobs were still enabled. Instead of cleaning the data, he simply created a dump from production and imported it into staging.&lt;/p&gt;

&lt;p&gt;As a result, subscription billing ran again.&lt;/p&gt;

&lt;p&gt;Around &lt;strong&gt;$150,000&lt;/strong&gt; was charged from customers’ accounts.&lt;/p&gt;

&lt;p&gt;It was chaos. Thousands of apologies. Weeks of refunds. Damage control calls every day.&lt;/p&gt;

&lt;p&gt;After that incident, the company introduced strict rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always clean production dumps before importing.&lt;/li&gt;
&lt;li&gt;Disable all cron jobs.&lt;/li&gt;
&lt;li&gt;Replace external service credentials with sandbox ones.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it was too late.&lt;/p&gt;

&lt;p&gt;The reputation damage had already been done.&lt;/p&gt;

&lt;h3&gt;
  
  
  Story 2
&lt;/h3&gt;

&lt;p&gt;When it happened, I was just a developer and wasn’t involved in that process — but I remembered the lesson.&lt;/p&gt;

&lt;p&gt;When I became a Tech Lead, I made sure developers never received backups with raw production data. Staging and dev servers were also updated with trimmed backups only.&lt;/p&gt;

&lt;p&gt;Later, when I moved to a CTO role, I implemented internal tooling to prevent exactly these kinds of incidents.&lt;/p&gt;

&lt;p&gt;Did it help? Partially.&lt;/p&gt;

&lt;p&gt;A developer from an offshore team wasn’t aware of our processes and updated the staging database with production data. This broke the search entirely, since it was powered by a third-party service, and all search index links were pointing to the staging website.&lt;/p&gt;

&lt;p&gt;All customers were redirected to the staging website, which, of course, affected the sales.&lt;/p&gt;

&lt;p&gt;We fixed it quickly. And since it wasn’t our fault operationally, our reputation stayed intact.&lt;/p&gt;

&lt;p&gt;But the pattern was obvious.&lt;/p&gt;

&lt;p&gt;The problem wasn’t people.&lt;/p&gt;

&lt;p&gt;The problem was the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Real Problem
&lt;/h3&gt;

&lt;p&gt;I started asking friends in other companies how they handle database sharing.&lt;/p&gt;

&lt;p&gt;The answers were surprisingly similar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“We have some internal scripts.”&lt;/li&gt;
&lt;li&gt;“We trim data manually.”&lt;/li&gt;
&lt;li&gt;“We have rules — but it’s up to developers to follow them.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In most cases, production data handling depends on human discipline.&lt;/p&gt;

&lt;p&gt;And humans make mistakes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Looking for a Solution
&lt;/h3&gt;

&lt;p&gt;Back in 2020, I tried to find a proper solution.&lt;/p&gt;

&lt;p&gt;There were almost no universal tools available. Existing solutions were either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enterprise-only&lt;/li&gt;
&lt;li&gt;Stack-specific&lt;/li&gt;
&lt;li&gt;Or extremely limited&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I decided to build one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;VeilDB&lt;/strong&gt; (&lt;a href="https://veildb.com/" rel="noopener noreferrer"&gt;https://veildb.com/&lt;/a&gt;) is an open-source solution that helps anonymize and mask sensitive data from databases and safely share processed dumps with your team.&lt;/p&gt;

&lt;p&gt;You can easily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;replace user’s name with some value&lt;/li&gt;
&lt;li&gt;email → faker replacement,&lt;/li&gt;
&lt;li&gt;generate random numbers for a credit card.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This perfectly works for outsourcing teams, e-commerce, and agencies managing multiple client environments. It also works for individual projects, ensuring developers don’t get access to the real data.&lt;/p&gt;

&lt;p&gt;VeilDB is fully open-source.&lt;/p&gt;

&lt;p&gt;👉 GitHub: &lt;a href="https://github.com/veildb-tech/service" rel="noopener noreferrer"&gt;https://github.com/veildb-tech/service&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👉 Documentation: &lt;a href="https://veildb.gitbook.io/" rel="noopener noreferrer"&gt;https://veildb.gitbook.io/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👉 Quick Start Guide: &lt;a href="https://veildb.gitbook.io/veildb-docs/getting-started/" rel="noopener noreferrer"&gt;https://veildb.gitbook.io/veildb-docs/getting-started/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How does it work?
&lt;/h3&gt;

&lt;p&gt;It consists of three layers:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Service Layer (UI)
&lt;/h4&gt;

&lt;p&gt;A web interface where you configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Masking rules&lt;/li&gt;
&lt;li&gt;Permissions&lt;/li&gt;
&lt;li&gt;Schedules&lt;/li&gt;
&lt;li&gt;Webhooks&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. Agent Layer
&lt;/h4&gt;

&lt;p&gt;A CLI-based agent installed on your server that processes databases.&lt;/p&gt;

&lt;p&gt;Important design principle:&lt;/p&gt;

&lt;p&gt;The Service layer never receives actual data — only database schema.&lt;/p&gt;

&lt;p&gt;The Agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a dump&lt;/li&gt;
&lt;li&gt;Restores it inside isolated Docker infrastructure&lt;/li&gt;
&lt;li&gt;Applies masking rules&lt;/li&gt;
&lt;li&gt;Generates a sanitized dump&lt;/li&gt;
&lt;li&gt;Removes temporary data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It never works directly with the original database.&lt;/p&gt;

&lt;p&gt;Multiple agents can be connected to a single Service instance.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Client Layer
&lt;/h4&gt;

&lt;p&gt;A lightweight CLI tool installed on developers’ machines to securely download processed dumps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf97eldqo3pckvjwobmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf97eldqo3pckvjwobmm.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How the Workflow Looks
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Admin configures masking rules and schedules in the UI.&lt;/li&gt;
&lt;li&gt;The Agent checks the queue and retrieves processing rules.&lt;/li&gt;
&lt;li&gt;The Agent creates and processes a dump in isolation.&lt;/li&gt;
&lt;li&gt;Developers download only sanitized backups.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvucvvn1xgb75sorruiob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvucvvn1xgb75sorruiob.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For developers, the flow is simple.&lt;/p&gt;

&lt;p&gt;Under the hood, several critical security checks happen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Service verifies whether the developer has access to a specific database.&lt;/li&gt;
&lt;li&gt;The Service issues a temporary token.&lt;/li&gt;
&lt;li&gt;The Client uses this token to download the dump from the Agent.&lt;/li&gt;
&lt;li&gt;The Agent validates the token before allowing the download.&lt;/li&gt;
&lt;li&gt;All communication is encrypted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5yniax6r25xgiqn17u8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5yniax6r25xgiqn17u8.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Setting up VeilDB may take some initial effort.&lt;/p&gt;

&lt;p&gt;But it’s a small price compared to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Charging customers by mistake&lt;/li&gt;
&lt;li&gt;Corrupting external services&lt;/li&gt;
&lt;li&gt;Leaking sensitive data&lt;/li&gt;
&lt;li&gt;Damaging your company’s reputation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Production data is powerful.&lt;/p&gt;

&lt;p&gt;It should never be shared without protection.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>opensource</category>
      <category>devops</category>
      <category>datasecurity</category>
    </item>
    <item>
      <title>The Rise and Decline of Magento in E-Commerce: From Open Source Giant to Niche Player</title>
      <dc:creator>Ihor Klymchuk</dc:creator>
      <pubDate>Thu, 04 Sep 2025 09:46:02 +0000</pubDate>
      <link>https://dev.to/ihorklymchuk/the-rise-and-decline-of-magento-in-e-commerce-from-open-source-giant-to-niche-player-1nk9</link>
      <guid>https://dev.to/ihorklymchuk/the-rise-and-decline-of-magento-in-e-commerce-from-open-source-giant-to-niche-player-1nk9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F0%2APPZ7OuwAplbcN9Bz" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F0%2APPZ7OuwAplbcN9Bz" width="760" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I started working with Magento in 2014 at a small company that develops extensions for Magento. Over the past decade, I saw incredible growth in 2020 due to COVID-19, and now I notice that many of my former colleagues are struggling to find jobs, and overall, the number of e-commerce projects based on Magento is decreasing.&lt;/p&gt;

&lt;p&gt;Does it mean that Magento is dying?&lt;/p&gt;

&lt;p&gt;Based on the open statistics, depending on the region, Magento holds up to 7–9% of global e-commerce, compared to 13% in 2015 (information based on the BuildWith statistic &lt;a href="https://trends.builtwith.com/shop/Magento" rel="noopener noreferrer"&gt;https://trends.builtwith.com/shop/Magento&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzhngezd74408ywigput.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzhngezd74408ywigput.png" width="800" height="326"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Builtwith Magento Usage Statistics&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Additionally, I've noticed that Magento's popularity is declining, and friends from other companies report a decrease in the number of Magento projects.&lt;/p&gt;

&lt;p&gt;Well, the problem could be in companies, doesn’t it? So I asked my friend&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Hey, you have built one of the most popular Magento extensions. What’s going on with it?&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;.. and he provided me with such a graph:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2laxv8rdqxw3wgx0icth.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2laxv8rdqxw3wgx0icth.png" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another graph (I promise, the last one) is simply Google interest&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pcmt3ke91trnznflutq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pcmt3ke91trnznflutq.png" width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From all these graphs, it is obvious that the popularity of Magento is decreasing. But why? I have spent a lot of time investigating the issue and exploring the e-commerce market, especially Magento.&lt;/p&gt;

&lt;p&gt;I decided to review and recall the history of Magento to understand why such a big project and platform are losing their popularity. That’s just my &lt;strong&gt;personal opinion&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Magento?
&lt;/h3&gt;

&lt;p&gt;Let’s start with a quick overview of what Magento (also known as Adobe Commerce) is.&lt;/p&gt;

&lt;p&gt;It’s an open-source CMS platform based on PHP, MySQL, and JavaScript. It has high-quality standards, good but complicated architecture, which allows customization of almost everything. It has, I would say, a big fan club of developers and the community, which has made significant contributions.&lt;/p&gt;

&lt;p&gt;I have a couple of certifications and still think that it is the best CMS based on PHP, but to face the truth, it has its weak sides.&lt;/p&gt;

&lt;h3&gt;
  
  
  History
&lt;/h3&gt;

&lt;p&gt;Let’s start with the history.&lt;/p&gt;

&lt;p&gt;The first version of Magento was released in 2007, and it experienced rapid growth, becoming one of the popular e-commerce CMS platforms. It was based on the widely used Zend Framework of that time.&lt;/p&gt;

&lt;p&gt;In 2015, Magento 2 was released. Under the hood, it used the same framework; however, the architecture concept was different, which made it impossible to do an easy migration, and basically, the migration was a full re-platforming (for the truth, there were migration scripts, but they worked badly and required a significant effort). That’s the &lt;strong&gt;first issue&lt;/strong&gt; I explain in more detail below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezx67ckdju9owtavbj2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezx67ckdju9owtavbj2d.png" width="800" height="305"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Key points in history.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In 2018, Adobe acquired Magento, promising developers and the community that nothing would change. &lt;em&gt;But a lot has changed.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Issue #1. Migration.
&lt;/h3&gt;

&lt;p&gt;Magento 1 was popular for all segments of the e-commerce market, ranging from small stores to big enterprises. The second version was released with a completely different architecture but still based on the same framework and with similar patterns and approaches.&lt;/p&gt;

&lt;p&gt;Magento created some migrations for the database and even for the code, but, to put it mildly, they did not work well. The database migration script was improved over the years, but it still required experience to avoid pitfalls and execute the migration smoothly.&lt;/p&gt;

&lt;p&gt;Everything was new, with only basic documentation. Developers learning Magento 2 had to figure it out through code and exploring how to write code correctly. I remember the first projects, and the quality of their code was far from ideal.&lt;/p&gt;

&lt;p&gt;During the first two years, Magento 2 had numerous bugs and was not stable. The clients, who decided to switch to M2, faced a significant increase in estimates and bugs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Issue #2. Entry barrier.
&lt;/h3&gt;

&lt;p&gt;As I mentioned, Magento 2 has a very good and complex architecture that supports creating high-quality projects. But what happens if an agency with PHP developers sells Magento? Of course, they start developing without a proper understanding of architecture and M2 standards, leading to security and performance issues, and encountering unexpected bugs when they modify a class, thinking it will change behavior, but instead, it also alters another hidden (for them) functionality.&lt;/p&gt;

&lt;p&gt;We had a lot of such clients with such terrible code. What did the client say?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We asked the Magento agency, and they quoted twice the cost of the other agency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ok, cool. Now the quote will be three times higher because we need to fix everything the previous agency did and implement everything properly.&lt;/p&gt;

&lt;p&gt;Clients had to decide to pay more for qualified developers or take a chance with cheaper ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  Issue #3. Frontend.
&lt;/h3&gt;

&lt;p&gt;The architecture of the frontend allows for extending and modifying the UI without touching the original files. Developers can add blocks from any module, and it is easy to orchestrate with nested themes, etc. Such architecture allows for easy upgrades of Magento without a significant impact. For example, if a new feature is introduced with a new version, it will still work even if you have a fully customized frontend (assuming the developer develops everything properly according to standards).&lt;/p&gt;

&lt;p&gt;But there are still some significant issues:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deprecation. The original frontend is built using outdated technologies such as jQuery, Prototype, and Knockout.js.&lt;/li&gt;
&lt;li&gt;Besides the standard frontend, there are some areas that use UI components—a way to build a dynamic frontend (like with React or Vue). However, the architecture of this solution is so complex that even experienced developers sometimes spend a lot of time implementing minor features. Of course, this approach affects the final costs.&lt;/li&gt;
&lt;li&gt;Implementing good performance for the frontend requires effort, as does achieving a good score in Google PageSpeed Insights.&lt;/li&gt;
&lt;li&gt;In 2018, Magento introduced PWA Studio — a way to build a headless solution based on React.js. But development dragged on, and developers reported a large number of bugs. Due to the rising popularity of PWA technology, many companies are building similar solutions: VueStorefront (now Alokai), ScandiPWA, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Currently, another popular solution for Magento is Hyvä Theme, which allows building a frontend with the same flexibility and much better performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Issue #4. Adobe.
&lt;/h3&gt;

&lt;p&gt;After Adobe acquired Magento, it rebranded it as Adobe Commerce and shifted focus toward large enterprise and B2B markets. They actively promote their Adobe Commerce Cloud and its services, which can be integrated into the Adobe Commerce ecosystem. They introduced numerous services that work with Adobe Commerce, such as Adobe Sensei, Live Search, and more.&lt;/p&gt;

&lt;p&gt;The price of usage increased, and mentions of Open Source began to gradually fade.&lt;/p&gt;

&lt;p&gt;Due to changing politics, many small and mid-market clients who initially migrated to Magento 2 have switched to less expensive platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  So where are all the stores now?
&lt;/h3&gt;

&lt;p&gt;According to analytics from BuiltWith (&lt;a href="https://trends.builtwith.com/shop" rel="noopener noreferrer"&gt;https://trends.builtwith.com/shop&lt;/a&gt;), roughly 40% are built with Shopify.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0x89zfu3lz282dqpl9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0x89zfu3lz282dqpl9u.png" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We see that a lot of our clients migrate to another platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shopify — &lt;/strong&gt; I believe it is the most popular e-commerce solution today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BigCommerce&lt;/strong&gt;  — another SaaS platform similar to Shopify.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A composable solution — &lt;/strong&gt; a way to build only the frontend using popular frameworks like React or Vue, and all logic is orchestrated with various services (like CommerceTools, Algolia, Stripe, etc.).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopware&lt;/strong&gt;  — another solution with a similar stack (PHP and MySQL), that allows building also customizable web stores.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Very often, they refuse or simplify certain functionalities due to the limitations of SaaS solutions. However, from a business perspective, they gain many benefits such as low ownership costs, easier management, and improved store performance.&lt;/p&gt;

&lt;p&gt;The approach to e-commerce on the web is shifting towards SaaS solutions, even platforms like Adobe Commerce and Shopware, which were initially open source, are now transitioning to a SaaS model. Is this the future? I believe so. Is it good? Well, I am an old-school developer, so I see it as a 50/50 situation — fewer ways to create something innovative and exciting, but better for business.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusions
&lt;/h3&gt;

&lt;p&gt;Would I still build projects based on Adobe Commerce or Magento? It depends. If the client needs to create a small fashion store, I don’t see any reason to complicate such a simple project — use Shopify. However, if the client requires complex and custom logic, B2B features, or the ability to scale, Adobe Commerce is the best solution, offering numerous opportunities for business growth.&lt;/p&gt;

</description>
      <category>ecommerce</category>
      <category>shopify</category>
      <category>magento</category>
      <category>magentodevelopment</category>
    </item>
  </channel>
</rss>
