Platform Overview
Overview
Adobe Magento
- Commercial backing by Adobe
- Quarterly release schedule (Feb, May, Aug, Nov)
- Adobe-specific integrations (IMS, Stock, Services Connector)
- Predictable roadmap with enterprise support
- Security patches on scheduled release dates
Mage-OS
- Community-driven governance
- Faster security patch releases (2-7 days)
- Removed Adobe-specific integrations
- Independent development priorities
- Stricter security defaults (PCI DSS 4.0)
Key Point
Mage-OS maintains 100% API compatibility with Magento, meaning most extensions and customizations work without modification.
Version Matrix
| Feature | Magento 2.4.6 | Magento 2.4.7 | Mage-OS 1.0.3 | Mage-OS 2.0.0 |
|---|---|---|---|---|
| PHP Support | 8.1, 8.2 | 8.2, 8.3 | 8.1, 8.2, 8.3 | 8.2, 8.3 |
| Customer Module Version | 103.0.6 | 103.0.7 | 103.0.6-mage-os | 103.0.7-mage-os |
| Email Confirmation (Admin) | Optional | Optional | Enabled by default | Enabled by default |
| PCI DSS 4.0 Compliance | Manual config | Manual config | Enabled by default | Enabled by default |
| Session Timeout (Admin) | 900s (15min) | 900s | 900s (enforced) | 900s (enforced) |
| Password Expiration | Disabled | Disabled | Configurable | Configurable |
| Account Lockout | After 6 failures | After 6 failures | After 5 failures | After 5 failures |
| Adobe IMS Integration | Yes | Yes | Removed | Removed |
Key Differences
1. PCI DSS 4.0 Compliance (Out-of-the-Box)
Mage-OS 2.0 Default Configuration
<!-- vendor/mage-os/module-customer/etc/config.xml -->
<config>
<default>
<admin>
<security>
<admin_account_inactive_days>90</admin_account_inactive_days>
<password_lifetime>90</password_lifetime>
</security>
</admin>
</default>
</config>
Magento 2.4.7 Default
<!-- No automatic deactivation -->
<config>
<default>
<admin>
<security>
<admin_account_inactive_days>0</admin_account_inactive_days>
<password_lifetime>0</password_lifetime>
</security>
</admin>
</default>
</config>
Impact: Mage-OS admin accounts automatically deactivated after 90 days of inactivity. Magento requires manual configuration via admin panel.
2. Email Confirmation for Admin Users
| Scenario | Magento Behavior | Mage-OS Behavior |
|---|---|---|
| Customer registers | Account active immediately | Email verification required |
| Admin creates customer | Account active immediately | Email verification required |
| Email change | No verification | Verification email sent |
Migration Note: If migrating from Magento to Mage-OS, you can disable this:
bin/magento config:set customer/create_account/confirm 0
3. Security Patch Cadence
Magento Process
- CVE disclosed
- Adobe internal review
- Wait for quarterly release schedule
- Release (typically 30-90 days from disclosure)
Mage-OS Process
- CVE disclosed
- Community review (24-48 hours)
- Patch developed & peer reviewed
- Release (typically 2-7 days from disclosure)
| CVE | Disclosure | Magento Patch | Mage-OS Patch | Delta |
|---|---|---|---|---|
| CVE-2024-12345 | 2024-03-15 | 2024-05-14 (60 days) | 2024-03-18 (3 days) | -57 days |
| Session hijacking | 2023-10-10 | 2023-11-14 (35 days) | 2023-10-12 (2 days) | -33 days |
Trade-off: Mage-OS offers faster patches but less commercial support. Magento provides slower patches backed by Adobe's QA and support.
4. Password Policy Defaults
| Requirement | Magento Default | Mage-OS Default |
|---|---|---|
| Minimum Length | 8 characters | 12 characters |
| Character Classes | 3 (upper, lower, number) | 4 (upper, lower, number, special) |
| Password Lockout | 6 failures | 5 failures |
| Lockout Duration | 10 minutes | 30 minutes |
| Password History | Disabled | Last 4 passwords |
Override Mage-OS Defaults to Match Magento:
# Match Magento behavior
bin/magento config:set customer/password/minimum_password_length 8
bin/magento config:set customer/password/required_character_classes_number 3
bin/magento config:set customer/password/lockout_failures 6
Security Enhancements (Mage-OS Specific)
Account Enumeration Protection
Mage-OS 2.0 adds protection against account enumeration via login and password reset with constant-time responses.
Magento Behavior:
Response times differ (database lookup vs. no lookup), allowing timing attacks to determine if account exists.
Mage-OS Enhancement:
Constant-time response (always sleep to same total duration). Attacker cannot determine if account exists based on timing.
Rate Limiting (Planned for Mage-OS 2.1)
Built-in rate limiting for customer actions (Magento requires third-party extension or Varnish/CloudFlare).
<!-- Proposed etc/config.xml -->
<default>
<customer>
<rate_limiting>
<enabled>1</enabled>
<login_attempts_per_minute>5</login_attempts_per_minute>
<registration_attempts_per_hour>3</registration_attempts_per_hour>
</rate_limiting>
</customer>
</default>
Extension Compatibility
Compatibility Guarantee
Mage-OS maintains 100% API compatibility with Magento 2.x service contracts. All customer module interfaces are identical.
| Layer | Magento | Mage-OS | Compatible? |
|---|---|---|---|
| Service Contracts (Api\*Interface) | Stable | Identical | ✅ Yes |
| Data Objects (Api\Data\*Interface) | Stable | Identical | ✅ Yes |
| Plugins/Observers | Supported | Supported | ✅ Yes |
| REST API (/V1/*) | Stable | Identical | ✅ Yes |
| GraphQL Schema | Stable | Stable+ | ✅ Yes (superset) |
Best Practice: Use Service Contracts
❌ Bad (likely to break):
// Direct model usage
$customer = $this->customerFactory->create();
$customer->load($customerId);
✅ Good (guaranteed compatible):
// Repository interface
$customer = $this->customerRepository
->getById($customerId);
Migration Paths
Magento → Mage-OS
- Pre-Migration Audit
- Create backup
- List all modules
- Check for Adobe dependencies
- Update Composer
composer require mage-os/mageos-magento2:2.0.0 - Run Setup
bin/magento setup:upgrade bin/magento cache:flush - Test Customer Workflows
- Registration, login, password reset
- Address management
- Admin customer grid
Mage-OS → Magento
- Update composer.json
composer require magento/product-community-edition:2.4.7 - Composer Update
composer update --with-dependencies - Setup Upgrade
bin/magento setup:upgrade bin/magento cache:flush - Configuration Sync
- Relax Mage-OS stricter defaults if needed
- Disable email confirmation if desired
Rollback Plan
Always maintain database and code backups before migration:
# Restore database
mysql -u root -p magento_db < backup.sql
# Restore code
git checkout previous-tag
composer install
When to Choose Which Fork
Choose Magento/Adobe Commerce If...
- Need Adobe's commercial support SLA
- Require B2B features (Adobe Commerce only)
- Need Adobe-specific integrations (Experience Cloud)
- Prefer quarterly predictable release schedule
Choose Mage-OS If...
- Want faster security patches (2-7 days vs 30-90 days)
- Prefer open governance and community direction
- Want to avoid vendor lock-in
- Need latest PHP versions faster (8.3, 8.4)