diff --git a/src/data/analytics/amplitude.tsx b/src/data/analytics/amplitude.tsx
index e5aa62d..9aafb3d 100644
--- a/src/data/analytics/amplitude.tsx
+++ b/src/data/analytics/amplitude.tsx
@@ -20,76 +20,112 @@ export const amplitude: Provider = {
logo: ,
website: "https://amplitude.com",
tagline: {
+
status: "strong",
+
details: "Digital analytics platform for product teams",
+
+ reference: "https://amplitude.com/pricing",
},
features: {
- autoCapture: { status: "partial", details: "Limited auto-tracking" },
- customEvents: { status: "strong", details: "Custom event tracking" },
- userProperties: { status: "strong", details: "User properties" },
- groupAnalytics: { status: "strong", details: "Account-level analytics" },
+ autoCapture: { status: "partial", details: "Limited auto-tracking", reference: "https://amplitude.com/pricing" },
+ customEvents: { status: "strong", details: "Custom event tracking", reference: "https://amplitude.com/pricing" },
+ userProperties: { status: "strong", details: "User properties", reference: "https://amplitude.com/pricing" },
+ groupAnalytics: { status: "strong", details: "Account-level analytics", reference: "https://amplitude.com/pricing" },
retroactiveAnalysis: {
+
status: "strong",
+
details: "Govern events retroactively",
+
+ reference: "https://amplitude.com/pricing",
},
- funnels: { status: "strong", details: "Conversion funnels" },
- retention: { status: "strong", details: "Retention analysis" },
- cohorts: { status: "strong", details: "Behavioral cohorts" },
- pathAnalysis: { status: "strong", details: "Pathfinder analysis" },
- trends: { status: "strong", details: "Event segmentation" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "partial", details: "Near real-time" },
- customReports: { status: "strong", details: "Saved reports" },
+ funnels: { status: "strong", details: "Conversion funnels", reference: "https://amplitude.com/pricing" },
+ retention: { status: "strong", details: "Retention analysis", reference: "https://amplitude.com/pricing" },
+ cohorts: { status: "strong", details: "Behavioral cohorts", reference: "https://amplitude.com/pricing" },
+ pathAnalysis: { status: "strong", details: "Pathfinder analysis", reference: "https://amplitude.com/pricing" },
+ trends: { status: "strong", details: "Event segmentation", reference: "https://amplitude.com/pricing" },
+ dashboards: { status: "strong", details: "Custom dashboards", reference: "https://amplitude.com/pricing" },
+ realtime: { status: "partial", details: "Near real-time", reference: "https://amplitude.com/pricing" },
+ customReports: { status: "strong", details: "Saved reports", reference: "https://amplitude.com/pricing" },
dataExploration: {
+
status: "strong",
+
details: "Amplitude Analytics UI",
+
+ reference: "https://amplitude.com/pricing",
},
- alerts: { status: "strong", details: "Anomaly detection" },
+ alerts: { status: "strong", details: "Anomaly detection", reference: "https://amplitude.com/pricing" },
sessionReplay: {
+
status: "strong",
+
details: "Session Replay (via acquisition)",
+
+ reference: "https://amplitude.com/pricing",
},
- heatmaps: { status: "none", details: "Not available" },
- userProfiles: { status: "strong", details: "User lookup" },
- userJourneys: { status: "strong", details: "User journey maps" },
- attribution: { status: "strong", details: "Impact analysis" },
- abTesting: { status: "strong", details: "Amplitude Experiment" },
- featureFlags: { status: "strong", details: "Feature flags included" },
- experiments: { status: "strong", details: "Full experimentation" },
+ heatmaps: { status: "none", details: "Not available", reference: "https://amplitude.com/pricing" },
+ userProfiles: { status: "strong", details: "User lookup", reference: "https://amplitude.com/pricing" },
+ userJourneys: { status: "strong", details: "User journey maps", reference: "https://amplitude.com/pricing" },
+ attribution: { status: "strong", details: "Impact analysis", reference: "https://amplitude.com/pricing" },
+ abTesting: { status: "strong", details: "Amplitude Experiment", reference: "https://amplitude.com/pricing" },
+ featureFlags: { status: "strong", details: "Feature flags included", reference: "https://amplitude.com/pricing" },
+ experiments: { status: "strong", details: "Full experimentation", reference: "https://amplitude.com/pricing" },
statisticalAnalysis: {
+
status: "strong",
+
details: "Sequential testing",
+
+ reference: "https://amplitude.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "15+ languages (JS, iOS, Android, etc.)",
+
+ reference: "https://www.docs.developers.amplitude.com",
},
- apiAccess: { status: "strong", details: "REST & GraphQL APIs" },
- dataWarehouse: { status: "strong", details: "Data streaming" },
- sqlAccess: { status: "partial", details: "Limited SQL access" },
- documentation: { status: "strong", details: "Detailed documentation" },
- gdprCompliant: { status: "strong", details: "GDPR compliant" },
- cookieless: { status: "partial", details: "Cookie-based" },
- dataResidency: { status: "strong", details: "Multi-region support" },
- anonymization: { status: "strong", details: "User deletion" },
- compliance: { status: "strong", details: "SOC 2, GDPR, HIPAA" },
+ apiAccess: { status: "strong", details: "REST & GraphQL APIs", reference: "https://www.docs.developers.amplitude.com" },
+ dataWarehouse: { status: "strong", details: "Data streaming", reference: "https://amplitude.com/pricing" },
+ sqlAccess: { status: "partial", details: "Limited SQL access", reference: "https://amplitude.com/pricing" },
+ documentation: { status: "strong", details: "Detailed documentation", reference: "https://www.docs.developers.amplitude.com" },
+ gdprCompliant: { status: "strong", details: "GDPR compliant", reference: "https://amplitude.com/privacy" },
+ cookieless: { status: "partial", details: "Cookie-based", reference: "https://amplitude.com/privacy" },
+ dataResidency: { status: "strong", details: "Multi-region support", reference: "https://amplitude.com/privacy" },
+ anonymization: { status: "strong", details: "User deletion", reference: "https://amplitude.com/privacy" },
+ compliance: { status: "strong", details: "SOC 2, GDPR, HIPAA", reference: "https://amplitude.com/privacy" },
freeTier: {
+
status: "strong",
+
details: "Starter: 50K MTUs (Monthly Tracked Users), up to 10M events",
+
+ reference: "https://amplitude.com/pricing",
},
pricingModel: {
+
status: "strong",
+
details: "Plus: $49/mo for 300K MTUs at $0.049/MTU",
+
+ reference: "https://amplitude.com/pricing",
},
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Fully managed" },
- cdp: { status: "strong", details: "Segment, mParticle, Tealium" },
- marketing: { status: "strong", details: "Salesforce, Braze, Iterable" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://amplitude.com/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only", reference: "https://amplitude.com/pricing" },
+ cloudHosted: { status: "strong", details: "Fully managed", reference: "https://amplitude.com/pricing" },
+ cdp: { status: "strong", details: "Segment, mParticle, Tealium", reference: "https://amplitude.com/pricing" },
+ marketing: { status: "strong", details: "Salesforce, Braze, Iterable", reference: "https://amplitude.com/pricing" },
datatools: {
+
status: "strong",
+
details: "Snowflake, BigQuery, S3",
+
+ reference: "https://amplitude.com/pricing",
},
- webhooks: { status: "strong", details: "Cohort syncing" },
+ webhooks: { status: "strong", details: "Cohort syncing", reference: "https://amplitude.com/pricing" },
},
};
diff --git a/src/data/analytics/ga4.tsx b/src/data/analytics/ga4.tsx
index 058e11c..66dbc0d 100644
--- a/src/data/analytics/ga4.tsx
+++ b/src/data/analytics/ga4.tsx
@@ -30,64 +30,84 @@ export const ga4: Provider = {
logo: ,
website: "https://analytics.google.com",
tagline: {
+
status: "strong",
+
details: "Industry-standard web analytics",
+
+ reference: "https://support.google.com/analytics/answer/9306384",
},
features: {
- autoCapture: { status: "partial", details: "Enhanced measurement" },
- customEvents: { status: "strong", details: "Custom event tracking" },
- userProperties: { status: "strong", details: "User properties" },
- groupAnalytics: { status: "none", details: "Not available" },
+ autoCapture: { status: "partial", details: "Enhanced measurement", reference: "https://support.google.com/analytics/answer/9306384" },
+ customEvents: { status: "strong", details: "Custom event tracking", reference: "https://support.google.com/analytics/answer/9306384" },
+ userProperties: { status: "strong", details: "User properties", reference: "https://support.google.com/analytics/answer/9306384" },
+ groupAnalytics: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
retroactiveAnalysis: {
+
status: "none",
+
details: "Not available",
+
+ reference: "https://support.google.com/analytics/answer/9306384",
},
- funnels: { status: "strong", details: "Funnel exploration" },
- retention: { status: "partial", details: "Basic retention" },
- cohorts: { status: "strong", details: "Audiences" },
- pathAnalysis: { status: "strong", details: "Path exploration" },
- trends: { status: "strong", details: "Event trends" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "strong", details: "Real-time reports" },
- customReports: { status: "strong", details: "Custom reports" },
- dataExploration: { status: "strong", details: "Explore UI" },
- alerts: { status: "strong", details: "Custom alerts" },
- sessionReplay: { status: "none", details: "Not available" },
- heatmaps: { status: "none", details: "Not available" },
- userProfiles: { status: "none", details: "Not available" },
- userJourneys: { status: "strong", details: "User paths" },
- attribution: { status: "strong", details: "Attribution modeling" },
- abTesting: { status: "partial", details: "Via Google Optimize" },
- featureFlags: { status: "none", details: "Not available" },
- experiments: { status: "partial", details: "Via Google Optimize" },
+ funnels: { status: "strong", details: "Funnel exploration", reference: "https://support.google.com/analytics/answer/9306384" },
+ retention: { status: "partial", details: "Basic retention", reference: "https://support.google.com/analytics/answer/9306384" },
+ cohorts: { status: "strong", details: "Audiences", reference: "https://support.google.com/analytics/answer/9306384" },
+ pathAnalysis: { status: "strong", details: "Path exploration", reference: "https://support.google.com/analytics/answer/9306384" },
+ trends: { status: "strong", details: "Event trends", reference: "https://support.google.com/analytics/answer/9306384" },
+ dashboards: { status: "strong", details: "Custom dashboards", reference: "https://support.google.com/analytics/answer/9306384" },
+ realtime: { status: "strong", details: "Real-time reports", reference: "https://support.google.com/analytics/answer/9306384" },
+ customReports: { status: "strong", details: "Custom reports", reference: "https://support.google.com/analytics/answer/9306384" },
+ dataExploration: { status: "strong", details: "Explore UI", reference: "https://support.google.com/analytics/answer/9306384" },
+ alerts: { status: "strong", details: "Custom alerts", reference: "https://support.google.com/analytics/answer/9306384" },
+ sessionReplay: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
+ heatmaps: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
+ userProfiles: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
+ userJourneys: { status: "strong", details: "User paths", reference: "https://support.google.com/analytics/answer/9306384" },
+ attribution: { status: "strong", details: "Attribution modeling", reference: "https://support.google.com/analytics/answer/9306384" },
+ abTesting: { status: "partial", details: "Via Google Optimize", reference: "https://support.google.com/analytics/answer/9306384" },
+ featureFlags: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
+ experiments: { status: "partial", details: "Via Google Optimize", reference: "https://support.google.com/analytics/answer/9306384" },
statisticalAnalysis: {
+
status: "partial",
+
details: "Basic stats",
+
+ reference: "https://support.google.com/analytics/answer/9306384",
},
sdkLanguages: {
+
status: "strong",
+
details: "gtag.js, Firebase SDKs",
+
+ reference: "https://developers.google.com/analytics",
},
- apiAccess: { status: "strong", details: "Data API" },
- dataWarehouse: { status: "strong", details: "BigQuery export" },
- sqlAccess: { status: "strong", details: "BigQuery SQL" },
- documentation: { status: "strong", details: "Extensive docs" },
- gdprCompliant: { status: "strong", details: "GDPR features" },
- cookieless: { status: "partial", details: "Cookie-based" },
- dataResidency: { status: "partial", details: "Google-controlled" },
- anonymization: { status: "strong", details: "IP anonymization" },
- compliance: { status: "strong", details: "Google compliance" },
- freeTier: { status: "strong", details: "Free: 10M events/month" },
+ apiAccess: { status: "strong", details: "Data API", reference: "https://developers.google.com/analytics" },
+ dataWarehouse: { status: "strong", details: "BigQuery export", reference: "https://support.google.com/analytics/answer/9306384" },
+ sqlAccess: { status: "strong", details: "BigQuery SQL", reference: "https://support.google.com/analytics/answer/9306384" },
+ documentation: { status: "strong", details: "Extensive docs", reference: "https://developers.google.com/analytics" },
+ gdprCompliant: { status: "strong", details: "GDPR features", reference: "https://policies.google.com/privacy" },
+ cookieless: { status: "partial", details: "Cookie-based", reference: "https://policies.google.com/privacy" },
+ dataResidency: { status: "partial", details: "Google-controlled", reference: "https://policies.google.com/privacy" },
+ anonymization: { status: "strong", details: "IP anonymization", reference: "https://policies.google.com/privacy" },
+ compliance: { status: "strong", details: "Google compliance", reference: "https://policies.google.com/privacy" },
+ freeTier: { status: "strong", details: "Free: 10M events/month", reference: "https://support.google.com/analytics/answer/9306384" },
pricingModel: {
+
status: "strong",
+
details: "GA4 360: Custom pricing",
+
+ reference: "https://support.google.com/analytics/answer/9306384",
},
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Google Cloud" },
- cdp: { status: "partial", details: "Limited integrations" },
- marketing: { status: "strong", details: "Google Ads, Search Console" },
- datatools: { status: "strong", details: "BigQuery, Data Studio" },
- webhooks: { status: "none", details: "Not available" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://support.google.com/analytics/answer/9306384" },
+ selfHosted: { status: "none", details: "Cloud-only", reference: "https://support.google.com/analytics/answer/9306384" },
+ cloudHosted: { status: "strong", details: "Google Cloud", reference: "https://support.google.com/analytics/answer/9306384" },
+ cdp: { status: "partial", details: "Limited integrations", reference: "https://support.google.com/analytics/answer/9306384" },
+ marketing: { status: "strong", details: "Google Ads, Search Console", reference: "https://support.google.com/analytics/answer/9306384" },
+ datatools: { status: "strong", details: "BigQuery, Data Studio", reference: "https://support.google.com/analytics/answer/9306384" },
+ webhooks: { status: "none", details: "Not available", reference: "https://support.google.com/analytics/answer/9306384" },
},
};
diff --git a/src/data/analytics/heap.tsx b/src/data/analytics/heap.tsx
index 4c3b365..646e31e 100644
--- a/src/data/analytics/heap.tsx
+++ b/src/data/analytics/heap.tsx
@@ -24,76 +24,112 @@ export const heap: Provider = {
logo: ,
website: "https://heap.io",
tagline: {
+
status: "strong",
+
details: "Automatic event tracking for product analytics",
+
+ reference: "https://heap.io/pricing",
},
features: {
autoCapture: {
+
status: "strong",
+
details: "Complete auto-capture of all events",
+
+ reference: "https://heap.io/pricing",
},
- customEvents: { status: "strong", details: "Custom event tracking" },
- userProperties: { status: "strong", details: "User properties" },
+ customEvents: { status: "strong", details: "Custom event tracking", reference: "https://heap.io/pricing" },
+ userProperties: { status: "strong", details: "User properties", reference: "https://heap.io/pricing" },
groupAnalytics: {
+
status: "strong",
+
details: "Account-level analytics",
+
+ reference: "https://heap.io/pricing",
},
retroactiveAnalysis: {
+
status: "strong",
+
details: "Define events retroactively",
+
+ reference: "https://heap.io/pricing",
},
- funnels: { status: "strong", details: "Conversion funnels" },
- retention: { status: "strong", details: "Retention analysis" },
- cohorts: { status: "strong", details: "User segments" },
- pathAnalysis: { status: "strong", details: "User journeys" },
- trends: { status: "strong", details: "Event trends" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "partial", details: "Near real-time" },
- customReports: { status: "strong", details: "Saved reports" },
- dataExploration: { status: "strong", details: "Heap Explore UI" },
- alerts: { status: "strong", details: "Anomaly detection" },
- sessionReplay: { status: "strong", details: "Session replay" },
- heatmaps: { status: "strong", details: "Click heatmaps" },
- userProfiles: { status: "strong", details: "User profiles" },
- userJourneys: { status: "strong", details: "User paths" },
- attribution: { status: "strong", details: "Impact analysis" },
- abTesting: { status: "partial", details: "Basic testing" },
- featureFlags: { status: "none", details: "Not available" },
- experiments: { status: "partial", details: "Limited experiments" },
+ funnels: { status: "strong", details: "Conversion funnels", reference: "https://heap.io/pricing" },
+ retention: { status: "strong", details: "Retention analysis", reference: "https://heap.io/pricing" },
+ cohorts: { status: "strong", details: "User segments", reference: "https://heap.io/pricing" },
+ pathAnalysis: { status: "strong", details: "User journeys", reference: "https://heap.io/pricing" },
+ trends: { status: "strong", details: "Event trends", reference: "https://heap.io/pricing" },
+ dashboards: { status: "strong", details: "Custom dashboards", reference: "https://heap.io/pricing" },
+ realtime: { status: "partial", details: "Near real-time", reference: "https://heap.io/pricing" },
+ customReports: { status: "strong", details: "Saved reports", reference: "https://heap.io/pricing" },
+ dataExploration: { status: "strong", details: "Heap Explore UI", reference: "https://heap.io/pricing" },
+ alerts: { status: "strong", details: "Anomaly detection", reference: "https://heap.io/pricing" },
+ sessionReplay: { status: "strong", details: "Session replay", reference: "https://heap.io/pricing" },
+ heatmaps: { status: "strong", details: "Click heatmaps", reference: "https://heap.io/pricing" },
+ userProfiles: { status: "strong", details: "User profiles", reference: "https://heap.io/pricing" },
+ userJourneys: { status: "strong", details: "User paths", reference: "https://heap.io/pricing" },
+ attribution: { status: "strong", details: "Impact analysis", reference: "https://heap.io/pricing" },
+ abTesting: { status: "partial", details: "Basic testing", reference: "https://heap.io/pricing" },
+ featureFlags: { status: "none", details: "Not available", reference: "https://heap.io/pricing" },
+ experiments: { status: "partial", details: "Limited experiments", reference: "https://heap.io/pricing" },
statisticalAnalysis: {
+
status: "partial",
+
details: "Basic stats",
+
+ reference: "https://heap.io/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "10+ languages (JS, iOS, Android, etc.)",
+
+ reference: "https://developers.heap.io",
},
- apiAccess: { status: "strong", details: "REST API" },
- dataWarehouse: { status: "strong", details: "Data warehouse sync" },
- sqlAccess: { status: "strong", details: "SQL access" },
- documentation: { status: "strong", details: "Comprehensive docs" },
- gdprCompliant: { status: "strong", details: "GDPR compliant" },
- cookieless: { status: "partial", details: "Cookie-based" },
- dataResidency: { status: "partial", details: "US, EU" },
- anonymization: { status: "strong", details: "Data deletion" },
- compliance: { status: "strong", details: "SOC 2, GDPR" },
+ apiAccess: { status: "strong", details: "REST API", reference: "https://developers.heap.io" },
+ dataWarehouse: { status: "strong", details: "Data warehouse sync", reference: "https://heap.io/pricing" },
+ sqlAccess: { status: "strong", details: "SQL access", reference: "https://heap.io/pricing" },
+ documentation: { status: "strong", details: "Comprehensive docs", reference: "https://developers.heap.io" },
+ gdprCompliant: { status: "strong", details: "GDPR compliant", reference: "https://heap.io/privacy" },
+ cookieless: { status: "partial", details: "Cookie-based", reference: "https://heap.io/privacy" },
+ dataResidency: { status: "partial", details: "US, EU", reference: "https://heap.io/privacy" },
+ anonymization: { status: "strong", details: "Data deletion", reference: "https://heap.io/privacy" },
+ compliance: { status: "strong", details: "SOC 2, GDPR", reference: "https://heap.io/privacy" },
freeTier: {
+
status: "strong",
+
details: "Free: 10K sessions/month",
+
+ reference: "https://heap.io/pricing",
},
pricingModel: {
+
status: "strong",
+
details: "Growth: Starting at $3,600/year",
+
+ reference: "https://heap.io/pricing",
},
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Fully managed" },
- cdp: { status: "strong", details: "Segment, mParticle" },
- marketing: { status: "strong", details: "Salesforce, Marketo" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://heap.io/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only", reference: "https://heap.io/pricing" },
+ cloudHosted: { status: "strong", details: "Fully managed", reference: "https://heap.io/pricing" },
+ cdp: { status: "strong", details: "Segment, mParticle", reference: "https://heap.io/pricing" },
+ marketing: { status: "strong", details: "Salesforce, Marketo", reference: "https://heap.io/pricing" },
datatools: {
+
status: "strong",
+
details: "Snowflake, BigQuery, Redshift",
+
+ reference: "https://heap.io/pricing",
},
- webhooks: { status: "strong", details: "Webhooks" },
+ webhooks: { status: "strong", details: "Webhooks", reference: "https://heap.io/pricing" },
},
};
diff --git a/src/data/analytics/mixpanel.tsx b/src/data/analytics/mixpanel.tsx
index ab1758f..176da83 100644
--- a/src/data/analytics/mixpanel.tsx
+++ b/src/data/analytics/mixpanel.tsx
@@ -22,76 +22,228 @@ export const mixpanel: Provider = {
logo: ,
website: "https://mixpanel.com",
tagline: {
+
status: "strong",
+
details: "Product analytics for mobile and web applications",
+
+ reference: "",
},
features: {
- autoCapture: { status: "partial", details: "Limited auto-capture" },
+ autoCapture: {
+ status: "partial",
+ details: "Limited auto-capture",
+ reference: "https://mixpanel.com/pricing"
+ },
customEvents: {
status: "strong",
details: "Comprehensive event tracking",
+ reference: "https://mixpanel.com/pricing"
+ },
+ userProperties: {
+ status: "strong",
+ details: "User profiles & traits",
+ reference: "https://mixpanel.com/pricing"
+ },
+ groupAnalytics: {
+ status: "strong",
+ details: "Group analytics",
+ reference: "https://mixpanel.com/pricing"
},
- userProperties: { status: "strong", details: "User profiles & traits" },
- groupAnalytics: { status: "strong", details: "Group analytics" },
retroactiveAnalysis: {
status: "strong",
details: "Retroactive event definitions",
+ reference: "https://mixpanel.com/pricing"
+ },
+ funnels: {
+ status: "strong",
+ details: "Advanced funnel analysis",
+ reference: "https://mixpanel.com/pricing"
+ },
+ retention: {
+ status: "strong",
+ details: "Retention reports",
+ reference: "https://mixpanel.com/pricing"
+ },
+ cohorts: {
+ status: "strong",
+ details: "Behavioral cohorts",
+ reference: "https://mixpanel.com/pricing"
+ },
+ pathAnalysis: {
+ status: "strong",
+ details: "Flow analysis",
+ reference: "https://mixpanel.com/pricing"
+ },
+ trends: {
+ status: "strong",
+ details: "Trend analysis",
+ reference: "https://mixpanel.com/pricing"
+ },
+ dashboards: {
+ status: "strong",
+ details: "Custom dashboards",
+ reference: "https://mixpanel.com/pricing"
+ },
+ realtime: {
+ status: "strong",
+ details: "Live view",
+ reference: "https://mixpanel.com/pricing"
+ },
+ customReports: {
+ status: "strong",
+ details: "Custom reports",
+ reference: "https://mixpanel.com/pricing"
+ },
+ dataExploration: {
+ status: "strong",
+ details: "Visual exploration",
+ reference: "https://mixpanel.com/pricing"
+ },
+ alerts: {
+ status: "strong",
+ details: "Custom alerts",
+ reference: "https://mixpanel.com/pricing"
},
- funnels: { status: "strong", details: "Advanced funnel analysis" },
- retention: { status: "strong", details: "Retention reports" },
- cohorts: { status: "strong", details: "Behavioral cohorts" },
- pathAnalysis: { status: "strong", details: "Flow analysis" },
- trends: { status: "strong", details: "Trend analysis" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "strong", details: "Live view" },
- customReports: { status: "strong", details: "Custom reports" },
- dataExploration: { status: "strong", details: "Visual exploration" },
- alerts: { status: "strong", details: "Custom alerts" },
sessionReplay: {
status: "strong",
details: "10K replays/mo free, 20K on Growth plan",
+ reference: "https://mixpanel.com/pricing"
+ },
+ heatmaps: {
+ status: "none",
+ details: "Not available",
+ reference: "https://mixpanel.com/pricing"
+ },
+ userProfiles: {
+ status: "strong",
+ details: "User profiles",
+ reference: "https://mixpanel.com/pricing"
+ },
+ userJourneys: {
+ status: "strong",
+ details: "User flows",
+ reference: "https://mixpanel.com/pricing"
+ },
+ attribution: {
+ status: "strong",
+ details: "Impact analysis",
+ reference: "https://mixpanel.com/pricing"
+ },
+ abTesting: {
+ status: "none",
+ details: "Not built-in",
+ reference: "https://mixpanel.com/pricing"
+ },
+ featureFlags: {
+ status: "none",
+ details: "Not built-in",
+ reference: "https://mixpanel.com/pricing"
+ },
+ experiments: {
+ status: "none",
+ details: "Via third-party",
+ reference: "https://mixpanel.com/pricing"
},
- heatmaps: { status: "none", details: "Not available" },
- userProfiles: { status: "strong", details: "User profiles" },
- userJourneys: { status: "strong", details: "User flows" },
- attribution: { status: "strong", details: "Impact analysis" },
- abTesting: { status: "none", details: "Not built-in" },
- featureFlags: { status: "none", details: "Not built-in" },
- experiments: { status: "none", details: "Via third-party" },
statisticalAnalysis: {
status: "partial",
details: "Basic significance testing",
+ reference: "https://mixpanel.com/pricing"
},
sdkLanguages: {
status: "strong",
details: "20+ languages (JS, Python, Swift, etc.)",
+ reference: "https://docs.mixpanel.com/docs/sdks"
+ },
+ apiAccess: {
+ status: "strong",
+ details: "Data & query API",
+ reference: "https://developer.mixpanel.com/reference/overview"
},
- apiAccess: { status: "strong", details: "Data & query API" },
dataWarehouse: {
status: "strong",
details: "Data pipelines & exports",
+ reference: "https://docs.mixpanel.com/docs/data-pipelines/integrations"
+ },
+ sqlAccess: {
+ status: "strong",
+ details: "JQL (Mixpanel Query Language)",
+ reference: "https://docs.mixpanel.com/docs/data-pipelines/jql"
+ },
+ documentation: {
+ status: "strong",
+ details: "Comprehensive docs",
+ reference: "https://docs.mixpanel.com"
+ },
+ gdprCompliant: {
+ status: "strong",
+ details: "GDPR compliant",
+ reference: "https://mixpanel.com/legal/privacy-policy"
+ },
+ cookieless: {
+ status: "partial",
+ details: "Cookie-based default",
+ reference: "https://docs.mixpanel.com/docs/privacy/cookies"
+ },
+ dataResidency: {
+ status: "strong",
+ details: "US & EU data centers",
+ reference: "https://mixpanel.com/legal/privacy-policy"
+ },
+ anonymization: {
+ status: "strong",
+ details: "Data deletion tools",
+ reference: "https://docs.mixpanel.com/docs/privacy/user-privacy"
+ },
+ compliance: {
+ status: "strong",
+ details: "SOC 2, GDPR, CCPA",
+ reference: "https://mixpanel.com/legal/privacy-policy"
+ },
+ freeTier: {
+ status: "strong",
+ details: "Free up to 1M events/month",
+ reference: "https://mixpanel.com/pricing"
},
- sqlAccess: { status: "strong", details: "JQL (Mixpanel Query Language)" },
- documentation: { status: "strong", details: "Comprehensive docs" },
- gdprCompliant: { status: "strong", details: "GDPR compliant" },
- cookieless: { status: "partial", details: "Cookie-based default" },
- dataResidency: { status: "strong", details: "US & EU data centers" },
- anonymization: { status: "strong", details: "Data deletion tools" },
- compliance: { status: "strong", details: "SOC 2, GDPR, CCPA" },
- freeTier: { status: "strong", details: "Free up to 1M events/month" },
pricingModel: {
status: "strong",
details: "Growth: $0.28 per 1K events after 1M free",
+ reference: "https://mixpanel.com/pricing"
+ },
+ openSource: {
+ status: "none",
+ details: "Proprietary",
+ reference: "https://mixpanel.com"
+ },
+ selfHosted: {
+ status: "none",
+ details: "Cloud-only",
+ reference: "https://mixpanel.com/pricing"
+ },
+ cloudHosted: {
+ status: "strong",
+ details: "Fully managed SaaS",
+ reference: "https://mixpanel.com/pricing"
+ },
+ cdp: {
+ status: "strong",
+ details: "Segment, mParticle",
+ reference: "https://docs.mixpanel.com/docs/data-pipelines/integrations"
+ },
+ marketing: {
+ status: "strong",
+ details: "Salesforce, Marketo, Braze",
+ reference: "https://docs.mixpanel.com/docs/data-pipelines/integrations"
},
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Fully managed SaaS" },
- cdp: { status: "strong", details: "Segment, mParticle" },
- marketing: { status: "strong", details: "Salesforce, Marketo, Braze" },
datatools: {
status: "strong",
details: "Snowflake, BigQuery, Redshift",
+ reference: "https://docs.mixpanel.com/docs/data-pipelines/integrations"
+ },
+ webhooks: {
+ status: "strong",
+ details: "Webhooks available",
+ reference: "https://developer.mixpanel.com/reference/raw-data-export-api"
},
- webhooks: { status: "strong", details: "Webhooks available" },
},
};
diff --git a/src/data/analytics/pendo.tsx b/src/data/analytics/pendo.tsx
index 062a4c2..907f080 100644
--- a/src/data/analytics/pendo.tsx
+++ b/src/data/analytics/pendo.tsx
@@ -25,73 +25,105 @@ export const pendo: Provider = {
logo: ,
website: "https://pendo.io",
tagline: {
+
status: "strong",
+
details: "Product experience platform with analytics",
+
+ reference: "https://www.pendo.io/pricing",
},
features: {
autoCapture: {
+
status: "strong",
+
details: "Auto-capture all clicks",
+
+ reference: "https://www.pendo.io/pricing",
},
- customEvents: { status: "strong", details: "Track events & metadata" },
- userProperties: { status: "strong", details: "User metadata" },
- groupAnalytics: { status: "strong", details: "Account-level data" },
+ customEvents: { status: "strong", details: "Track events & metadata", reference: "https://www.pendo.io/pricing" },
+ userProperties: { status: "strong", details: "User metadata", reference: "https://www.pendo.io/pricing" },
+ groupAnalytics: { status: "strong", details: "Account-level data", reference: "https://www.pendo.io/pricing" },
retroactiveAnalysis: {
+
status: "strong",
+
details: "Define events retroactively",
+
+ reference: "https://www.pendo.io/pricing",
},
- funnels: { status: "strong", details: "Funnel analysis" },
- retention: { status: "strong", details: "Retention reports" },
- cohorts: { status: "strong", details: "Segments" },
- pathAnalysis: { status: "strong", details: "Path analysis" },
- trends: { status: "strong", details: "Usage trends" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "partial", details: "Near real-time" },
- customReports: { status: "strong", details: "Report builder" },
- dataExploration: { status: "strong", details: "Pendo Analyze" },
- alerts: { status: "partial", details: "Basic alerts" },
- sessionReplay: { status: "strong", details: "Session replay" },
- heatmaps: { status: "strong", details: "Page heatmaps" },
- userProfiles: { status: "strong", details: "Visitor profiles" },
- userJourneys: { status: "strong", details: "User paths" },
- attribution: { status: "partial", details: "Feature adoption" },
- abTesting: { status: "partial", details: "Guide experiments" },
- featureFlags: { status: "none", details: "Not available" },
- experiments: { status: "partial", details: "Limited testing" },
+ funnels: { status: "strong", details: "Funnel analysis", reference: "https://www.pendo.io/pricing" },
+ retention: { status: "strong", details: "Retention reports", reference: "https://www.pendo.io/pricing" },
+ cohorts: { status: "strong", details: "Segments", reference: "https://www.pendo.io/pricing" },
+ pathAnalysis: { status: "strong", details: "Path analysis", reference: "https://www.pendo.io/pricing" },
+ trends: { status: "strong", details: "Usage trends", reference: "https://www.pendo.io/pricing" },
+ dashboards: { status: "strong", details: "Custom dashboards", reference: "https://www.pendo.io/pricing" },
+ realtime: { status: "partial", details: "Near real-time", reference: "https://www.pendo.io/pricing" },
+ customReports: { status: "strong", details: "Report builder", reference: "https://www.pendo.io/pricing" },
+ dataExploration: { status: "strong", details: "Pendo Analyze", reference: "https://www.pendo.io/pricing" },
+ alerts: { status: "partial", details: "Basic alerts", reference: "https://www.pendo.io/pricing" },
+ sessionReplay: { status: "strong", details: "Session replay", reference: "https://www.pendo.io/pricing" },
+ heatmaps: { status: "strong", details: "Page heatmaps", reference: "https://www.pendo.io/pricing" },
+ userProfiles: { status: "strong", details: "Visitor profiles", reference: "https://www.pendo.io/pricing" },
+ userJourneys: { status: "strong", details: "User paths", reference: "https://www.pendo.io/pricing" },
+ attribution: { status: "partial", details: "Feature adoption", reference: "https://www.pendo.io/pricing" },
+ abTesting: { status: "partial", details: "Guide experiments", reference: "https://www.pendo.io/pricing" },
+ featureFlags: { status: "none", details: "Not available", reference: "https://www.pendo.io/pricing" },
+ experiments: { status: "partial", details: "Limited testing", reference: "https://www.pendo.io/pricing" },
statisticalAnalysis: {
+
status: "partial",
+
details: "Basic stats",
+
+ reference: "https://www.pendo.io/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "JS, iOS, Android, React Native",
+
+ reference: "https://support.pendo.io",
},
- apiAccess: { status: "strong", details: "REST API" },
+ apiAccess: { status: "strong", details: "REST API", reference: "https://support.pendo.io" },
dataWarehouse: {
+
status: "strong",
+
details: "Data Sync to warehouse",
+
+ reference: "https://www.pendo.io/pricing",
},
- sqlAccess: { status: "none", details: "Not available" },
- documentation: { status: "strong", details: "Detailed docs" },
- gdprCompliant: { status: "strong", details: "GDPR compliant" },
- cookieless: { status: "partial", details: "Cookie-based" },
- dataResidency: { status: "partial", details: "US, EU" },
- anonymization: { status: "strong", details: "Data deletion" },
- compliance: { status: "strong", details: "SOC 2, GDPR" },
- freeTier: { status: "strong", details: "Starter: Free up to 500 MAUs" },
+ sqlAccess: { status: "none", details: "Not available", reference: "https://www.pendo.io/pricing" },
+ documentation: { status: "strong", details: "Detailed docs", reference: "https://support.pendo.io" },
+ gdprCompliant: { status: "strong", details: "GDPR compliant", reference: "https://www.pendo.io/legal/privacy-policy" },
+ cookieless: { status: "partial", details: "Cookie-based", reference: "https://www.pendo.io/legal/privacy-policy" },
+ dataResidency: { status: "partial", details: "US, EU", reference: "https://www.pendo.io/legal/privacy-policy" },
+ anonymization: { status: "strong", details: "Data deletion", reference: "https://www.pendo.io/legal/privacy-policy" },
+ compliance: { status: "strong", details: "SOC 2, GDPR", reference: "https://www.pendo.io/legal/privacy-policy" },
+ freeTier: { status: "strong", details: "Starter: Free up to 500 MAUs", reference: "https://www.pendo.io/pricing" },
pricingModel: {
+
status: "strong",
+
details: "Growth: Starting at $7,000/year",
+
+ reference: "https://www.pendo.io/pricing",
},
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Fully managed" },
- cdp: { status: "partial", details: "Limited integrations" },
- marketing: { status: "partial", details: "Salesforce, HubSpot" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://www.pendo.io/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only", reference: "https://www.pendo.io/pricing" },
+ cloudHosted: { status: "strong", details: "Fully managed", reference: "https://www.pendo.io/pricing" },
+ cdp: { status: "partial", details: "Limited integrations", reference: "https://www.pendo.io/pricing" },
+ marketing: { status: "partial", details: "Salesforce, HubSpot", reference: "https://www.pendo.io/pricing" },
datatools: {
+
status: "strong",
+
details: "Snowflake, BigQuery, Redshift",
+
+ reference: "https://www.pendo.io/pricing",
},
- webhooks: { status: "strong", details: "Webhooks" },
+ webhooks: { status: "strong", details: "Webhooks", reference: "https://www.pendo.io/pricing" },
},
};
diff --git a/src/data/analytics/plausible.tsx b/src/data/analytics/plausible.tsx
index bd9df1f..afe1dc3 100644
--- a/src/data/analytics/plausible.tsx
+++ b/src/data/analytics/plausible.tsx
@@ -26,67 +26,91 @@ export const plausible: Provider = {
logo: ,
website: "https://plausible.io",
tagline: {
+
status: "strong",
+
details: "Privacy-first, lightweight analytics",
+
+ reference: "https://plausible.io/pricing",
},
features: {
- autoCapture: { status: "strong", details: "Auto-capture pageviews" },
- customEvents: { status: "strong", details: "Custom events" },
- userProperties: { status: "none", details: "Not available" },
- groupAnalytics: { status: "none", details: "Not available" },
+ autoCapture: { status: "strong", details: "Auto-capture pageviews", reference: "https://plausible.io/pricing" },
+ customEvents: { status: "strong", details: "Custom events", reference: "https://plausible.io/pricing" },
+ userProperties: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ groupAnalytics: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
retroactiveAnalysis: {
+
status: "none",
+
details: "Not available",
+
+ reference: "https://plausible.io/pricing",
},
- funnels: { status: "strong", details: "Funnel analysis" },
- retention: { status: "none", details: "Not available" },
- cohorts: { status: "none", details: "Not available" },
- pathAnalysis: { status: "none", details: "Not available" },
- trends: { status: "strong", details: "Traffic trends" },
- dashboards: { status: "strong", details: "Single dashboard" },
- realtime: { status: "strong", details: "Real-time visitors" },
- customReports: { status: "partial", details: "Saved filters" },
+ funnels: { status: "strong", details: "Funnel analysis", reference: "https://plausible.io/pricing" },
+ retention: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ cohorts: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ pathAnalysis: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ trends: { status: "strong", details: "Traffic trends", reference: "https://plausible.io/pricing" },
+ dashboards: { status: "strong", details: "Single dashboard", reference: "https://plausible.io/pricing" },
+ realtime: { status: "strong", details: "Real-time visitors", reference: "https://plausible.io/pricing" },
+ customReports: { status: "partial", details: "Saved filters", reference: "https://plausible.io/pricing" },
dataExploration: {
+
status: "partial",
+
details: "Simple filtering",
+
+ reference: "https://plausible.io/pricing",
},
- alerts: { status: "strong", details: "Traffic spike alerts" },
- sessionReplay: { status: "none", details: "Not available" },
- heatmaps: { status: "none", details: "Not available" },
- userProfiles: { status: "none", details: "Not available" },
- userJourneys: { status: "none", details: "Not available" },
- attribution: { status: "strong", details: "UTM tracking" },
- abTesting: { status: "none", details: "Not available" },
- featureFlags: { status: "none", details: "Not available" },
- experiments: { status: "none", details: "Not available" },
+ alerts: { status: "strong", details: "Traffic spike alerts", reference: "https://plausible.io/pricing" },
+ sessionReplay: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ heatmaps: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ userProfiles: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ userJourneys: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ attribution: { status: "strong", details: "UTM tracking", reference: "https://plausible.io/pricing" },
+ abTesting: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ featureFlags: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ experiments: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
statisticalAnalysis: {
+
status: "none",
+
details: "Not available",
+
+ reference: "https://plausible.io/pricing",
},
sdkLanguages: {
+
status: "partial",
+
details: "JS script + community SDKs",
+
+ reference: "https://plausible.io/docs",
},
- apiAccess: { status: "strong", details: "Stats & Events API" },
- dataWarehouse: { status: "none", details: "Not available" },
- sqlAccess: { status: "none", details: "Not available" },
- documentation: { status: "strong", details: "Clear docs" },
- gdprCompliant: { status: "strong", details: "GDPR by default" },
- cookieless: { status: "strong", details: "Cookieless tracking" },
- dataResidency: { status: "strong", details: "EU, US options" },
- anonymization: { status: "strong", details: "No PII collected" },
- compliance: { status: "strong", details: "GDPR, CCPA, PECR" },
- freeTier: { status: "none", details: "No free tier" },
+ apiAccess: { status: "strong", details: "Stats & Events API", reference: "https://plausible.io/docs" },
+ dataWarehouse: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ sqlAccess: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ documentation: { status: "strong", details: "Clear docs", reference: "https://plausible.io/docs" },
+ gdprCompliant: { status: "strong", details: "GDPR by default", reference: "https://plausible.io/privacy" },
+ cookieless: { status: "strong", details: "Cookieless tracking", reference: "https://plausible.io/privacy" },
+ dataResidency: { status: "strong", details: "EU, US options", reference: "https://plausible.io/privacy" },
+ anonymization: { status: "strong", details: "No PII collected", reference: "https://plausible.io/privacy" },
+ compliance: { status: "strong", details: "GDPR, CCPA, PECR", reference: "https://plausible.io/privacy" },
+ freeTier: { status: "none", details: "No free tier", reference: "https://plausible.io/pricing" },
pricingModel: {
+
status: "strong",
+
details: "$9/mo for 10K pageviews",
+
+ reference: "https://plausible.io/pricing",
},
- openSource: { status: "strong", details: "AGPLv3 license" },
- selfHosted: { status: "strong", details: "Self-hosted option" },
- cloudHosted: { status: "strong", details: "Managed cloud" },
- cdp: { status: "none", details: "Not available" },
- marketing: { status: "partial", details: "Limited integrations" },
- datatools: { status: "none", details: "Not available" },
- webhooks: { status: "none", details: "Not available" },
+ openSource: { status: "strong", details: "AGPLv3 license", reference: "https://plausible.io/pricing" },
+ selfHosted: { status: "strong", details: "Self-hosted option", reference: "https://plausible.io/pricing" },
+ cloudHosted: { status: "strong", details: "Managed cloud", reference: "https://plausible.io/pricing" },
+ cdp: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ marketing: { status: "partial", details: "Limited integrations", reference: "https://plausible.io/pricing" },
+ datatools: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
+ webhooks: { status: "none", details: "Not available", reference: "https://plausible.io/pricing" },
},
};
diff --git a/src/data/analytics/posthog.tsx b/src/data/analytics/posthog.tsx
index 846dbd1..ce4c33f 100644
--- a/src/data/analytics/posthog.tsx
+++ b/src/data/analytics/posthog.tsx
@@ -27,97 +27,161 @@ export const posthog: Provider = {
logo: ,
website: "https://posthog.com",
tagline: {
+
status: "strong",
+
details: "All-in-one product OS with analytics, session replay, and more",
+
+ reference: "https://posthog.com/pricing",
},
features: {
autoCapture: {
+
status: "strong",
+
details: "Automatic event capture without code",
+
+ reference: "https://posthog.com/pricing",
},
- customEvents: { status: "strong", details: "Custom event tracking" },
- userProperties: { status: "strong", details: "User properties & traits" },
+ customEvents: { status: "strong", details: "Custom event tracking", reference: "https://posthog.com/pricing" },
+ userProperties: { status: "strong", details: "User properties & traits", reference: "https://posthog.com/pricing" },
groupAnalytics: {
+
status: "strong",
+
details: "Group analytics for B2B",
+
+ reference: "https://posthog.com/pricing",
},
retroactiveAnalysis: {
+
status: "strong",
+
details: "Query historical data retroactively",
+
+ reference: "https://posthog.com/pricing",
},
- funnels: { status: "strong", details: "Conversion funnels" },
- retention: { status: "strong", details: "Retention analysis" },
- cohorts: { status: "strong", details: "User cohorts" },
- pathAnalysis: { status: "strong", details: "User path analysis" },
- trends: { status: "strong", details: "Trend analysis" },
- dashboards: { status: "strong", details: "Custom dashboards" },
- realtime: { status: "strong", details: "Real-time analytics" },
- customReports: { status: "strong", details: "Custom insights" },
+ funnels: { status: "strong", details: "Conversion funnels", reference: "https://posthog.com/pricing" },
+ retention: { status: "strong", details: "Retention analysis", reference: "https://posthog.com/pricing" },
+ cohorts: { status: "strong", details: "User cohorts", reference: "https://posthog.com/pricing" },
+ pathAnalysis: { status: "strong", details: "User path analysis", reference: "https://posthog.com/pricing" },
+ trends: { status: "strong", details: "Trend analysis", reference: "https://posthog.com/pricing" },
+ dashboards: { status: "strong", details: "Custom dashboards", reference: "https://posthog.com/pricing" },
+ realtime: { status: "strong", details: "Real-time analytics", reference: "https://posthog.com/pricing" },
+ customReports: { status: "strong", details: "Custom insights", reference: "https://posthog.com/pricing" },
dataExploration: {
+
status: "strong",
+
details: "SQL and visual exploration",
+
+ reference: "https://posthog.com/pricing",
},
- alerts: { status: "partial", details: "Basic alerts" },
+ alerts: { status: "partial", details: "Basic alerts", reference: "https://posthog.com/pricing" },
sessionReplay: {
+
status: "strong",
+
details: "Full session replay with console logs",
+
+ reference: "https://posthog.com/pricing",
},
- heatmaps: { status: "strong", details: "Heatmaps & clickmaps" },
- userProfiles: { status: "strong", details: "Individual user profiles" },
- userJourneys: { status: "strong", details: "User journey tracking" },
- attribution: { status: "partial", details: "Basic attribution" },
- abTesting: { status: "strong", details: "A/B testing built-in" },
- featureFlags: { status: "strong", details: "Feature flags included" },
+ heatmaps: { status: "strong", details: "Heatmaps & clickmaps", reference: "https://posthog.com/pricing" },
+ userProfiles: { status: "strong", details: "Individual user profiles", reference: "https://posthog.com/pricing" },
+ userJourneys: { status: "strong", details: "User journey tracking", reference: "https://posthog.com/pricing" },
+ attribution: { status: "partial", details: "Basic attribution", reference: "https://posthog.com/pricing" },
+ abTesting: { status: "strong", details: "A/B testing built-in", reference: "https://posthog.com/pricing" },
+ featureFlags: { status: "strong", details: "Feature flags included", reference: "https://posthog.com/pricing" },
experiments: {
+
status: "strong",
+
details: "Full experimentation platform",
+
+ reference: "https://posthog.com/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Bayesian & frequentist stats",
+
+ reference: "https://posthog.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "15+ languages (JS, Python, Go, PHP, etc.)",
+
+ reference: "https://posthog.com/docs",
},
- apiAccess: { status: "strong", details: "Full REST API" },
+ apiAccess: { status: "strong", details: "Full REST API", reference: "https://posthog.com/docs" },
dataWarehouse: {
+
status: "strong",
+
details: "Export to Snowflake, BigQuery",
+
+ reference: "https://posthog.com/pricing",
},
- sqlAccess: { status: "strong", details: "SQL query interface" },
- documentation: { status: "strong", details: "Excellent documentation" },
- gdprCompliant: { status: "strong", details: "GDPR compliant" },
+ sqlAccess: { status: "strong", details: "SQL query interface", reference: "https://posthog.com/pricing" },
+ documentation: { status: "strong", details: "Excellent documentation", reference: "https://posthog.com/docs" },
+ gdprCompliant: { status: "strong", details: "GDPR compliant", reference: "https://posthog.com/privacy" },
cookieless: {
+
status: "partial",
+
details: "Cookie-based by default, can configure",
+
+ reference: "https://posthog.com/privacy",
},
- dataResidency: { status: "strong", details: "US & EU regions" },
- anonymization: { status: "strong", details: "Data anonymization" },
- compliance: { status: "strong", details: "SOC 2, GDPR" },
- freeTier: { status: "strong", details: "1M events/month free" },
+ dataResidency: { status: "strong", details: "US & EU regions", reference: "https://posthog.com/privacy" },
+ anonymization: { status: "strong", details: "Data anonymization", reference: "https://posthog.com/privacy" },
+ compliance: { status: "strong", details: "SOC 2, GDPR", reference: "https://posthog.com/privacy" },
+ freeTier: { status: "strong", details: "1M events/month free", reference: "https://posthog.com/pricing" },
pricingModel: {
+
status: "strong",
+
details: "Pay-as-you-go per event ($0.00005/event)",
+
+ reference: "https://posthog.com/pricing",
},
- openSource: { status: "strong", details: "MIT license" },
+ openSource: { status: "strong", details: "MIT license", reference: "https://posthog.com/pricing" },
selfHosted: {
+
status: "strong",
+
details: "Docker/Kubernetes self-host",
+
+ reference: "https://posthog.com/pricing",
},
- cloudHosted: { status: "strong", details: "PostHog Cloud (US & EU)" },
+ cloudHosted: { status: "strong", details: "PostHog Cloud (US & EU)", reference: "https://posthog.com/pricing" },
cdp: {
+
status: "strong",
+
details: "Segment, RudderStack integration",
+
+ reference: "https://posthog.com/pricing",
},
marketing: {
+
status: "strong",
+
details: "Hubspot, Salesforce, Intercom",
+
+ reference: "https://posthog.com/pricing",
},
datatools: {
+
status: "strong",
+
details: "Snowflake, BigQuery, S3",
+
+ reference: "https://posthog.com/pricing",
},
- webhooks: { status: "strong", details: "Webhooks & actions" },
+ webhooks: { status: "strong", details: "Webhooks & actions", reference: "https://posthog.com/pricing" },
},
};
diff --git a/src/data/analytics/segment.tsx b/src/data/analytics/segment.tsx
index cb678b6..0ee5e93 100644
--- a/src/data/analytics/segment.tsx
+++ b/src/data/analytics/segment.tsx
@@ -24,79 +24,119 @@ export const segment: Provider = {
logo: ,
website: "https://segment.com",
tagline: {
+
status: "strong",
+
details: "Customer data platform with analytics",
+
+ reference: "https://segment.com/pricing",
},
features: {
- autoCapture: { status: "none", details: "Manual tracking" },
- customEvents: { status: "strong", details: "Track, identify, page" },
- userProperties: { status: "strong", details: "User traits" },
- groupAnalytics: { status: "strong", details: "Group calls" },
+ autoCapture: { status: "none", details: "Manual tracking", reference: "https://segment.com/pricing" },
+ customEvents: { status: "strong", details: "Track, identify, page", reference: "https://segment.com/pricing" },
+ userProperties: { status: "strong", details: "User traits", reference: "https://segment.com/pricing" },
+ groupAnalytics: { status: "strong", details: "Group calls", reference: "https://segment.com/pricing" },
retroactiveAnalysis: {
+
status: "none",
+
details: "Not available",
+
+ reference: "https://segment.com/pricing",
},
- funnels: { status: "partial", details: "Via destinations" },
- retention: { status: "partial", details: "Via destinations" },
- cohorts: { status: "partial", details: "Via destinations" },
- pathAnalysis: { status: "none", details: "Not available" },
- trends: { status: "partial", details: "Via destinations" },
- dashboards: { status: "partial", details: "Limited built-in" },
- realtime: { status: "strong", details: "Real-time streaming" },
- customReports: { status: "partial", details: "Via destinations" },
+ funnels: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ retention: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ cohorts: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ pathAnalysis: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ trends: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ dashboards: { status: "partial", details: "Limited built-in", reference: "https://segment.com/pricing" },
+ realtime: { status: "strong", details: "Real-time streaming", reference: "https://segment.com/pricing" },
+ customReports: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
dataExploration: {
+
status: "partial",
+
details: "Limited (focus on CDP)",
+
+ reference: "https://segment.com/pricing",
},
- alerts: { status: "partial", details: "Data quality alerts" },
- sessionReplay: { status: "none", details: "Not available" },
- heatmaps: { status: "none", details: "Not available" },
- userProfiles: { status: "strong", details: "Unified profiles" },
- userJourneys: { status: "partial", details: "Via destinations" },
- attribution: { status: "partial", details: "Via destinations" },
- abTesting: { status: "none", details: "Not available" },
- featureFlags: { status: "none", details: "Not available" },
- experiments: { status: "none", details: "Not available" },
+ alerts: { status: "partial", details: "Data quality alerts", reference: "https://segment.com/pricing" },
+ sessionReplay: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ heatmaps: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ userProfiles: { status: "strong", details: "Unified profiles", reference: "https://segment.com/pricing" },
+ userJourneys: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ attribution: { status: "partial", details: "Via destinations", reference: "https://segment.com/pricing" },
+ abTesting: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ featureFlags: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ experiments: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
statisticalAnalysis: {
+
status: "none",
+
details: "Not available",
+
+ reference: "https://segment.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "20+ languages (JS, iOS, Android, etc.)",
+
+ reference: "https://segment.com/docs",
},
- apiAccess: { status: "strong", details: "HTTP Tracking API" },
+ apiAccess: { status: "strong", details: "HTTP Tracking API", reference: "https://segment.com/docs" },
dataWarehouse: {
+
status: "strong",
+
details: "Warehouses as destinations",
+
+ reference: "https://segment.com/pricing",
},
- sqlAccess: { status: "none", details: "Not available" },
- documentation: { status: "strong", details: "Extensive docs" },
- gdprCompliant: { status: "strong", details: "GDPR tools" },
- cookieless: { status: "partial", details: "Cookie-based" },
- dataResidency: { status: "strong", details: "Multi-region" },
- anonymization: { status: "strong", details: "User deletion API" },
- compliance: { status: "strong", details: "SOC 2, GDPR, HIPAA" },
+ sqlAccess: { status: "none", details: "Not available", reference: "https://segment.com/pricing" },
+ documentation: { status: "strong", details: "Extensive docs", reference: "https://segment.com/docs" },
+ gdprCompliant: { status: "strong", details: "GDPR tools", reference: "https://segment.com/legal/privacy" },
+ cookieless: { status: "partial", details: "Cookie-based", reference: "https://segment.com/legal/privacy" },
+ dataResidency: { status: "strong", details: "Multi-region", reference: "https://segment.com/legal/privacy" },
+ anonymization: { status: "strong", details: "User deletion API", reference: "https://segment.com/legal/privacy" },
+ compliance: { status: "strong", details: "SOC 2, GDPR, HIPAA", reference: "https://segment.com/legal/privacy" },
freeTier: {
+
status: "strong",
+
details: "Free: 1K MTUs, 2 sources",
+
+ reference: "https://segment.com/pricing",
},
pricingModel: {
+
status: "strong",
+
details: "Team: $120/mo for 10K MTUs",
+
+ reference: "https://segment.com/pricing",
},
- openSource: { status: "partial", details: "Open-source libraries" },
- selfHosted: { status: "none", details: "Cloud-only" },
- cloudHosted: { status: "strong", details: "Fully managed" },
- cdp: { status: "strong", details: "Core CDP platform" },
+ openSource: { status: "partial", details: "Open-source libraries", reference: "https://segment.com/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only", reference: "https://segment.com/pricing" },
+ cloudHosted: { status: "strong", details: "Fully managed", reference: "https://segment.com/pricing" },
+ cdp: { status: "strong", details: "Core CDP platform", reference: "https://segment.com/pricing" },
marketing: {
+
status: "strong",
+
details: "450+ destinations",
+
+ reference: "https://segment.com/pricing",
},
datatools: {
+
status: "strong",
+
details: "All major warehouses",
+
+ reference: "https://segment.com/pricing",
},
- webhooks: { status: "strong", details: "Webhooks destination" },
+ webhooks: { status: "strong", details: "Webhooks destination", reference: "https://segment.com/pricing" },
},
};
diff --git a/src/data/auth/auth0.tsx b/src/data/auth/auth0.tsx
index cab2433..1210f6c 100644
--- a/src/data/auth/auth0.tsx
+++ b/src/data/auth/auth0.tsx
@@ -19,88 +19,163 @@ export const auth0: Provider = {
logo: ,
website: "https://auth0.com",
tagline: {
+
status: "strong",
- details:
- "Easy to implement, adaptable authentication and authorization platform",
+
+ details: "Easy to implement, adaptable authentication and authorization platform",
+
+ reference: "https://auth0.com/pricing",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Email + password with verification",
+
+ reference: "https://auth0.com/pricing",
},
- passwordless: { status: "strong", details: "Email, SMS magic links" },
+ passwordless: { status: "strong", details: "Email, SMS magic links", reference: "https://auth0.com/pricing" },
socialLogins: {
+
status: "strong",
+
details: "30+ providers including all major platforms",
+
+ reference: "https://auth0.com/pricing",
},
enterpriseSSO: {
+
status: "strong",
+
details: "SAML, OIDC, AD, LDAP (Professional+)",
+
+ reference: "https://auth0.com/pricing",
},
- passkeys: { status: "strong", details: "WebAuthn/FIDO2 biometric auth" },
- mfa: { status: "strong", details: "SMS, TOTP, Email, Push, WebAuthn" },
+ passkeys: { status: "strong", details: "WebAuthn/FIDO2 biometric auth", reference: "https://auth0.com/pricing" },
+ mfa: { status: "strong", details: "SMS, TOTP, Email, Push, WebAuthn", reference: "https://auth0.com/pricing" },
rbac: {
+
status: "strong",
+
details: "Core RBAC (Professional+), fine-grained permissions",
+
+ reference: "https://auth0.com/pricing",
},
userProfiles: {
+
status: "strong",
+
details: "Customizable with metadata & progressive profiling",
+
+ reference: "https://auth0.com/pricing",
},
organizations: {
+
status: "strong",
+
details: "B2B organizations (Professional+)",
+
+ reference: "https://auth0.com/pricing",
},
frontendSDKs: {
+
status: "strong",
+
details: "React, Angular, Vue, iOS, Android, many more",
+
+ reference: "https://auth0.com/docs",
},
prebuiltUI: {
+
status: "strong",
+
details: "Universal Login with customizable Lock widget",
+
+ reference: "https://auth0.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Comprehensive docs with quickstarts",
+
+ reference: "https://auth0.com/docs",
},
- apiApproach: { status: "strong", details: "REST API + Management API" },
+ apiApproach: { status: "strong", details: "REST API + Management API", reference: "https://auth0.com/docs" },
sessionManagement: {
+
status: "strong",
+
details: "Refresh tokens, SSO sessions, device tracking",
+
+ reference: "https://auth0.com/pricing",
},
jwtSupport: {
+
status: "strong",
+
details: "JWTs with custom claims & namespacing",
+
+ reference: "https://auth0.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2 Type II, ISO 27001, GDPR, HIPAA",
+
+ reference: "https://auth0.com/privacy",
},
rateLimiting: {
+
status: "strong",
+
details: "Configurable rate limits & anomaly detection",
+
+ reference: "https://auth0.com/pricing",
},
- freeTier: { status: "strong", details: "7,500 MAU" },
+ freeTier: { status: "strong", details: "7,500 MAU", reference: "https://auth0.com/pricing" },
paidPricing: {
+
status: "strong",
+
details: "$35/mo (Essentials), $240/mo (Professional)",
+
+ reference: "https://auth0.com/pricing",
},
- openSource: { status: "none", details: "Proprietary" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://auth0.com/pricing" },
selfHosted: {
+
status: "none",
+
details: "Cloud-only (Private Cloud available)",
+
+ reference: "https://auth0.com/pricing",
},
oauthProviders: {
+
status: "strong",
+
details: "30+ social + enterprise connections",
+
+ reference: "https://auth0.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Log streams & webhooks (Professional+)",
+
+ reference: "https://auth0.com/pricing",
},
thirdPartyIntegrations: {
+
status: "strong",
+
details: "Extensive marketplace with 100+ integrations",
+
+ reference: "https://auth0.com/pricing",
},
},
};
diff --git a/src/data/auth/authjs.tsx b/src/data/auth/authjs.tsx
index bf22c8a..b051d20 100644
--- a/src/data/auth/authjs.tsx
+++ b/src/data/auth/authjs.tsx
@@ -19,96 +19,184 @@ export const authjs: Provider = {
logo: ,
website: "https://authjs.dev",
tagline: {
+
status: "strong",
+
details: "Free and open source authentication for the web",
+
+ reference: "https://authjs.dev",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Credentials provider with custom logic",
+
+ reference: "https://authjs.dev",
},
- passwordless: { status: "strong", details: "Email magic links built-in" },
+ passwordless: { status: "strong", details: "Email magic links built-in", reference: "https://authjs.dev" },
socialLogins: {
+
status: "strong",
+
details: "80+ built-in OAuth providers",
+
+ reference: "https://authjs.dev",
},
enterpriseSSO: {
+
status: "partial",
+
details: "Via custom providers (SAML, OIDC possible)",
+
+ reference: "https://authjs.dev",
},
passkeys: {
+
status: "partial",
+
details: "Via SimpleWebAuthn or custom implementation",
+
+ reference: "https://authjs.dev",
},
mfa: {
+
status: "partial",
+
details: "Custom implementation via callbacks",
+
+ reference: "https://authjs.dev",
},
rbac: {
+
status: "partial",
+
details: "Build your own with session callbacks",
+
+ reference: "https://authjs.dev",
},
userProfiles: {
+
status: "partial",
+
details: "Store in your own database",
+
+ reference: "https://authjs.dev",
},
organizations: {
+
status: "partial",
+
details: "Build your own with custom logic",
+
+ reference: "https://authjs.dev",
},
frontendSDKs: {
+
status: "strong",
+
details: "Next.js, SvelteKit, SolidStart, Express",
+
+ reference: "https://authjs.dev/getting-started/introduction",
},
prebuiltUI: {
+
status: "partial",
+
details: "Basic sign-in pages (customizable)",
+
+ reference: "https://authjs.dev",
},
documentation: {
+
status: "strong",
+
details: "Good docs with many examples",
+
+ reference: "https://authjs.dev/getting-started/introduction",
},
apiApproach: {
+
status: "strong",
+
details: "Framework-integrated API routes",
+
+ reference: "https://authjs.dev/getting-started/introduction",
},
sessionManagement: {
+
status: "strong",
+
details: "JWT or database sessions with rotation",
+
+ reference: "https://authjs.dev",
},
jwtSupport: {
+
status: "strong",
+
details: "JWT with custom claims via callbacks",
+
+ reference: "https://authjs.dev",
},
compliance: {
+
status: "partial",
+
details: "Your responsibility (self-hosted)",
+
+ reference: "https://authjs.dev",
},
rateLimiting: {
+
status: "partial",
+
details: "Implement via middleware or proxies",
+
+ reference: "https://authjs.dev",
},
freeTier: {
+
status: "strong",
+
details: "Unlimited (self-hosted, open source)",
+
+ reference: "https://authjs.dev",
},
- paidPricing: { status: "none", details: "Free forever" },
- openSource: { status: "strong", details: "ISC License (MIT-compatible)" },
+ paidPricing: { status: "none", details: "Free forever", reference: "https://authjs.dev" },
+ openSource: { status: "strong", details: "ISC License (MIT-compatible)", reference: "https://authjs.dev" },
selfHosted: {
+
status: "strong",
+
details: "Required (runs on your infrastructure)",
+
+ reference: "https://authjs.dev",
},
oauthProviders: {
+
status: "strong",
+
details: "80+ providers (Google, GitHub, Apple, etc.)",
+
+ reference: "https://authjs.dev",
},
webhooks: {
+
status: "partial",
+
details: "Build your own with event callbacks",
+
+ reference: "https://authjs.dev",
},
thirdPartyIntegrations: {
+
status: "partial",
+
details: "Community adapters for various databases",
+
+ reference: "https://authjs.dev",
},
},
};
diff --git a/src/data/auth/clerk.tsx b/src/data/auth/clerk.tsx
index 4d1a77d..45adcf2 100644
--- a/src/data/auth/clerk.tsx
+++ b/src/data/auth/clerk.tsx
@@ -27,91 +27,170 @@ export const clerk: Provider = {
logo: ,
website: "https://clerk.com",
tagline: {
+
status: "strong",
- details:
- "Complete user management - authentication, profiles, and organizations",
+
+ details: "Complete user management - authentication, profiles, and organizations",
+
+ reference: "https://clerk.com/pricing",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Email + password with verification",
+
+ reference: "https://clerk.com/pricing",
},
passwordless: {
+
status: "strong",
+
details: "Email magic links & verification codes",
+
+ reference: "https://clerk.com/pricing",
},
socialLogins: {
+
status: "strong",
+
details: "Google, GitHub, Microsoft, Apple, 20+ providers",
+
+ reference: "https://clerk.com/pricing",
},
enterpriseSSO: {
+
status: "strong",
+
details: "SAML & OIDC (Enhanced Auth $100/mo addon)",
+
+ reference: "https://clerk.com/pricing",
},
passkeys: {
+
status: "strong",
+
details: "WebAuthn/FIDO2 (Enhanced Auth $100/mo addon)",
+
+ reference: "https://clerk.com/pricing",
},
mfa: {
+
status: "strong",
+
details: "SMS, TOTP, Backup codes (Enhanced Auth $100/mo addon)",
+
+ reference: "https://clerk.com/pricing",
},
rbac: {
+
status: "strong",
+
details: "Custom roles & permissions (Enhanced Auth $100/mo addon)",
+
+ reference: "https://clerk.com/pricing",
},
userProfiles: {
+
status: "strong",
+
details: "Customizable with metadata fields",
+
+ reference: "https://clerk.com/pricing",
},
organizations: {
+
status: "strong",
+
details: "Built-in teams with invitations",
+
+ reference: "https://clerk.com/pricing",
},
frontendSDKs: {
+
status: "strong",
+
details: "React, Next.js, Remix, Gatsby, Vue, Svelte",
+
+ reference: "https://clerk.com/docs",
},
prebuiltUI: {
+
status: "strong",
+
details: "Fully customizable components & themes",
+
+ reference: "https://clerk.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Excellent docs with tutorials & examples",
+
+ reference: "https://clerk.com/docs",
},
apiApproach: {
+
status: "strong",
+
details: "REST API + SDKs with TypeScript support",
+
+ reference: "https://clerk.com/docs",
},
sessionManagement: {
+
status: "strong",
+
details: "Customizable duration & refresh tokens",
+
+ reference: "https://clerk.com/pricing",
},
- jwtSupport: { status: "strong", details: "JWTs with custom claims" },
+ jwtSupport: { status: "strong", details: "JWTs with custom claims", reference: "https://clerk.com/pricing" },
compliance: {
+
status: "strong",
+
details: "SOC 2 Type II, GDPR, HIPAA (Enterprise)",
+
+ reference: "https://clerk.com/legal/privacy",
},
rateLimiting: {
+
status: "strong",
+
details: "Built-in DDoS & bot protection",
+
+ reference: "https://clerk.com/pricing",
},
- freeTier: { status: "strong", details: "10,000 MAU" },
- paidPricing: { status: "strong", details: "$25/mo + $0.02/MAU" },
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only SaaS" },
+ freeTier: { status: "strong", details: "10,000 MAU", reference: "https://clerk.com/pricing" },
+ paidPricing: { status: "strong", details: "$25/mo + $0.02/MAU", reference: "https://clerk.com/pricing" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://clerk.com/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only SaaS", reference: "https://clerk.com/pricing" },
oauthProviders: {
+
status: "strong",
+
details: "20+ social, enterprise, Web3 providers",
+
+ reference: "https://clerk.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Real-time event webhooks (Svix)",
+
+ reference: "https://clerk.com/pricing",
},
thirdPartyIntegrations: {
+
status: "strong",
+
details: "Segment, Vercel, Netlify, analytics tools",
+
+ reference: "https://clerk.com/pricing",
},
},
};
diff --git a/src/data/auth/firebase.tsx b/src/data/auth/firebase.tsx
index 600a239..98e6468 100644
--- a/src/data/auth/firebase.tsx
+++ b/src/data/auth/firebase.tsx
@@ -19,94 +19,177 @@ export const firebase: Provider = {
logo: ,
website: "https://firebase.google.com/products/auth",
tagline: {
+
status: "strong",
- details:
- "Simple, multi-platform sign-in with backend services and ready-made UI",
+
+ details: "Simple, multi-platform sign-in with backend services and ready-made UI",
+
+ reference: "https://firebase.google.com/pricing",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Email + password with verification links",
+
+ reference: "https://firebase.google.com/pricing",
},
passwordless: {
+
status: "strong",
+
details: "Email links & anonymous auth",
+
+ reference: "https://firebase.google.com/pricing",
},
socialLogins: {
+
status: "strong",
+
details: "Google, Facebook, Apple, Microsoft, GitHub, Twitter",
+
+ reference: "https://firebase.google.com/pricing",
},
enterpriseSSO: {
+
status: "strong",
+
details: "SAML & OIDC (Identity Platform)",
+
+ reference: "https://firebase.google.com/pricing",
},
passkeys: {
+
status: "partial",
+
details: "Via Firebase Extensions or custom",
+
+ reference: "https://firebase.google.com/pricing",
},
- mfa: { status: "strong", details: "SMS, TOTP (Google Authenticator)" },
- rbac: { status: "partial", details: "Custom claims + Security Rules" },
+ mfa: { status: "strong", details: "SMS, TOTP (Google Authenticator)", reference: "https://firebase.google.com/pricing" },
+ rbac: { status: "partial", details: "Custom claims + Security Rules", reference: "https://firebase.google.com/pricing" },
userProfiles: {
+
status: "partial",
+
details: "Store in Firestore with custom logic",
+
+ reference: "https://firebase.google.com/pricing",
},
organizations: {
+
status: "partial",
+
details: "Build with Firestore & Security Rules",
+
+ reference: "https://firebase.google.com/pricing",
},
frontendSDKs: {
+
status: "strong",
+
details: "Web, iOS, Android, Flutter, Unity, C++",
+
+ reference: "https://firebase.google.com/docs/auth",
},
prebuiltUI: {
+
status: "strong",
+
details: "FirebaseUI for Web, iOS, Android",
+
+ reference: "https://firebase.google.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Excellent docs with video courses",
+
+ reference: "https://firebase.google.com/docs/auth",
},
apiApproach: {
+
status: "strong",
+
details: "Client SDKs + Admin SDK for backend",
+
+ reference: "https://firebase.google.com/docs/auth",
},
sessionManagement: {
+
status: "strong",
+
details: "ID tokens with automatic refresh",
+
+ reference: "https://firebase.google.com/pricing",
},
- jwtSupport: { status: "strong", details: "Firebase ID tokens (JWTs)" },
+ jwtSupport: { status: "strong", details: "Firebase ID tokens (JWTs)", reference: "https://firebase.google.com/pricing" },
compliance: {
+
status: "strong",
+
details: "SOC 2, SOC 3, ISO 27001, GDPR",
+
+ reference: "https://policies.google.com/privacy",
},
rateLimiting: {
+
status: "strong",
+
details: "App Check + Cloud Armor integration",
+
+ reference: "https://firebase.google.com/pricing",
},
freeTier: {
+
status: "strong",
+
details: "Unlimited auth users (no MAU limits)",
+
+ reference: "https://firebase.google.com/pricing",
},
paidPricing: {
+
status: "partial",
+
details: "Free auth; phone SMS $0.06/verification",
+
+ reference: "https://firebase.google.com/pricing",
},
openSource: {
+
status: "none",
+
details: "Proprietary (Firebase Emulators for dev)",
+
+ reference: "https://firebase.google.com/pricing",
},
- selfHosted: { status: "none", details: "Cloud-only Google service" },
+ selfHosted: { status: "none", details: "Cloud-only Google service", reference: "https://firebase.google.com/pricing" },
oauthProviders: {
+
status: "strong",
+
details: "6+ social + custom OAuth/SAML",
+
+ reference: "https://firebase.google.com/pricing",
},
webhooks: {
+
status: "partial",
+
details: "Cloud Functions triggers for auth events",
+
+ reference: "https://firebase.google.com/pricing",
},
thirdPartyIntegrations: {
+
status: "strong",
+
details: "Google ecosystem + Firebase Extensions",
+
+ reference: "https://firebase.google.com/pricing",
},
},
};
diff --git a/src/data/auth/keycloak.tsx b/src/data/auth/keycloak.tsx
index 8f4c29b..083921d 100644
--- a/src/data/auth/keycloak.tsx
+++ b/src/data/auth/keycloak.tsx
@@ -20,91 +20,170 @@ export const keycloak: Provider = {
logo: ,
website: "https://www.keycloak.org",
tagline: {
+
status: "strong",
- details:
- "Open source identity and access management - add authentication with minimum effort",
+
+ details: "Open source identity and access management - add authentication with minimum effort",
+
+ reference: "https://www.keycloak.org",
},
features: {
- emailPassword: { status: "strong", details: "Username/email + password" },
- passwordless: { status: "partial", details: "WebAuthn or custom flows" },
+ emailPassword: { status: "strong", details: "Username/email + password", reference: "https://www.keycloak.org" },
+ passwordless: { status: "partial", details: "WebAuthn or custom flows", reference: "https://www.keycloak.org" },
socialLogins: {
+
status: "strong",
+
details: "Google, GitHub, Facebook, LinkedIn, etc.",
+
+ reference: "https://www.keycloak.org",
},
enterpriseSSO: {
+
status: "strong",
+
details: "SAML 2.0, OIDC, LDAP, Kerberos",
+
+ reference: "https://www.keycloak.org",
},
- passkeys: { status: "strong", details: "WebAuthn/FIDO2 built-in" },
- mfa: { status: "strong", details: "OTP, WebAuthn/FIDO2, SMS (via SPI)" },
+ passkeys: { status: "strong", details: "WebAuthn/FIDO2 built-in", reference: "https://www.keycloak.org" },
+ mfa: { status: "strong", details: "OTP, WebAuthn/FIDO2, SMS (via SPI)", reference: "https://www.keycloak.org" },
rbac: {
+
status: "strong",
+
details: "Fine-grained authorization with policies",
+
+ reference: "https://www.keycloak.org",
},
userProfiles: {
+
status: "strong",
+
details: "Customizable attributes & federation",
+
+ reference: "https://www.keycloak.org",
},
organizations: {
+
status: "strong",
+
details: "Realms & organizations (multi-tenancy)",
+
+ reference: "https://www.keycloak.org",
},
frontendSDKs: {
+
status: "strong",
+
details: "JavaScript, Java, Python, .NET, Go adapters",
+
+ reference: "https://www.keycloak.org/documentation",
},
prebuiltUI: {
+
status: "partial",
+
details: "Admin console + customizable login themes",
+
+ reference: "https://www.keycloak.org",
},
documentation: {
+
status: "strong",
+
details: "Comprehensive official docs",
+
+ reference: "https://www.keycloak.org/documentation",
},
apiApproach: {
+
status: "strong",
+
details: "REST Admin API + standard OAuth/OIDC",
+
+ reference: "https://www.keycloak.org/documentation",
},
sessionManagement: {
+
status: "strong",
+
details: "SSO sessions, offline tokens, revocation",
+
+ reference: "https://www.keycloak.org",
},
jwtSupport: {
+
status: "strong",
+
details: "JWTs with custom claims & mappers",
+
+ reference: "https://www.keycloak.org",
},
compliance: {
+
status: "partial",
+
details: "Your responsibility (self-hosted)",
+
+ reference: "https://www.keycloak.org",
},
rateLimiting: {
+
status: "partial",
+
details: "Via reverse proxy or extensions",
+
+ reference: "https://www.keycloak.org",
},
freeTier: {
+
status: "strong",
+
details: "Unlimited (self-hosted, open source)",
+
+ reference: "https://www.keycloak.org",
},
paidPricing: {
+
status: "none",
+
details: "Free (Red Hat support available)",
+
+ reference: "https://www.keycloak.org",
},
- openSource: { status: "strong", details: "Apache 2.0 License" },
+ openSource: { status: "strong", details: "Apache 2.0 License", reference: "https://www.keycloak.org" },
selfHosted: {
+
status: "strong",
+
details: "Required (Java app, Docker, Kubernetes)",
+
+ reference: "https://www.keycloak.org",
},
oauthProviders: {
+
status: "strong",
+
details: "OAuth 2.0, OIDC, SAML, LDAP, social providers",
+
+ reference: "https://www.keycloak.org",
},
webhooks: {
+
status: "partial",
+
details: "Event listeners via SPI extensions",
+
+ reference: "https://www.keycloak.org",
},
thirdPartyIntegrations: {
+
status: "strong",
+
details: "Extensive via SPIs & adapters",
+
+ reference: "https://www.keycloak.org",
},
},
};
diff --git a/src/data/auth/lucia.tsx b/src/data/auth/lucia.tsx
index c5bb3d1..d3a05ce 100644
--- a/src/data/auth/lucia.tsx
+++ b/src/data/auth/lucia.tsx
@@ -30,75 +30,135 @@ export const lucia: Provider = {
logo: ,
website: "https://lucia-auth.com",
tagline: {
+
status: "strong",
+
details: "Open source library to implement authentication using JavaScript",
+
+ reference: "https://lucia-auth.com",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Build your own with database",
+
+ reference: "https://lucia-auth.com",
},
passwordless: {
+
status: "partial",
+
details: "Implement yourself with email service",
+
+ reference: "https://lucia-auth.com",
},
socialLogins: {
+
status: "strong",
+
details: "Arctic library: 50+ OAuth providers",
+
+ reference: "https://lucia-auth.com",
},
enterpriseSSO: {
+
status: "partial",
+
details: "Custom SAML/OIDC implementation needed",
+
+ reference: "https://lucia-auth.com",
},
- passkeys: { status: "partial", details: "Use SimpleWebAuthn library" },
- mfa: { status: "partial", details: "Build your own TOTP/SMS logic" },
+ passkeys: { status: "partial", details: "Use SimpleWebAuthn library", reference: "https://lucia-auth.com" },
+ mfa: { status: "partial", details: "Build your own TOTP/SMS logic", reference: "https://lucia-auth.com" },
rbac: {
+
status: "partial",
+
details: "Implement with your database schema",
+
+ reference: "https://lucia-auth.com",
},
userProfiles: {
+
status: "partial",
+
details: "Your database, your schema",
+
+ reference: "https://lucia-auth.com",
},
- organizations: { status: "partial", details: "Build from scratch" },
+ organizations: { status: "partial", details: "Build from scratch", reference: "https://lucia-auth.com" },
frontendSDKs: {
+
status: "partial",
+
details: "Framework-agnostic TypeScript library",
+
+ reference: "https://lucia-auth.com",
},
- prebuiltUI: { status: "none", details: "No pre-built UI (you build it)" },
- documentation: { status: "strong", details: "Clear docs with examples" },
- apiApproach: { status: "strong", details: "Session-based auth library" },
+ prebuiltUI: { status: "none", details: "No pre-built UI (you build it)", reference: "https://lucia-auth.com" },
+ documentation: { status: "strong", details: "Clear docs with examples", reference: "https://lucia-auth.com" },
+ apiApproach: { status: "strong", details: "Session-based auth library", reference: "https://lucia-auth.com" },
sessionManagement: {
+
status: "strong",
+
details: "Secure database-backed sessions",
+
+ reference: "https://lucia-auth.com",
},
jwtSupport: {
+
status: "partial",
+
details: "Use jose or other JWT library",
+
+ reference: "https://lucia-auth.com",
},
compliance: {
+
status: "partial",
+
details: "Your responsibility (self-implemented)",
+
+ reference: "https://lucia-auth.com",
},
- rateLimiting: { status: "partial", details: "Implement via middleware" },
+ rateLimiting: { status: "partial", details: "Implement via middleware", reference: "https://lucia-auth.com" },
freeTier: {
+
status: "strong",
+
details: "Unlimited (library, not a service)",
+
+ reference: "https://lucia-auth.com",
},
- paidPricing: { status: "none", details: "Free forever (MIT license)" },
- openSource: { status: "strong", details: "MIT License (fully open)" },
+ paidPricing: { status: "none", details: "Free forever (MIT license)", reference: "https://lucia-auth.com" },
+ openSource: { status: "strong", details: "MIT License (fully open)", reference: "https://lucia-auth.com" },
selfHosted: {
+
status: "strong",
+
details: "Required (TypeScript library)",
+
+ reference: "https://lucia-auth.com",
},
oauthProviders: {
+
status: "strong",
+
details: "Arctic: 50+ OAuth providers",
+
+ reference: "https://lucia-auth.com",
},
- webhooks: { status: "partial", details: "Build your own event system" },
+ webhooks: { status: "partial", details: "Build your own event system", reference: "https://lucia-auth.com" },
thirdPartyIntegrations: {
+
status: "none",
+
details: "Minimal (DIY approach)",
+
+ reference: "https://lucia-auth.com",
},
},
};
diff --git a/src/data/auth/supabase.tsx b/src/data/auth/supabase.tsx
index b811522..127d584 100644
--- a/src/data/auth/supabase.tsx
+++ b/src/data/auth/supabase.tsx
@@ -59,90 +59,170 @@ export const supabase: Provider = {
logo: ,
website: "https://supabase.com/auth",
tagline: {
+
status: "strong",
+
details: "Open source auth with PostgreSQL Row Level Security",
+
+ reference: "https://supabase.com/pricing",
},
features: {
emailPassword: {
+
status: "strong",
+
details: "Email + password with confirmation",
+
+ reference: "https://supabase.com/pricing",
},
- passwordless: { status: "strong", details: "Magic links via email" },
+ passwordless: { status: "strong", details: "Magic links via email", reference: "https://supabase.com/pricing" },
socialLogins: {
+
status: "strong",
+
details: "Google, GitHub, GitLab, Slack, 10+ providers",
+
+ reference: "https://supabase.com/pricing",
},
enterpriseSSO: {
+
status: "partial",
+
details: "SAML (Enterprise plan only)",
+
+ reference: "https://supabase.com/pricing",
},
- passkeys: { status: "partial", details: "Experimental WebAuthn support" },
- mfa: { status: "strong", details: "TOTP authenticator apps" },
+ passkeys: { status: "partial", details: "Experimental WebAuthn support", reference: "https://supabase.com/pricing" },
+ mfa: { status: "strong", details: "TOTP authenticator apps", reference: "https://supabase.com/pricing" },
rbac: {
+
status: "strong",
+
details: "Row Level Security (RLS) with PostgreSQL policies",
+
+ reference: "https://supabase.com/pricing",
},
userProfiles: {
+
status: "strong",
+
details: "Stored in users table with custom fields",
+
+ reference: "https://supabase.com/pricing",
},
organizations: {
+
status: "partial",
+
details: "Build your own with RLS policies",
+
+ reference: "https://supabase.com/pricing",
},
frontendSDKs: {
+
status: "strong",
+
details: "JavaScript, React, Vue, Svelte, Angular, Flutter",
+
+ reference: "https://supabase.com/docs/guides/auth",
},
prebuiltUI: {
+
status: "strong",
+
details: "Auth UI library with customizable components",
+
+ reference: "https://supabase.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Excellent docs with video tutorials",
+
+ reference: "https://supabase.com/docs/guides/auth",
},
apiApproach: {
+
status: "strong",
+
details: "RESTful + Realtime + GraphQL (pg_graphql)",
+
+ reference: "https://supabase.com/docs/guides/auth",
},
sessionManagement: {
+
status: "strong",
+
details: "JWT with refresh tokens & auto-refresh",
+
+ reference: "https://supabase.com/pricing",
},
jwtSupport: {
+
status: "strong",
+
details: "JWTs with custom claims via PostgreSQL functions",
+
+ reference: "https://supabase.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2 Type II, GDPR, HIPAA (Enterprise)",
+
+ reference: "https://supabase.com/privacy",
},
rateLimiting: {
+
status: "strong",
+
details: "Built-in rate limiting per endpoint",
+
+ reference: "https://supabase.com/pricing",
},
- freeTier: { status: "strong", details: "50,000 MAU" },
- paidPricing: { status: "strong", details: "$25/mo + $0.00325/MAU" },
+ freeTier: { status: "strong", details: "50,000 MAU", reference: "https://supabase.com/pricing" },
+ paidPricing: { status: "strong", details: "$25/mo + $0.00325/MAU", reference: "https://supabase.com/pricing" },
openSource: {
+
status: "strong",
+
details: "MIT License (fully open source)",
+
+ reference: "https://supabase.com/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Docker self-hosting available",
+
+ reference: "https://supabase.com/pricing",
},
oauthProviders: {
+
status: "strong",
+
details: "10+ providers with custom OAuth",
+
+ reference: "https://supabase.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Database webhooks via pg_net or Edge Functions",
+
+ reference: "https://supabase.com/pricing",
},
thirdPartyIntegrations: {
+
status: "partial",
+
details: "Growing ecosystem with partner integrations",
+
+ reference: "https://supabase.com/pricing",
},
},
};
diff --git a/src/data/auth/workos.tsx b/src/data/auth/workos.tsx
index ef812ed..e0b1333 100644
--- a/src/data/auth/workos.tsx
+++ b/src/data/auth/workos.tsx
@@ -30,73 +30,128 @@ export const workos: Provider = {
logo: ,
website: "https://workos.com",
tagline: {
+
status: "strong",
- details:
- "Your app, enterprise ready - APIs for SSO, SCIM, and user management",
+
+ details: "Your app, enterprise ready - APIs for SSO, SCIM, and user management",
+
+ reference: "https://workos.com/pricing",
},
features: {
- emailPassword: { status: "strong", details: "AuthKit email + password" },
- passwordless: { status: "strong", details: "Magic links via AuthKit" },
+ emailPassword: { status: "strong", details: "AuthKit email + password", reference: "https://workos.com/pricing" },
+ passwordless: { status: "strong", details: "Magic links via AuthKit", reference: "https://workos.com/pricing" },
socialLogins: {
+
status: "strong",
+
details: "Microsoft, Google, GitHub via AuthKit",
+
+ reference: "https://workos.com/pricing",
},
enterpriseSSO: {
+
status: "strong",
+
details: "SAML, OIDC (enterprise focus)",
+
+ reference: "https://workos.com/pricing",
},
- passkeys: { status: "partial", details: "Coming soon to AuthKit" },
- mfa: { status: "strong", details: "TOTP, SMS included in AuthKit" },
+ passkeys: { status: "partial", details: "Coming soon to AuthKit", reference: "https://workos.com/pricing" },
+ mfa: { status: "strong", details: "TOTP, SMS included in AuthKit", reference: "https://workos.com/pricing" },
rbac: {
+
status: "strong",
+
details: "Built-in with AuthKit & Organizations API",
+
+ reference: "https://workos.com/pricing",
},
userProfiles: {
+
status: "strong",
+
details: "User Management API with metadata",
+
+ reference: "https://workos.com/pricing",
},
organizations: {
+
status: "strong",
+
details: "Organizations API (B2B focus)",
+
+ reference: "https://workos.com/pricing",
},
frontendSDKs: {
+
status: "strong",
+
details: "React, Next.js, Node.js SDKs",
+
+ reference: "https://workos.com/docs",
},
prebuiltUI: {
+
status: "strong",
+
details: "AuthKit hosted UI with customization",
+
+ reference: "https://workos.com/pricing",
},
- documentation: { status: "strong", details: "Developer-focused docs" },
+ documentation: { status: "strong", details: "Developer-focused docs", reference: "https://workos.com/docs" },
apiApproach: {
+
status: "strong",
+
details: "Modern REST APIs with webhooks",
+
+ reference: "https://workos.com/docs",
},
sessionManagement: {
+
status: "strong",
+
details: "Managed sessions via AuthKit",
+
+ reference: "https://workos.com/pricing",
},
- jwtSupport: { status: "strong", details: "JWTs for API authentication" },
- compliance: { status: "strong", details: "SOC 2 Type II, GDPR, HIPAA" },
+ jwtSupport: { status: "strong", details: "JWTs for API authentication", reference: "https://workos.com/pricing" },
+ compliance: { status: "strong", details: "SOC 2 Type II, GDPR, HIPAA", reference: "https://workos.com/legal/privacy-policy" },
rateLimiting: {
+
status: "strong",
+
details: "Enterprise-grade rate limiting",
+
+ reference: "https://workos.com/pricing",
},
- freeTier: { status: "strong", details: "1 million MAU (generous)" },
- paidPricing: { status: "strong", details: "$2,500/mo per 1M MAU" },
- openSource: { status: "none", details: "Proprietary" },
- selfHosted: { status: "none", details: "Cloud-only SaaS" },
+ freeTier: { status: "strong", details: "1 million MAU (generous)", reference: "https://workos.com/pricing" },
+ paidPricing: { status: "strong", details: "$2,500/mo per 1M MAU", reference: "https://workos.com/pricing" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://workos.com/pricing" },
+ selfHosted: { status: "none", details: "Cloud-only SaaS", reference: "https://workos.com/pricing" },
oauthProviders: {
+
status: "strong",
+
details: "Social + enterprise SSO providers",
+
+ reference: "https://workos.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Event-driven webhooks for all APIs",
+
+ reference: "https://workos.com/pricing",
},
thirdPartyIntegrations: {
+
status: "strong",
+
details: "Directory Sync (SCIM), Audit Logs, MFA",
+
+ reference: "https://workos.com/pricing",
},
},
};
diff --git a/src/data/featureflags/configcat.tsx b/src/data/featureflags/configcat.tsx
index bf953a3..36a1215 100644
--- a/src/data/featureflags/configcat.tsx
+++ b/src/data/featureflags/configcat.tsx
@@ -26,142 +26,278 @@ export const configcat: Provider = {
logo: ,
website: "https://configcat.com",
tagline: {
+
status: "strong",
+
details: "Feature flag service with 10-minute setup",
+
+ reference: "https://configcat.com/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://configcat.com/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "String, number, JSON",
+
+ reference: "https://configcat.com/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "JSON setting values",
+
+ reference: "https://configcat.com/pricing",
},
flagDependencies: {
+
status: "partial",
+
details: "Via targeting rules",
+
+ reference: "https://configcat.com/pricing",
},
scheduledRollouts: {
+
status: "partial",
+
details: "Manual time-based changes",
+
+ reference: "https://configcat.com/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "User object targeting",
+
+ reference: "https://configcat.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Percentage options",
+
+ reference: "https://configcat.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Segments with conditions",
+
+ reference: "https://configcat.com/pricing",
},
geoTargeting: {
+
status: "partial",
+
details: "Via custom attributes",
+
+ reference: "https://configcat.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom attribute targeting",
+
+ reference: "https://configcat.com/pricing",
},
abTesting: {
+
status: "partial",
+
details: "Basic A/B via percentages",
+
+ reference: "https://configcat.com/pricing",
},
multivariateExperiments: {
+
status: "partial",
+
details: "Via integrations",
+
+ reference: "https://configcat.com/pricing",
},
statisticalAnalysis: {
+
status: "none",
+
details: "External tools needed",
+
+ reference: "https://configcat.com/pricing",
},
metricsTracking: {
+
status: "partial",
+
details: "Via integrations",
+
+ reference: "https://configcat.com/pricing",
},
experimentGoals: {
+
status: "none",
+
details: "Not built-in",
+
+ reference: "https://configcat.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "25+ languages (JS, Java, Python, .NET, Go, etc.)",
+
+ reference: "https://configcat.com/docs",
},
localEvaluation: {
+
status: "strong",
+
details: "Auto-polling with caching",
+
+ reference: "https://configcat.com/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "Strongly typed SDKs",
+
+ reference: "https://configcat.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Clear documentation",
+
+ reference: "https://configcat.com/docs",
},
apiQuality: {
+
status: "strong",
+
details: "Public Management API",
+
+ reference: "https://configcat.com/docs",
},
rbac: {
+
status: "strong",
+
details: "Permission groups (Team+)",
+
+ reference: "https://configcat.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Product audit log",
+
+ reference: "https://configcat.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Unlimited configs & environments",
+
+ reference: "https://configcat.com/pricing",
},
approvalWorkflows: {
+
status: "partial",
+
details: "Two-step save",
+
+ reference: "https://configcat.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR, CCPA",
+
+ reference: "https://configcat.com/privacy",
},
freeTier: {
+
status: "strong",
+
details: "Free: 10 flags, 2 environments, 5M config downloads",
+
+ reference: "https://configcat.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Pro: $110/mo (100 flags), Smart: $325/mo (unlimited)",
+
+ reference: "https://configcat.com/pricing",
},
openSource: {
+
status: "partial",
+
details: "Open source SDKs",
+
+ reference: "https://configcat.com/pricing",
},
selfHosted: {
+
status: "none",
+
details: "Cloud-only",
+
+ reference: "https://configcat.com/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Fully managed SaaS",
+
+ reference: "https://configcat.com/pricing",
},
analytics: {
+
status: "strong",
+
details: "Google Analytics, Mixpanel, Amplitude",
+
+ reference: "https://configcat.com/pricing",
},
dataWarehouses: {
+
status: "partial",
+
details: "Webhook-based export",
+
+ reference: "https://configcat.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "Slack, Jira, Trello, Zapier, GitHub",
+
+ reference: "https://configcat.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Config change webhooks",
+
+ reference: "https://configcat.com/pricing",
},
},
};
diff --git a/src/data/featureflags/devcycle.tsx b/src/data/featureflags/devcycle.tsx
index d8ac14c..4206275 100644
--- a/src/data/featureflags/devcycle.tsx
+++ b/src/data/featureflags/devcycle.tsx
@@ -26,142 +26,278 @@ export const devcycle: Provider = {
logo: ,
website: "https://devcycle.com",
tagline: {
+
status: "strong",
+
details: "Developer-first feature flag management platform",
+
+ reference: "https://devcycle.com/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://devcycle.com/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "Multi-value variables",
+
+ reference: "https://devcycle.com/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "JSON variables",
+
+ reference: "https://devcycle.com/pricing",
},
flagDependencies: {
+
status: "partial",
+
details: "Via targeting rules",
+
+ reference: "https://devcycle.com/pricing",
},
scheduledRollouts: {
+
status: "strong",
+
details: "Scheduled changes",
+
+ reference: "https://devcycle.com/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "User & custom targeting",
+
+ reference: "https://devcycle.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Percentage-based distribution",
+
+ reference: "https://devcycle.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Custom audiences",
+
+ reference: "https://devcycle.com/pricing",
},
geoTargeting: {
+
status: "partial",
+
details: "Via custom properties",
+
+ reference: "https://devcycle.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom property targeting",
+
+ reference: "https://devcycle.com/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Built-in experimentation",
+
+ reference: "https://devcycle.com/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-variant tests",
+
+ reference: "https://devcycle.com/pricing",
},
statisticalAnalysis: {
+
status: "partial",
+
details: "Basic statistics",
+
+ reference: "https://devcycle.com/pricing",
},
metricsTracking: {
+
status: "strong",
+
details: "Event tracking",
+
+ reference: "https://devcycle.com/pricing",
},
experimentGoals: {
+
status: "strong",
+
details: "Goal metrics",
+
+ reference: "https://devcycle.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "12+ languages (JS, React, Node, Python, Go, etc.)",
+
+ reference: "https://docs.devcycle.com",
},
localEvaluation: {
+
status: "strong",
+
details: "Local bucketing",
+
+ reference: "https://devcycle.com/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "Type-safe SDKs",
+
+ reference: "https://devcycle.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Developer-focused docs",
+
+ reference: "https://docs.devcycle.com",
},
apiQuality: {
+
status: "strong",
+
details: "Management API + SDKs",
+
+ reference: "https://docs.devcycle.com",
},
rbac: {
+
status: "strong",
+
details: "Team permissions",
+
+ reference: "https://devcycle.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Activity logs",
+
+ reference: "https://devcycle.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Multiple environments",
+
+ reference: "https://devcycle.com/pricing",
},
approvalWorkflows: {
+
status: "partial",
+
details: "Review process",
+
+ reference: "https://devcycle.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR",
+
+ reference: "https://devcycle.com/privacy-policy",
},
freeTier: {
+
status: "strong",
+
details: "Free: 1K client MAUs",
+
+ reference: "https://devcycle.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Developer: $10/mo (annual), Business: $500/mo (annual)",
+
+ reference: "https://devcycle.com/pricing",
},
openSource: {
+
status: "partial",
+
details: "Open source SDKs",
+
+ reference: "https://devcycle.com/pricing",
},
selfHosted: {
+
status: "none",
+
details: "Cloud-only",
+
+ reference: "https://devcycle.com/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Managed SaaS",
+
+ reference: "https://devcycle.com/pricing",
},
analytics: {
+
status: "strong",
+
details: "Analytics integrations",
+
+ reference: "https://devcycle.com/pricing",
},
dataWarehouses: {
+
status: "partial",
+
details: "Data export",
+
+ reference: "https://devcycle.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "GitHub integration, API",
+
+ reference: "https://devcycle.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Event webhooks",
+
+ reference: "https://devcycle.com/pricing",
},
},
};
diff --git a/src/data/featureflags/flagsmith.tsx b/src/data/featureflags/flagsmith.tsx
index 64ec636..ce74a22 100644
--- a/src/data/featureflags/flagsmith.tsx
+++ b/src/data/featureflags/flagsmith.tsx
@@ -21,139 +21,271 @@ export const flagsmith: Provider = {
logo: ,
website: "https://flagsmith.com",
tagline: {
+
status: "strong",
+
details: "Open source feature flag and remote config service",
+
+ reference: "https://flagsmith.com/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://flagsmith.com/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "String, number, boolean variants",
+
+ reference: "https://flagsmith.com/pricing",
},
- jsonFlags: { status: "strong", details: "JSON remote config" },
+ jsonFlags: { status: "strong", details: "JSON remote config", reference: "https://flagsmith.com/pricing" },
flagDependencies: {
+
status: "partial",
+
details: "Via segment rules",
+
+ reference: "https://flagsmith.com/pricing",
},
scheduledRollouts: {
+
status: "strong",
+
details: "Scheduled flag changes",
+
+ reference: "https://flagsmith.com/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "Identity-based targeting",
+
+ reference: "https://flagsmith.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Percentage-based splits",
+
+ reference: "https://flagsmith.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Segment rules & conditions",
+
+ reference: "https://flagsmith.com/pricing",
},
geoTargeting: {
+
status: "partial",
+
details: "Via custom traits",
+
+ reference: "https://flagsmith.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom trait targeting",
+
+ reference: "https://flagsmith.com/pricing",
},
abTesting: {
+
status: "partial",
+
details: "Basic A/B via integrations",
+
+ reference: "https://flagsmith.com/pricing",
},
multivariateExperiments: {
+
status: "partial",
+
details: "Via integrations",
+
+ reference: "https://flagsmith.com/pricing",
},
statisticalAnalysis: {
+
status: "partial",
+
details: "Via analytics integrations",
+
+ reference: "https://flagsmith.com/pricing",
},
metricsTracking: {
+
status: "partial",
+
details: "Via integrations (Mixpanel, Heap)",
+
+ reference: "https://flagsmith.com/pricing",
},
experimentGoals: {
+
status: "partial",
+
details: "External analytics required",
+
+ reference: "https://flagsmith.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "15+ languages (JS, Python, Java, .NET, Go, etc.)",
+
+ reference: "https://docs.flagsmith.com",
},
localEvaluation: {
+
status: "strong",
+
details: "Local evaluation mode",
+
+ reference: "https://flagsmith.com/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "TypeScript support",
+
+ reference: "https://flagsmith.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Good docs with examples",
+
+ reference: "https://docs.flagsmith.com",
},
apiQuality: {
+
status: "strong",
+
details: "REST API + client SDKs",
+
+ reference: "https://docs.flagsmith.com",
},
rbac: {
+
status: "strong",
+
details: "Roles & permissions (paid)",
+
+ reference: "https://flagsmith.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Audit log (paid)",
+
+ reference: "https://flagsmith.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Multiple environments",
+
+ reference: "https://flagsmith.com/pricing",
},
approvalWorkflows: {
+
status: "partial",
+
details: "4-eyes via external process",
+
+ reference: "https://flagsmith.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2 Type II, GDPR",
+
+ reference: "https://flagsmith.com/privacy-policy",
},
freeTier: {
+
status: "strong",
+
details: "Free: 50K requests/month, 1 team member",
+
+ reference: "https://flagsmith.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Start-Up: $45/mo, 1M requests, 3 team members",
+
+ reference: "https://flagsmith.com/pricing",
},
openSource: {
+
status: "strong",
+
details: "MIT & BSD licenses",
+
+ reference: "https://flagsmith.com/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Docker, Kubernetes, full self-host",
+
+ reference: "https://flagsmith.com/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "SaaS available",
+
+ reference: "https://flagsmith.com/pricing",
},
analytics: {
+
status: "strong",
+
details: "Mixpanel, Heap, Amplitude, Segment",
+
+ reference: "https://flagsmith.com/pricing",
},
dataWarehouses: {
+
status: "partial",
+
details: "Via data export API",
+
+ reference: "https://flagsmith.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "GitHub Actions, API-based",
+
+ reference: "https://flagsmith.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Change webhooks",
+
+ reference: "https://flagsmith.com/pricing",
},
},
};
diff --git a/src/data/featureflags/growthbook.tsx b/src/data/featureflags/growthbook.tsx
index fa6421f..881e418 100644
--- a/src/data/featureflags/growthbook.tsx
+++ b/src/data/featureflags/growthbook.tsx
@@ -24,142 +24,278 @@ export const growthbook: Provider = {
logo: ,
website: "https://www.growthbook.io",
tagline: {
+
status: "strong",
+
details: "Open source feature flagging & A/B testing platform",
+
+ reference: "https://www.growthbook.io/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://www.growthbook.io/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "Multi-value features",
+
+ reference: "https://www.growthbook.io/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "JSON feature values",
+
+ reference: "https://www.growthbook.io/pricing",
},
flagDependencies: {
+
status: "partial",
+
details: "Via targeting conditions",
+
+ reference: "https://www.growthbook.io/pricing",
},
scheduledRollouts: {
+
status: "partial",
+
details: "Manual scheduling",
+
+ reference: "https://www.growthbook.io/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "Attribute-based targeting",
+
+ reference: "https://www.growthbook.io/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Gradual rollouts",
+
+ reference: "https://www.growthbook.io/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Saved audiences",
+
+ reference: "https://www.growthbook.io/pricing",
},
geoTargeting: {
+
status: "partial",
+
details: "Via custom attributes",
+
+ reference: "https://www.growthbook.io/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom attribute targeting",
+
+ reference: "https://www.growthbook.io/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Visual A/B test builder",
+
+ reference: "https://www.growthbook.io/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-variant experiments",
+
+ reference: "https://www.growthbook.io/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Bayesian & Frequentist engines",
+
+ reference: "https://www.growthbook.io/pricing",
},
metricsTracking: {
+
status: "strong",
+
details: "Metrics from data warehouses",
+
+ reference: "https://www.growthbook.io/pricing",
},
experimentGoals: {
+
status: "strong",
+
details: "Primary & secondary metrics",
+
+ reference: "https://www.growthbook.io/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "15+ languages (JS, Python, Go, Ruby, PHP, etc.)",
+
+ reference: "https://docs.growthbook.io",
},
localEvaluation: {
+
status: "strong",
+
details: "Edge-optimized evaluation",
+
+ reference: "https://www.growthbook.io/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "TypeScript support",
+
+ reference: "https://www.growthbook.io/pricing",
},
documentation: {
+
status: "strong",
+
details: "Good documentation",
+
+ reference: "https://docs.growthbook.io",
},
apiQuality: {
+
status: "strong",
+
details: "REST API + SDKs",
+
+ reference: "https://docs.growthbook.io",
},
rbac: {
+
status: "strong",
+
details: "Role-based permissions (Pro)",
+
+ reference: "https://www.growthbook.io/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Audit log",
+
+ reference: "https://www.growthbook.io/pricing",
},
environments: {
+
status: "strong",
+
details: "Multiple environments",
+
+ reference: "https://www.growthbook.io/pricing",
},
approvalWorkflows: {
+
status: "partial",
+
details: "Via external process",
+
+ reference: "https://www.growthbook.io/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR",
+
+ reference: "https://www.growthbook.io/privacy",
},
freeTier: {
+
status: "strong",
+
details: "Unlimited (self-hosted), Cloud free tier",
+
+ reference: "https://www.growthbook.io/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "$20/seat/mo Pro, custom Enterprise",
+
+ reference: "https://www.growthbook.io/pricing",
},
openSource: {
+
status: "strong",
+
details: "MIT license",
+
+ reference: "https://www.growthbook.io/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Docker self-host",
+
+ reference: "https://www.growthbook.io/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Managed cloud",
+
+ reference: "https://www.growthbook.io/pricing",
},
analytics: {
+
status: "strong",
+
details: "Connects to data warehouses",
+
+ reference: "https://www.growthbook.io/pricing",
},
dataWarehouses: {
+
status: "strong",
+
details: "Snowflake, BigQuery, Redshift, Mixpanel, GA",
+
+ reference: "https://www.growthbook.io/pricing",
},
cicd: {
+
status: "strong",
+
details: "API-based automation",
+
+ reference: "https://www.growthbook.io/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Feature change webhooks",
+
+ reference: "https://www.growthbook.io/pricing",
},
},
};
diff --git a/src/data/featureflags/launchdarkly.tsx b/src/data/featureflags/launchdarkly.tsx
index b0bc4a9..8213523 100644
--- a/src/data/featureflags/launchdarkly.tsx
+++ b/src/data/featureflags/launchdarkly.tsx
@@ -27,126 +27,236 @@ export const launchdarkly: Provider = {
logo: ,
website: "https://launchdarkly.com",
tagline: {
+
status: "strong",
- details:
- "Enterprise-grade feature management platform with advanced targeting",
+
+ details: "Enterprise-grade feature management platform with advanced targeting",
+
+ reference: "https://launchdarkly.com/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://launchdarkly.com/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "String, number, JSON variants",
+
+ reference: "https://launchdarkly.com/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "Complex JSON configurations",
+
+ reference: "https://launchdarkly.com/pricing",
},
flagDependencies: {
+
status: "strong",
+
details: "Prerequisites and dependencies",
+
+ reference: "https://launchdarkly.com/pricing",
},
scheduledRollouts: {
+
status: "strong",
+
details: "Time-based rollout schedules",
+
+ reference: "https://launchdarkly.com/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "Individual user & segment targeting",
+
+ reference: "https://launchdarkly.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Gradual rollouts with targeting",
+
+ reference: "https://launchdarkly.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Advanced segment builder with rules",
+
+ reference: "https://launchdarkly.com/pricing",
},
geoTargeting: {
+
status: "strong",
+
details: "Country, region, city targeting",
+
+ reference: "https://launchdarkly.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom context attributes",
+
+ reference: "https://launchdarkly.com/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Built-in experimentation platform",
+
+ reference: "https://launchdarkly.com/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-armed bandit testing",
+
+ reference: "https://launchdarkly.com/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Bayesian statistics engine",
+
+ reference: "https://launchdarkly.com/pricing",
},
- metricsTracking: { status: "strong", details: "Custom metrics & events" },
+ metricsTracking: { status: "strong", details: "Custom metrics & events", reference: "https://launchdarkly.com/pricing" },
experimentGoals: {
+
status: "strong",
+
details: "Primary & secondary goals",
+
+ reference: "https://launchdarkly.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "25+ languages (JS, Python, Go, Java, .NET, etc.)",
+
+ reference: "https://docs.launchdarkly.com",
},
localEvaluation: {
+
status: "strong",
+
details: "Edge evaluation with streaming updates",
+
+ reference: "https://launchdarkly.com/pricing",
},
- typeSafety: { status: "strong", details: "TypeScript, strongly typed" },
- documentation: { status: "strong", details: "Comprehensive docs" },
+ typeSafety: { status: "strong", details: "TypeScript, strongly typed", reference: "https://launchdarkly.com/pricing" },
+ documentation: { status: "strong", details: "Comprehensive docs", reference: "https://docs.launchdarkly.com" },
apiQuality: {
+
status: "strong",
+
details: "REST API + GraphQL + SDKs",
+
+ reference: "https://docs.launchdarkly.com",
},
rbac: {
+
status: "strong",
+
details: "Custom roles & permissions",
+
+ reference: "https://launchdarkly.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Complete audit trail",
+
+ reference: "https://launchdarkly.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Unlimited environments",
+
+ reference: "https://launchdarkly.com/pricing",
},
approvalWorkflows: {
+
status: "strong",
+
details: "Change requests & approvals",
+
+ reference: "https://launchdarkly.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR, HIPAA, FedRAMP",
+
+ reference: "https://launchdarkly.com/policies/privacy",
},
freeTier: {
+
status: "strong",
- details:
- "Developer: Free, unlimited seats, 5 service connections, 1K client MAUs",
+
+ details: "Developer: Free, unlimited seats, 5 service connections, 1K client MAUs",
+
+ reference: "https://launchdarkly.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Foundation: $12/service connection + $10/1K client MAU",
+
+ reference: "https://launchdarkly.com/pricing",
},
- openSource: { status: "none", details: "Proprietary" },
+ openSource: { status: "none", details: "Proprietary", reference: "https://launchdarkly.com/pricing" },
selfHosted: {
+
status: "partial",
+
details: "Relay Proxy for on-prem",
+
+ reference: "https://launchdarkly.com/pricing",
},
- cloudHosted: { status: "strong", details: "Fully managed SaaS" },
+ cloudHosted: { status: "strong", details: "Fully managed SaaS", reference: "https://launchdarkly.com/pricing" },
analytics: {
+
status: "strong",
+
details: "DataDog, New Relic, Segment, mParticle",
+
+ reference: "https://launchdarkly.com/pricing",
},
dataWarehouses: {
+
status: "strong",
+
details: "Snowflake, BigQuery data export",
+
+ reference: "https://launchdarkly.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "GitHub Actions, GitLab CI, Terraform",
+
+ reference: "https://launchdarkly.com/pricing",
},
- webhooks: { status: "strong", details: "Flag change webhooks" },
+ webhooks: { status: "strong", details: "Flag change webhooks", reference: "https://launchdarkly.com/pricing" },
},
};
diff --git a/src/data/featureflags/posthog.tsx b/src/data/featureflags/posthog.tsx
index 5334f55..75afd32 100644
--- a/src/data/featureflags/posthog.tsx
+++ b/src/data/featureflags/posthog.tsx
@@ -27,142 +27,278 @@ export const posthog: Provider = {
logo: ,
website: "https://posthog.com",
tagline: {
+
status: "strong",
+
details: "All-in-one product OS with feature flags built-in",
+
+ reference: "https://posthog.com/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://posthog.com/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "Multivariate flags",
+
+ reference: "https://posthog.com/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "JSON payloads",
+
+ reference: "https://posthog.com/pricing",
},
flagDependencies: {
+
status: "partial",
+
details: "Via property filters",
+
+ reference: "https://posthog.com/pricing",
},
scheduledRollouts: {
+
status: "partial",
+
details: "Manual scheduling",
+
+ reference: "https://posthog.com/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "Person & group targeting",
+
+ reference: "https://posthog.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Percentage-based rollouts",
+
+ reference: "https://posthog.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Cohorts & property filters",
+
+ reference: "https://posthog.com/pricing",
},
geoTargeting: {
+
status: "strong",
+
details: "GeoIP person properties",
+
+ reference: "https://posthog.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Custom properties",
+
+ reference: "https://posthog.com/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Native experimentation platform",
+
+ reference: "https://posthog.com/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-variant experiments",
+
+ reference: "https://posthog.com/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Bayesian & Frequentist stats",
+
+ reference: "https://posthog.com/pricing",
},
metricsTracking: {
+
status: "strong",
+
details: "Full product analytics built-in",
+
+ reference: "https://posthog.com/pricing",
},
experimentGoals: {
+
status: "strong",
+
details: "Primary & secondary metrics",
+
+ reference: "https://posthog.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "15+ languages (JS, Python, Go, PHP, Ruby, etc.)",
+
+ reference: "https://posthog.com/docs",
},
localEvaluation: {
+
status: "strong",
+
details: "Local evaluation mode",
+
+ reference: "https://posthog.com/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "TypeScript support",
+
+ reference: "https://posthog.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Great docs & tutorials",
+
+ reference: "https://posthog.com/docs",
},
apiQuality: {
+
status: "strong",
+
details: "REST API + client SDKs",
+
+ reference: "https://posthog.com/docs",
},
rbac: {
+
status: "strong",
+
details: "Organizations & permissions",
+
+ reference: "https://posthog.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Activity log",
+
+ reference: "https://posthog.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Multiple projects",
+
+ reference: "https://posthog.com/pricing",
},
approvalWorkflows: {
+
status: "none",
+
details: "Not currently available",
+
+ reference: "https://posthog.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR-compliant",
+
+ reference: "https://posthog.com/privacy",
},
freeTier: {
+
status: "strong",
+
details: "1M events/mo free",
+
+ reference: "https://posthog.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Pay-as-you-go: $0.00005/request after 1M",
+
+ reference: "https://posthog.com/pricing",
},
openSource: {
+
status: "strong",
+
details: "MIT license",
+
+ reference: "https://posthog.com/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Docker, Kubernetes self-host",
+
+ reference: "https://posthog.com/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "PostHog Cloud (US & EU)",
+
+ reference: "https://posthog.com/pricing",
},
analytics: {
+
status: "strong",
+
details: "Built-in product analytics",
+
+ reference: "https://posthog.com/pricing",
},
dataWarehouses: {
+
status: "strong",
+
details: "Snowflake, BigQuery export",
+
+ reference: "https://posthog.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "API-based, Terraform provider",
+
+ reference: "https://posthog.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Action webhooks",
+
+ reference: "https://posthog.com/pricing",
},
},
};
diff --git a/src/data/featureflags/reflag.tsx b/src/data/featureflags/reflag.tsx
index a772614..e70423b 100644
--- a/src/data/featureflags/reflag.tsx
+++ b/src/data/featureflags/reflag.tsx
@@ -54,120 +54,236 @@ export const reflag: Provider = {
reference: "https://reflag.com/docs/rollouts",
},
userTargeting: {
+
status: "strong",
+
details: "User & attribute targeting",
+
+ reference: "https://reflag.com/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Gradual percentage-based rollouts",
+
+ reference: "https://reflag.com/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Advanced segment builder",
+
+ reference: "https://reflag.com/pricing",
},
geoTargeting: {
+
status: "strong",
+
details: "Geographic targeting built-in",
+
+ reference: "https://reflag.com/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Rich context targeting",
+
+ reference: "https://reflag.com/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Native A/B testing",
+
+ reference: "https://reflag.com/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-variant experiments",
+
+ reference: "https://reflag.com/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Built-in statistical analysis",
+
+ reference: "https://reflag.com/pricing",
},
metricsTracking: {
+
status: "strong",
+
details: "Custom metrics & goals",
+
+ reference: "https://reflag.com/pricing",
},
experimentGoals: {
+
status: "strong",
+
details: "Multiple goal tracking",
+
+ reference: "https://reflag.com/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "JavaScript, TypeScript, React, Node.js, Python, Go (expanding)",
+
+ reference: "https://reflag.com/docs",
},
localEvaluation: {
+
status: "strong",
+
details: "Edge-optimized local evaluation",
+
+ reference: "https://reflag.com/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "Full TypeScript support, auto-generated types",
+
+ reference: "https://reflag.com/pricing",
},
documentation: {
+
status: "strong",
+
details: "Comprehensive docs with examples",
+
+ reference: "https://reflag.com/docs",
},
apiQuality: {
+
status: "strong",
+
details: "Modern REST API + GraphQL + SDKs",
+
+ reference: "https://reflag.com/docs",
},
rbac: {
+
status: "strong",
+
details: "Granular role-based permissions",
+
+ reference: "https://reflag.com/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Complete audit trail",
+
+ reference: "https://reflag.com/pricing",
},
environments: {
+
status: "strong",
+
details: "Unlimited environments",
+
+ reference: "https://reflag.com/pricing",
},
approvalWorkflows: {
+
status: "strong",
+
details: "Multi-stage approval workflows",
+
+ reference: "https://reflag.com/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR, CCPA compliant",
+
+ reference: "https://reflag.com/privacy",
},
freeTier: {
+
status: "strong",
+
details: "Generous free tier for developers",
+
+ reference: "https://reflag.com/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Competitive pricing, transparent tiers",
+
+ reference: "https://reflag.com/pricing",
},
openSource: {
+
status: "partial",
+
details: "Open source SDKs",
+
+ reference: "https://reflag.com/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Self-hosted option available",
+
+ reference: "https://reflag.com/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Fully managed cloud",
+
+ reference: "https://reflag.com/pricing",
},
analytics: {
+
status: "strong",
+
details: "Native integrations with major analytics platforms",
+
+ reference: "https://reflag.com/pricing",
},
dataWarehouses: {
+
status: "strong",
+
details: "Direct data warehouse connections",
+
+ reference: "https://reflag.com/pricing",
},
cicd: {
+
status: "strong",
+
details: "GitHub Actions, GitLab CI, API automation",
+
+ reference: "https://reflag.com/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Real-time webhooks for all events",
+
+ reference: "https://reflag.com/pricing",
},
},
};
diff --git a/src/data/featureflags/split.tsx b/src/data/featureflags/split.tsx
index a45e4b6..865e957 100644
--- a/src/data/featureflags/split.tsx
+++ b/src/data/featureflags/split.tsx
@@ -20,142 +20,278 @@ export const split: Provider = {
logo: ,
website: "https://www.split.io",
tagline: {
+
status: "strong",
+
details: "Feature delivery platform with built-in impact monitoring",
+
+ reference: "https://www.split.io/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://www.split.io/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "Multi-treatment splits",
+
+ reference: "https://www.split.io/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "Dynamic configurations",
+
+ reference: "https://www.split.io/pricing",
},
flagDependencies: {
+
status: "strong",
+
details: "Split dependencies",
+
+ reference: "https://www.split.io/pricing",
},
scheduledRollouts: {
+
status: "strong",
+
details: "Scheduled rollout plans",
+
+ reference: "https://www.split.io/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "Targeting rules & allow lists",
+
+ reference: "https://www.split.io/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Traffic allocation",
+
+ reference: "https://www.split.io/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Segment definitions",
+
+ reference: "https://www.split.io/pricing",
},
geoTargeting: {
+
status: "strong",
+
details: "Geo-based targeting",
+
+ reference: "https://www.split.io/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Attribute-based targeting",
+
+ reference: "https://www.split.io/pricing",
},
abTesting: {
+
status: "strong",
+
details: "Built-in experimentation",
+
+ reference: "https://www.split.io/pricing",
},
multivariateExperiments: {
+
status: "strong",
+
details: "Multi-treatment tests",
+
+ reference: "https://www.split.io/pricing",
},
statisticalAnalysis: {
+
status: "strong",
+
details: "Statistical engine",
+
+ reference: "https://www.split.io/pricing",
},
metricsTracking: {
+
status: "strong",
+
details: "Impact metrics & tracking",
+
+ reference: "https://www.split.io/pricing",
},
experimentGoals: {
+
status: "strong",
+
details: "Guardrail & primary metrics",
+
+ reference: "https://www.split.io/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "12+ languages (JS, Java, Python, .NET, Go, etc.)",
+
+ reference: "https://help.split.io/hc/en-us",
},
localEvaluation: {
+
status: "strong",
+
details: "In-memory evaluation",
+
+ reference: "https://www.split.io/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "TypeScript definitions",
+
+ reference: "https://www.split.io/pricing",
},
documentation: {
+
status: "strong",
+
details: "Comprehensive documentation",
+
+ reference: "https://help.split.io/hc/en-us",
},
apiQuality: {
+
status: "strong",
+
details: "REST API + Admin API",
+
+ reference: "https://help.split.io/hc/en-us",
},
rbac: {
+
status: "strong",
+
details: "Team-based permissions",
+
+ reference: "https://www.split.io/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Complete audit trail",
+
+ reference: "https://www.split.io/pricing",
},
environments: {
+
status: "strong",
+
details: "Multiple environments",
+
+ reference: "https://www.split.io/pricing",
},
approvalWorkflows: {
+
status: "strong",
+
details: "Approval workflows",
+
+ reference: "https://www.split.io/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR",
+
+ reference: "https://www.split.io/privacy-policy",
},
freeTier: {
+
status: "partial",
+
details: "14-day trial, no free tier",
+
+ reference: "https://www.split.io/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Custom pricing (Team & Enterprise)",
+
+ reference: "https://www.split.io/pricing",
},
openSource: {
+
status: "none",
+
details: "Proprietary",
+
+ reference: "https://www.split.io/pricing",
},
selfHosted: {
+
status: "none",
+
details: "Cloud-only",
+
+ reference: "https://www.split.io/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Fully managed SaaS",
+
+ reference: "https://www.split.io/pricing",
},
analytics: {
+
status: "strong",
+
details: "DataDog, New Relic, Segment integrations",
+
+ reference: "https://www.split.io/pricing",
},
dataWarehouses: {
+
status: "strong",
+
details: "Data pipeline to warehouses",
+
+ reference: "https://www.split.io/pricing",
},
cicd: {
+
status: "strong",
+
details: "CI/CD integrations",
+
+ reference: "https://www.split.io/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Webhook notifications",
+
+ reference: "https://www.split.io/pricing",
},
},
};
diff --git a/src/data/featureflags/unleash.tsx b/src/data/featureflags/unleash.tsx
index 214979d..98afbf9 100644
--- a/src/data/featureflags/unleash.tsx
+++ b/src/data/featureflags/unleash.tsx
@@ -26,142 +26,278 @@ export const unleash: Provider = {
logo: ,
website: "https://www.getunleash.io",
tagline: {
+
status: "strong",
+
details: "Privacy-first open source feature toggle system",
+
+ reference: "https://www.getunleash.io/pricing",
},
features: {
- booleanFlags: { status: "strong", details: "Full support" },
+ booleanFlags: { status: "strong", details: "Full support", reference: "https://www.getunleash.io/pricing" },
multivariateFlags: {
+
status: "strong",
+
details: "Variants with payloads",
+
+ reference: "https://www.getunleash.io/pricing",
},
jsonFlags: {
+
status: "strong",
+
details: "JSON payloads in variants",
+
+ reference: "https://www.getunleash.io/pricing",
},
flagDependencies: {
+
status: "partial",
+
details: "Via strategy constraints",
+
+ reference: "https://www.getunleash.io/pricing",
},
scheduledRollouts: {
+
status: "partial",
+
details: "Via external scheduling",
+
+ reference: "https://www.getunleash.io/pricing",
},
userTargeting: {
+
status: "strong",
+
details: "User ID targeting",
+
+ reference: "https://www.getunleash.io/pricing",
},
percentageRollouts: {
+
status: "strong",
+
details: "Gradual rollout strategy",
+
+ reference: "https://www.getunleash.io/pricing",
},
customSegments: {
+
status: "strong",
+
details: "Constraint-based segments",
+
+ reference: "https://www.getunleash.io/pricing",
},
geoTargeting: {
+
status: "partial",
+
details: "Via custom constraints",
+
+ reference: "https://www.getunleash.io/pricing",
},
contextualTargeting: {
+
status: "strong",
+
details: "Context fields & constraints",
+
+ reference: "https://www.getunleash.io/pricing",
},
abTesting: {
+
status: "partial",
+
details: "Basic via variant weights",
+
+ reference: "https://www.getunleash.io/pricing",
},
multivariateExperiments: {
+
status: "partial",
+
details: "Variants, no built-in analysis",
+
+ reference: "https://www.getunleash.io/pricing",
},
statisticalAnalysis: {
+
status: "none",
+
details: "External tools required",
+
+ reference: "https://www.getunleash.io/pricing",
},
metricsTracking: {
+
status: "partial",
+
details: "Impression data, no analysis",
+
+ reference: "https://www.getunleash.io/pricing",
},
experimentGoals: {
+
status: "none",
+
details: "Not built-in",
+
+ reference: "https://www.getunleash.io/pricing",
},
sdkLanguages: {
+
status: "strong",
+
details: "20+ languages (JS, Java, Go, Python, .NET, etc.)",
+
+ reference: "https://docs.getunleash.io",
},
localEvaluation: {
+
status: "strong",
+
details: "Edge SDK for local eval",
+
+ reference: "https://www.getunleash.io/pricing",
},
typeSafety: {
+
status: "strong",
+
details: "TypeScript, strongly typed SDKs",
+
+ reference: "https://www.getunleash.io/pricing",
},
documentation: {
+
status: "strong",
+
details: "Excellent documentation",
+
+ reference: "https://docs.getunleash.io",
},
apiQuality: {
+
status: "strong",
+
details: "REST API + Admin API",
+
+ reference: "https://docs.getunleash.io",
},
rbac: {
+
status: "strong",
+
details: "RBAC (Enterprise)",
+
+ reference: "https://www.getunleash.io/pricing",
},
auditLogs: {
+
status: "strong",
+
details: "Event log & audit trail",
+
+ reference: "https://www.getunleash.io/pricing",
},
environments: {
+
status: "strong",
+
details: "Projects & environments",
+
+ reference: "https://www.getunleash.io/pricing",
},
approvalWorkflows: {
+
status: "strong",
+
details: "Change requests (Enterprise)",
+
+ reference: "https://www.getunleash.io/pricing",
},
compliance: {
+
status: "strong",
+
details: "SOC 2, GDPR-ready",
+
+ reference: "https://www.getunleash.io/privacy-policy",
},
freeTier: {
+
status: "strong",
+
details: "Open source (unlimited), Pro free tier",
+
+ reference: "https://www.getunleash.io/pricing",
},
paidPricing: {
+
status: "strong",
+
details: "Pay-as-you-go: $75/seat/mo, 53M API requests (Cloud)",
+
+ reference: "https://www.getunleash.io/pricing",
},
openSource: {
+
status: "strong",
+
details: "Apache 2.0",
+
+ reference: "https://www.getunleash.io/pricing",
},
selfHosted: {
+
status: "strong",
+
details: "Docker, Kubernetes, full self-host",
+
+ reference: "https://www.getunleash.io/pricing",
},
cloudHosted: {
+
status: "strong",
+
details: "Managed cloud available",
+
+ reference: "https://www.getunleash.io/pricing",
},
analytics: {
+
status: "partial",
+
details: "Webhook-based integrations",
+
+ reference: "https://www.getunleash.io/pricing",
},
dataWarehouses: {
+
status: "partial",
+
details: "Event export via webhooks",
+
+ reference: "https://www.getunleash.io/pricing",
},
cicd: {
+
status: "strong",
+
details: "API-driven, GitHub Actions",
+
+ reference: "https://www.getunleash.io/pricing",
},
webhooks: {
+
status: "strong",
+
details: "Event webhooks",
+
+ reference: "https://www.getunleash.io/pricing",
},
},
};