gencatalog

package
v1.11.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package gencatalog is the output of parsing the catalog file

Index

Constants

This section is empty.

Variables

View Source
var DefaultCatalog = models.Catalog{
	Addons: map[string]models.Feature{
		string(models.CatalogDomainScanningAddon): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "domain_scan_monthly",
				Nickname:   "domain_scan_monthly",
				PriceID:    "price_1RizUyBvxky1R7SvfaG5BAVk",
				UnitAmount: int64(10000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "domain_scan_annually",
				Nickname:   "domain_scan_annually",
				PriceID:    "price_1RizUzBvxky1R7Sv5pAQkFgI",
				UnitAmount: int64(100000),
			}}},
			Description:          "Domain and Vulnerability Scanning",
			DisplayName:          "Domain and Vulnerability Scanning",
			LookupKey:            "domain_scanning_addon",
			MarketingDescription: "Proactive security scanning for domains and infrastructure. Detect vulnerabilities before they become threats.",
			ProductID:            "prod_SeI5ZawfJy5AkJ",
		},
		string(models.CatalogExtraEvidenceStorageAddon): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "extra_evidence_storage_100gb",
				Metadata:   map[string]string{"increment_gb": "100"},
				Nickname:   "extra_evidence_storage_100gb",
				PriceID:    "price_1RizV0Bvxky1R7SvQ7xVtID7",
				UnitAmount: int64(1000),
			}}},
			Description:          "Additional Evidence Storage for Compliance Evidence and Documents (100GB)",
			DisplayName:          "Additional Evidence Storage (100GB)",
			LookupKey:            "extra_evidence_storage_addon",
			MarketingDescription: "Expand your secure storage capacity for compliance evidence. Keep your documentation organized and accessible.",
			ProductID:            "prod_SeI5CFhlkNjcwx",
		},
		string(models.CatalogPolicyManagementAddon): models.Feature{
			Audience: "beta",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_monthly",
				Nickname:   "price_policy_mgmt_monthly",
				PriceID:    "price_1RizV2Bvxky1R7SvDNU2ISMK",
				UnitAmount: int64(1000),
			}, models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_annually",
				Nickname:   "price_policy_mgmt_annually",
				PriceID:    "price_1RizV2Bvxky1R7SvDuXYJIiE",
				UnitAmount: int64(10000),
			}}},
			Description:          "Policy and Procedure Management",
			DisplayName:          "Policy and Procedure Management",
			LookupKey:            "policy_management_addon",
			MarketingDescription: "Create and maintain your security policies with version control. Keep your documentation audit-ready",
			ProductID:            "prod_SeI5yMS7iUwqQr",
		},
		string(models.CatalogRiskManagementAddon): models.Feature{
			Audience: "beta",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_risk_mgmt_monthly",
				Nickname:   "price_risk_mgmt_monthly",
				PriceID:    "price_1RizV4Bvxky1R7Sv2NOECTy1",
				UnitAmount: int64(1000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_risk_mgmt_annually",
				Nickname:   "price_risk_mgmt_annually",
				PriceID:    "price_1RizV4Bvxky1R7SvG60NheSe",
				UnitAmount: int64(10000),
			}}},
			Description:          "Risk Management",
			DisplayName:          "Risk Management",
			LookupKey:            "risk_management_addon",
			MarketingDescription: "Comprehensive risk assessment and monitoring solution. Make data-driven decisions about your security posture.",
			ProductID:            "prod_SeI54PHvjUiTKZ",
		},
	},
	Modules: map[string]models.Feature{
		string(models.CatalogBaseModule): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "base_module_monthly",
				Nickname:   "base_module_monthly",
				PriceID:    "price_1RjV2qBvxky1R7SvCt1I2sCY",
				UnitAmount: int64(0),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "base_module_free",
				Nickname:   "base_module_free",
				PriceID:    "price_1RizUsBvxky1R7SvE9GDH17e",
				UnitAmount: int64(0),
			}}},
			Description:          "Core System Access",
			DisplayName:          "Base Module",
			IncludeWithTrial:     true,
			LookupKey:            "base_module",
			MarketingDescription: "",
			PersonalOrg:          true,
			ProductID:            "base",
		},
		string(models.CatalogComplianceModule): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_compliance_monthly",
				Nickname:   "price_compliance_monthly",
				PriceID:    "price_1RizUuBvxky1R7SvelsIjdkf",
				UnitAmount: int64(45000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_compliance_annually",
				Nickname:   "price_compliance_annually",
				PriceID:    "price_1RizUuBvxky1R7SvCQ1cygv9",
				UnitAmount: int64(500000),
			}}},
			Description:          "Core Compliance Automation and Standards Library",
			DisplayName:          "Core Compliance Module",
			IncludeWithTrial:     true,
			LookupKey:            "compliance_module",
			MarketingDescription: "Automate evidence collection and task tracking to simplify SOC 2, ISO 27001, and other certification workflows",
			ProductID:            "prod_SeI5Umu5pAUVMP",
			Usage:                &models.Usage{EvidenceStorageGB: int64(25000)},
		},
		string(models.CatalogEntityManagementModule): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_entity_monthly",
				Nickname:   "price_entity_monthly",
				PriceID:    "price_1RizUwBvxky1R7SvwJSiuTgB",
				UnitAmount: int64(20000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_vendor_annually",
				Nickname:   "price_vendor_annually",
				PriceID:    "price_1RizUwBvxky1R7SvpNZupFPd",
				UnitAmount: int64(200000),
			}}},
			Description:          "Vendor Risk Management",
			DisplayName:          "Vendor Risk Management",
			LookupKey:            "entity_management_module",
			MarketingDescription: "Confidently assess vendor risk and enforce security standards across your third-party ecosystem",
			ProductID:            "prod_SeI59AdH137li3",
		},
		string(models.CatalogTrustCenterModule): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_trustcenter_monthly",
				Nickname:   "price_trustcenter_monthly",
				PriceID:    "price_1RizUoBvxky1R7SvkQFdzk31",
				UnitAmount: int64(30000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_trustcenter_annually",
				Nickname:   "price_trustcenter_annually",
				PriceID:    "price_1RizUoBvxky1R7SvQX80T6Y6",
				UnitAmount: int64(300000),
			}}},
			Description:          "Public Security Portal",
			DisplayName:          "Trust Center",
			IncludeWithTrial:     true,
			LookupKey:            "trust_center_module",
			MarketingDescription: "Build customer trust with a professional security portal. Share compliance documentation securely with stakeholders",
			ProductID:            "prod_SeI4Uhido7Rizc",
		},
		string(models.CatalogVulnerabilityManagementModule): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_vulnerability_mgmt_monthly",
				Nickname:   "price_vulnerability_mgmt_monthly",
				PriceID:    "price_1RizUqBvxky1R7SvEt5og6Ha",
				UnitAmount: int64(10000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_vulnerability_mgmt_annually",
				Nickname:   "price_vulnerability_mgmt_annually",
				PriceID:    "price_1RizUrBvxky1R7SvRSCc9Tv8",
				UnitAmount: int64(100000),
			}}},
			Description:          "Vulnerability Tracking and Management",
			DisplayName:          "Vulnerability Tracking and Management",
			LookupKey:            "vulnerability_management_module",
			MarketingDescription: "Identify and track security vulnerabilities across your systems. Stay ahead of potential threats with continuous monitoring",
			ProductID:            "prod_SeI46ZmXn9BpA1",
		},
	},
	SHA:     "d10bc42ff7f4d2dfbab7e9460d87e79aed1950f6734faf1636ad352f3ac5354b",
	Version: "v0.0.7",
}
View Source
var DefaultSandboxCatalog = models.Catalog{
	Addons: map[string]models.Feature{
		string(models.CatalogDomainScanningAddon): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "domain_scan_monthly",
				Nickname:   "domain_scan_monthly",
				PriceID:    "price_1S3qXLJIzM4Pa2ZcYRPuLSoJ",
				UnitAmount: int64(10000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "domain_scan_annually",
				Nickname:   "domain_scan_annually",
				PriceID:    "price_1S3qXLJIzM4Pa2Zc8Y6fRo5x",
				UnitAmount: int64(100000),
			}}},
			Description:          "Domain and Vulnerability Scanning",
			DisplayName:          "Domain and Vulnerability Scanning",
			LookupKey:            "domain_scanning_addon",
			MarketingDescription: "Proactive security scanning for domains and infrastructure. Detect vulnerabilities before they become threats.",
			ProductID:            "prod_SzqDWb1fSmvyXC",
		},
		string(models.CatalogExtraEvidenceStorageAddon): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "extra_evidence_storage_100gb",
				Metadata:   map[string]string{"increment_gb": "100"},
				Nickname:   "extra_evidence_storage_100gb",
				PriceID:    "price_1S3qXFJIzM4Pa2ZcUKyDYErM",
				UnitAmount: int64(1000),
			}}},
			Description:          "Additional Evidence Storage for Compliance Evidence and Documents (100GB)",
			DisplayName:          "Additional Evidence Storage (100GB)",
			LookupKey:            "extra_evidence_storage_addon",
			MarketingDescription: "Expand your secure storage capacity for compliance evidence. Keep your documentation organized and accessible.",
			ProductID:            "prod_SzqDCzuPVc6Lrn",
		},
		string(models.CatalogPolicyManagementAddon): models.Feature{
			Audience: "beta",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_monthly",
				Nickname:   "price_policy_mgmt_monthly",
				PriceID:    "price_1S3qXHJIzM4Pa2ZcWKG6pb5z",
				UnitAmount: int64(1000),
			}, models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_policy_mgmt_annually",
				Nickname:   "price_policy_mgmt_annually",
				PriceID:    "price_1S3qXHJIzM4Pa2Zcjl8y3TWX",
				UnitAmount: int64(10000),
			}}},
			Description:          "Policy and Procedure Management",
			DisplayName:          "Policy and Procedure Management",
			LookupKey:            "policy_management_addon",
			MarketingDescription: "Create and maintain your security policies with version control. Keep your documentation audit-ready",
			ProductID:            "prod_SzqDMmZeWJiUDm",
		},
		string(models.CatalogRiskManagementAddon): models.Feature{
			Audience: "beta",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_risk_mgmt_monthly",
				Nickname:   "price_risk_mgmt_monthly",
				PriceID:    "price_1S3qXJJIzM4Pa2Zcl4Vn7Gc6",
				UnitAmount: int64(1000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_risk_mgmt_annually",
				Nickname:   "price_risk_mgmt_annually",
				PriceID:    "price_1S3qXJJIzM4Pa2Zc0V7TvS0A",
				UnitAmount: int64(10000),
			}}},
			Description:          "Risk Management",
			DisplayName:          "Risk Management",
			LookupKey:            "risk_management_addon",
			MarketingDescription: "Comprehensive risk assessment and monitoring solution. Make data-driven decisions about your security posture.",
			ProductID:            "prod_SzqDvmryWdfvr7",
		},
	},
	Modules: map[string]models.Feature{
		string(models.CatalogBaseModule): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "base_module_monthly",
				Nickname:   "base_module_monthly",
				PriceID:    "price_1S3qXEJIzM4Pa2Zc3bZXrIC8",
				UnitAmount: int64(0),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "base_module_free",
				Nickname:   "base_module_free",
				PriceID:    "price_1S3qXEJIzM4Pa2ZcYaKVbHkk",
				UnitAmount: int64(0),
			}}},
			Description:          "Core System Access",
			DisplayName:          "Base Module",
			IncludeWithTrial:     true,
			LookupKey:            "base_module",
			MarketingDescription: "",
			PersonalOrg:          true,
			ProductID:            "prod_Szq52Y33Hzvxc6",
		},
		string(models.CatalogComplianceModule): models.Feature{
			Audience: "public",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_compliance_monthly",
				Nickname:   "price_compliance_monthly",
				PriceID:    "price_1S3qX6JIzM4Pa2ZcRtuinRdG",
				UnitAmount: int64(45000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_compliance_annually",
				Nickname:   "price_compliance_annually",
				PriceID:    "price_1S3qX7JIzM4Pa2ZchMVxiS1l",
				UnitAmount: int64(500000),
			}}},
			Description:          "Core Compliance Automation and Standards Library",
			DisplayName:          "Core Compliance Module",
			IncludeWithTrial:     true,
			LookupKey:            "compliance_module",
			MarketingDescription: "Automate evidence collection and task tracking to simplify SOC 2, ISO 27001, and other certification workflows",
			ProductID:            "prod_SzqDyAvxP2D7fA",
			Usage:                &models.Usage{EvidenceStorageGB: int64(25000)},
		},
		string(models.CatalogEntityManagementModule): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_entity_monthly",
				Nickname:   "price_entity_monthly",
				PriceID:    "price_1S3qX8JIzM4Pa2ZcQNF64Nta",
				UnitAmount: int64(20000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_vendor_annually",
				Nickname:   "price_vendor_annually",
				PriceID:    "price_1S3qX9JIzM4Pa2ZcNFO9ciiV",
				UnitAmount: int64(200000),
			}}},
			Description:          "Vendor Risk Management",
			DisplayName:          "Vendor Risk Management",
			LookupKey:            "entity_management_module",
			MarketingDescription: "Confidently assess vendor risk and enforce security standards across your third-party ecosystem",
			ProductID:            "prod_SzqDiFERRVzRmP",
		},
		string(models.CatalogTrustCenterModule): models.Feature{
			Audience: "beta",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_trustcenter_monthly",
				Nickname:   "price_trustcenter_monthly",
				PriceID:    "price_1S3qXAJIzM4Pa2Zc61jfLMe9",
				UnitAmount: int64(30000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_trustcenter_annually",
				Nickname:   "price_trustcenter_annually",
				PriceID:    "price_1S3qXBJIzM4Pa2Zcq3Y0vzDa",
				UnitAmount: int64(300000),
			}}},
			Description:          "Public Security Portal",
			DisplayName:          "Trust Center",
			LookupKey:            "trust_center_module",
			MarketingDescription: "Build customer trust with a professional security portal. Share compliance documentation securely with stakeholders",
			ProductID:            "prod_SzqDywr83XkXk5",
		},
		string(models.CatalogVulnerabilityManagementModule): models.Feature{
			Audience: "private",
			Billing: models.Billing{Prices: []models.ItemPrice{models.ItemPrice{
				Interval:   "month",
				LookupKey:  "price_vulnerability_mgmt_monthly",
				Nickname:   "price_vulnerability_mgmt_monthly",
				PriceID:    "price_1S3qXCJIzM4Pa2ZcYODHbvop",
				UnitAmount: int64(10000),
			}, models.ItemPrice{
				Interval:   "year",
				LookupKey:  "price_vulnerability_mgmt_annually",
				Nickname:   "price_vulnerability_mgmt_annually",
				PriceID:    "price_1S3qXCJIzM4Pa2ZcViTlqrmK",
				UnitAmount: int64(100000),
			}}},
			Description:          "Vulnerability Tracking and Management",
			DisplayName:          "Vulnerability Tracking and Management",
			LookupKey:            "vulnerability_management_module",
			MarketingDescription: "Identify and track security vulnerabilities across your systems. Stay ahead of potential threats with continuous monitoring",
			ProductID:            "prod_SzpzB3d9rAjrb3",
		},
	},
	SHA:     "12a4a1212888e9316a16826ba074b37230b4b7ba903cd8d7e627e4a8d03a6211",
	Version: "v0.0.10",
}

Functions

func GetCatalogByAudience added in v0.30.10

func GetCatalogByAudience(useSandbox bool, audience string) *catalog.Catalog

GetCatalogByAudience returns a catalog filtered by audience; if useSandbox is true, it uses the sandbox catalog

func GetDefaultCatalog added in v0.30.10

func GetDefaultCatalog(useSandbox bool) models.Catalog

GetDefaultCatalog returns the default catalog; if useSandbox is true, it returns the sandbox catalog

func GetModules added in v0.30.10

func GetModules(useSandbox bool) catalog.FeatureSet

GetModules returns a list of all module names in the default catalog

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL