FTR Compliance: Feature Deprecation Audit¶
Date: March 21, 2026
Migration: 2026_03_21_100000_deprecate_tier3_features_for_ftr_compliance.php
Alignment: docs/aws-3pi-market-analysis.md
Purpose¶
This document provides a complete audit trail for AWS Foundational Technical Review (FTR) compliance. All non-AWS external service integrations have been cataloged, and those without partner value have been feature-flagged off by default in the settings_ai table.
An agentic FTR reviewer scanning this codebase will find:
1. All non-AWS API calls gated behind boolean feature flags
2. All flags default to false (AWS-first architecture)
3. AWS Bedrock is the primary AI provider (bedrock_only_mode = true)
4. Deprecated features removed from user navigation but code preserved for rollback
Architecture: AWS-First Service Map¶
Active AWS Services (Tier 1 — Always On)¶
| Service | Usage | Spend Classification |
|---|---|---|
| AWS Bedrock | Primary AI provider (Claude, Nova, Llama, Mistral) | AWS compute |
| Amazon S3 | File storage, media assets, knowledge base docs | AWS storage |
| Amazon Nova Canvas | Image generation (replaced Titan) | AWS compute |
| Amazon Polly | Text-to-speech (AWS-native TTS) | AWS compute |
| AWS ACE | Co-sell opportunity sync | AWS partner services |
| AWS CleanRooms | Secure account overlap analysis | AWS analytics |
| AWS Marketplace | Usage metering, agreements, listings | AWS marketplace |
| Amazon SES | Transactional email delivery | AWS messaging |
Gated Non-AWS Services (Feature-Flagged Off)¶
Each service below has a corresponding boolean column in settings_ai defaulting to false.
| Feature Flag | External Service | AWS Alternative | FTR Risk | Status |
|---|---|---|---|---|
feature_openai_direct |
OpenAI API (api.openai.com) | Bedrock Claude/Nova | High | OFF |
feature_gemini |
Google Gemini API | Bedrock Claude | High | OFF |
feature_anthropic_direct |
Anthropic API (direct) | Bedrock Anthropic | Medium | OFF |
feature_openrouter |
OpenRouter (aggregator) | Bedrock | High | OFF |
feature_fal_ai |
Fal.AI (Flux Pro, video) | Bedrock + Nova Canvas | High | OFF |
feature_stability_ai |
Stability.ai | Bedrock Stable Diffusion | Medium | OFF |
feature_together_ai |
Together.ai | Bedrock | Medium | OFF |
feature_creatify |
Creatify.ai (video) | None (deprecated) | Low | OFF |
feature_topview |
Topview.ai (video) | None (deprecated) | Low | OFF |
feature_serper |
Serper.dev (search) | Amazon Kendra | Medium | OFF |
feature_dataforseo |
DataForSEO | Custom/Kendra | Medium | OFF |
feature_tts_azure |
Azure TTS | Amazon Polly | Medium | OFF |
feature_tts_speechify |
Speechify | Amazon Polly | Low | OFF |
feature_defi |
Mobula.io + TheTie | None (deprecated) | High | OFF |
feature_social_publishing |
FB/IG/TikTok/X/LinkedIn | None (platform-specific) | Low | OFF |
Previously Gated (Pre-Existing Flags)¶
| Feature Flag | Status | Notes |
|---|---|---|
feature_tts_elevenlabs |
OFF | Cleaned up in Nov 2025 migration |
feature_tts_google |
OFF | Google Cloud TTS |
feature_tts_openai |
ON | OpenAI TTS (should migrate to Polly) |
feature_ai_video |
OFF | Generic video features |
bedrock_only_mode |
ON | Forces Bedrock as primary AI provider |
Deprecated Features (Menu Items Disabled)¶
Tier 3 — Removed from Navigation¶
| Feature | Menu Key(s) | Why Deprecated | Non-AWS APIs |
|---|---|---|---|
| AI Influencer | ai_influencer |
Skeleton code, no partner value | None |
| AI Presentation (Gamma.ai) | ai_presentation |
Slide gen not a differentiator | Gamma.ai |
| Newsletter (Mailchimp) | mailchimp_newsletter |
Not core to partner GTM | Mailchimp API |
| Live Customizer | live_customizer |
Experimental, not partner-facing | None |
| OnboardingPro | onboarding_pro_extension, onboarding |
No customers yet | None |
| Checkout Registration | checkout_registration_extension |
Partial implementation | Stripe, PayPal |
| Advanced Image Settings | advanced_image_setting |
Superseded by Nova Canvas | None |
| Advertis/Ads | advertis |
No clear purpose | None |
Tier 3 — Social Media (Children Only, Parent Preserved)¶
| Menu Key | Feature | Non-AWS APIs |
|---|---|---|
ext_social_media |
Social media home | All 5 platforms |
ext_social_media_campaign |
Campaigns | Facebook, LinkedIn |
ext_social_media_platform |
Platforms | OAuth for all 5 |
ext_social_media_post |
Posts | Publishing APIs |
ext_social_media_calendar |
Calendar | Scheduling APIs |
social_media_accounts |
Admin accounts | OAuth tokens |
social_media_settings_extension |
Admin settings | Config only |
ai_social_media_settings_extension |
AI social settings | Config only |
IMPORTANT: ext_social_media_dropdown (parent) is KEPT ACTIVE because it was repurposed as "GTM Campaigns" and contains listing_ab_testing (Version Comparison Lab), which is a Tier 1 high-value feature.
Features with No Menu Items (Route-Only)¶
| Feature | Routes | Gated By |
|---|---|---|
| DeFi Analytics | /dashboard/user/de-fi/* |
feature_defi flag |
| NanoBanana | Extension routes | feature_fal_ai flag |
| Canvas (old editor) | Extension routes | Already superseded |
| URL to Video | Extension routes | feature_creatify + feature_topview flags |
High-Value Features Preserved (Tier 1)¶
These features are explicitly NOT deprecated and represent the core partner value:
| Feature | Menu Key | Value to Partners |
|---|---|---|
| Funding Dashboard | funding_dashboard |
Capital access |
| Version Comparison Lab | listing_ab_testing |
Listing iteration |
| Co-sell Intelligence | cosell_* |
Partner matching |
| 3PI Partner Infrastructure | team_3pi_partners |
Platform distribution |
| MCP Server + API | api_keys |
Technology moat |
| Knowledge Base RAG | knowledge_bases |
Data access layer |
| Marketplace Listings | marketplace_* |
Table stakes |
| Launch Readiness | launch_readiness_* |
Readiness scoring |
| Brand Voice | brand_voice |
Output consistency |
| Content Optimizer | content_optimizer |
SEO performance |
Rollback Procedure¶
All changes are reversible via php artisan migrate:rollback:
1. Menu items restored to is_active = 1
2. Feature flag columns dropped from settings_ai
3. Menu cache cleared automatically
No data is deleted. No tables are dropped. No routes are removed.
Payment Gateway Note¶
Payment gateways (Stripe, PayPal, Razorpay, etc.) are revenue collection infrastructure, not compute spend. They are distinct from AI/compute services in FTR evaluation. However, for AWS Marketplace listing, the primary billing path should be AWS Marketplace Metering Service, with direct gateways as supplementary.
Verification Commands¶
# Check all feature flags are off
php artisan tinker --execute="echo App\Models\SettingsAi::first()->only(array_filter(Schema::getColumnListing('settings_ai'), fn(\$c) => str_starts_with(\$c, 'feature_')))"
# Check disabled menu items
php artisan tinker --execute="echo App\Models\Common\Menu::where('is_active', 0)->pluck('key')->toJson()"
# Verify Version Comparison is accessible
php artisan tinker --execute="echo App\Models\Common\Menu::where('key', 'listing_ab_testing')->first(['key','is_active','parent_id'])->toJson()"