Configuration
Hyppot provides several configuration options that can be customized during setup. Here's a comprehensive list of all available options and their default values.
Basic Configuration
When setting up Hyppot in your application, you can configure it using the AddHyppot extension method:
builder.Services.AddHyppot(config =>
{
// set the configuration options
});
Available Options
-
DbSetup, Type:
IHyppotDbSetup, RequiredSetup of the persistence for experimentation data. You must reference the proper Hyppot DB provider NuGet package and pass the exposed Db Setup class instance.
Available values:
SqlServerDbSetup(available inHyppot.SqlserverNuget Package),PostgreSqlDbSetup(available inHyppot.Postgresql) andSqliteDbSetup(Hyppot.Sqlite). -
AdminAuthorizationPolicyName, Type:
string, Default: "Hyppot.Admin"The name of the authorization policy for the Hyppot admin UI. This policy must be defined in your application's authorization setup.
Example:
builder.Services.AddAuthorization(o => o.AddPolicy(HyppotConstants.DefaultAdminAuthorizationPolicyName, policy =>
policy.RequireRole("Admin"))); -
ConversionWindow, Type:
TimeSpan, Default: 24 hoursThe time window during which a conversion is considered after an impression to be associated with it. If a conversion occurs within this window after an impression, it will be linked to that impression.
-
ImpressionLength, Type:
TimeSpan, Default: 24 hoursTime window during which the impression is considered to last. If another attempt to track the impression is made during this time, it is ignored (unless an impression with different, explicitly provided deduplication key is tracked).
-
PathPrefix, Type:
string, Default: "hyppot"The prefix for the path of the Hyppot API endpoints and Hyppot admin UI. This determines the base URL path where Hyppot will be accessible. If set to "custom-path", the admin panel will be available at
/custom-path/panel. -
MaximumApiKeyValidity, Type:
TimeSpan, Default: 3 yearsThe maximum validity period for API keys. API keys cannot be created with longer expiration periods. This setting helps enforce security by preventing excessively long-lived API keys.
-
UserAliasRetentionPeriod, Type:
TimeSpan, Default: 30 daysThe default minimum retention for user aliases. When
keepAtLeastUntilis not specified on an alias request, Hyppot sets each alias'sKeepAtLeastUntiltonow + UserAliasRetentionPeriod. When updating existing aliases, Hyppot keeps the later of the current and requested/default value. See Contaminated data cleanup for how aliases are used to detect and exclude contaminated experiment data.