Documentation
¶
Overview ¶
Package reference owns deployment composition for the identity platform. This development slice composes PostgreSQL-journaled Valkey velocity recovery and optional native OTP Send/delivery. It is not the complete reference server.
Index ¶
- type APIKeyConfiguration
- type APIKeyMetadataRateConfiguration
- type APIKeyService
- func (a *APIKeyService) Create(ctx context.Context, r apikey.CreateRequest) (apikey.IssuanceResult, error)
- func (a *APIKeyService) CreateOrganization(ctx context.Context, r apikey.OrganizationCreateRequest) (apikey.IssuanceResult, error)
- func (APIKeyService) Format(s fmt.State, _ rune)
- func (a *APIKeyService) Get(ctx context.Context, r apikey.GetRequest) (apikey.GetResult, error)
- func (a *APIKeyService) Import(ctx context.Context, r apikey.ImportRequest) (identity.CommandResult, error)
- func (a *APIKeyService) List(ctx context.Context, r apikey.ListRequest) (apikey.ListResult, error)
- func (APIKeyService) MarshalJSON() ([]byte, error)
- func (APIKeyService) MarshalText() ([]byte, error)
- func (a *APIKeyService) ReconcileVerifyAndConsume(ctx context.Context, r apikey.VerificationReconcileQuery) (apikey.AtomicVerificationResult, error)
- func (a *APIKeyService) Recover(ctx context.Context, r apikey.RecoveryRequest) (identity.CommandResult, error)
- func (a *APIKeyService) RecoverOrganization(ctx context.Context, id apikey.OrganizationID, r apikey.RecoveryRequest) (identity.CommandResult, error)
- func (a *APIKeyService) Revoke(ctx context.Context, r apikey.Revocation) (identity.CommandResult, error)
- func (a *APIKeyService) Rotate(ctx context.Context, r apikey.Rotation) (apikey.IssuanceResult, error)
- func (a *APIKeyService) Update(ctx context.Context, r apikey.UpdateRequest) (apikey.UpdateResult, error)
- func (a *APIKeyService) VerifyAndConsume(ctx context.Context, r apikey.AtomicVerificationRequest) (apikey.AtomicVerificationResult, error)
- type AnonymousConfiguration
- type AnonymousService
- func (f *AnonymousService) CleanupExpired(ctx context.Context, r anonymouspg.CleanupRequest) (anonymouspg.CleanupResult, error)
- func (f *AnonymousService) Delete(ctx context.Context, r anonymous.DeletionRequest) (anonymous.DeletionResult, error)
- func (*AnonymousService) Format(s fmt.State, _ rune)
- func (f *AnonymousService) Get(ctx context.Context, r session.GetRequest) (session.AnonymousGetResult, error)
- func (*AnonymousService) MarshalJSON() ([]byte, error)
- func (*AnonymousService) MarshalText() ([]byte, error)
- func (f *AnonymousService) RecoverCleanup(ctx context.Context, q identity.RecoveryQuery) (anonymouspg.CleanupItem, error)
- func (f *AnonymousService) RecoverDeletion(ctx context.Context, r anonymous.DeletionRecoveryRequest) (anonymous.DeletionResult, error)
- func (f *AnonymousService) RecoverSignin(ctx context.Context, r anonymous.SigninRecoveryRequest) (anonymous.SigninResult, error)
- func (f *AnonymousService) RecoverUpgrade(ctx context.Context, r anonymous.UpgradeRecoveryRequest) (anonymous.UpgradeResult, error)
- func (f *AnonymousService) Signin(ctx context.Context, r anonymous.SigninRequest) (anonymous.SigninResult, error)
- func (f *AnonymousService) Upgrade(ctx context.Context, r anonymous.UpgradeRequest) (anonymous.UpgradeResult, error)
- type AnonymousUpgradeConfiguration
- type BootstrapPolicy
- type DegradationCode
- type DeliveryConfiguration
- type DeploymentProfile
- type DurableAdmissionConfiguration
- type EmailAddressAuditConfiguration
- type EmailAddressConfiguration
- type EmailAddressService
- func (s *EmailAddressService) AddressGet(ctx context.Context, r email.AddressGetRequest) (email.AddressGetResult, error)
- func (s *EmailAddressService) AddressList(ctx context.Context, r email.AddressListRequest) (email.AddressListResult, error)
- func (s *EmailAddressService) AdministrativeQueriesConfigured() bool
- func (EmailAddressService) Format(s fmt.State, _ rune)
- func (EmailAddressService) LogValue() slog.Value
- func (EmailAddressService) MarshalJSON() ([]byte, error)
- func (EmailAddressService) MarshalText() ([]byte, error)
- type EmailAddressStandaloneRateConfiguration
- type EmailConfiguration
- type EmailManagementConfiguration
- type EmailOTPChangeConfiguration
- type EmailOTPChangeService
- func (s *EmailOTPChangeService) EmailChangeChallenge(ctx context.Context, r otp.EmailChangeConfirmRequest) (otp.EmailChangeChallenge, error)
- func (s *EmailOTPChangeService) EmailChangeConfirm(ctx context.Context, r otp.EmailChangeConfirmRequest) (otp.EmailChangeResult, error)
- func (s *EmailOTPChangeService) EmailChangeRequest(ctx context.Context, r otp.EmailChangeRequest) (otp.SendResult, error)
- func (s *EmailOTPChangeService) EmailChangeSendDestination(ctx context.Context, r otp.EmailChangeRequest) (otp.DestinationInput, error)
- func (s *EmailOTPChangeService) EmailChangeSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
- func (*EmailOTPChangeService) Format(s fmt.State, _ rune)
- func (*EmailOTPChangeService) LogValue() slog.Value
- func (*EmailOTPChangeService) MarshalJSON() ([]byte, error)
- func (*EmailOTPChangeService) MarshalText() ([]byte, error)
- func (s *EmailOTPChangeService) RecoverEmailChange(ctx context.Context, r otp.EmailChangeRecoveryRequest) (otp.EmailChangeResult, error)
- type EmailOTPVerificationConfiguration
- type EmailOTPVerificationService
- func (s *EmailOTPVerificationService) EmailVerificationChallenge(ctx context.Context, r otp.EmailVerifyRequest) (otp.EmailVerificationChallenge, error)
- func (s *EmailOTPVerificationService) EmailVerificationSendDestination(ctx context.Context, r otp.EmailVerificationSendRequest) (otp.DestinationInput, error)
- func (s *EmailOTPVerificationService) EmailVerificationSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
- func (s *EmailOTPVerificationService) EmailVerify(ctx context.Context, r otp.EmailVerifyRequest) (otp.EmailVerifyResult, error)
- func (s *EmailOTPVerificationService) RecoverEmailVerify(ctx context.Context, r otp.EmailVerifyRecoveryRequest) (otp.EmailVerifyResult, error)
- func (s *EmailOTPVerificationService) SendEmailVerification(ctx context.Context, r otp.EmailVerificationSendRequest) (otp.SendResult, error)
- type EmailRemovalConfiguration
- type EmailRemovalService
- func (s *EmailRemovalService) AddressRemove(ctx context.Context, r email.AddressRemoveRequest) (identity.CommandResult, error)
- func (s *EmailRemovalService) AddressRemoveRateSource(ctx context.Context, r email.AddressRemoveRequest) (identity.UserID, error)
- func (s *EmailRemovalService) AddressRemoveRecover(ctx context.Context, q identity.RecoveryQuery, ...) (identity.CommandResult, error)
- func (s *EmailRemovalService) AdministrativeRemovalConfigured() bool
- func (EmailRemovalService) Format(s fmt.State, _ rune)
- func (EmailRemovalService) LogValue() slog.Value
- func (EmailRemovalService) MarshalJSON() ([]byte, error)
- func (EmailRemovalService) MarshalText() ([]byte, error)
- type FeatureSet
- func (f FeatureSet) APIKeys() (*APIKeyService, error)
- func (f FeatureSet) Anonymous() (*AnonymousService, error)
- func (f FeatureSet) AnonymousPreAuth() (PreAuthService, error)
- func (f FeatureSet) CookiePasswordChange() (password.CookieChangeService, error)
- func (f FeatureSet) CookiePasswordVerification() (password.CookieVerificationService, error)
- func (f FeatureSet) EmailAddresses() (*EmailAddressService, error)
- func (f FeatureSet) EmailChange() (*ManagedEmailService, error)
- func (f FeatureSet) EmailChangeRequests() (email.ChangeRequestService, error)
- func (f FeatureSet) EmailOTPChange() (*EmailOTPChangeService, error)
- func (f FeatureSet) EmailOTPVerification() (*EmailOTPVerificationService, error)
- func (f FeatureSet) EmailRemoval() (*EmailRemovalService, error)
- func (f FeatureSet) EmailVerification() (*ManagedEmailService, error)
- func (f FeatureSet) EmailVerificationRequests() (email.VerificationSendService, error)
- func (FeatureSet) Format(s fmt.State, _ rune)
- func (f FeatureSet) Initialize(ctx context.Context) error
- func (f FeatureSet) MFAActiveStepUp() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) MFADisable() (mfa.DisableService, error)
- func (f FeatureSet) MFAEnrollment() (mfa.EnrollmentService, error)
- func (f FeatureSet) MFAEnrollmentConfirmation() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) MFAFactorManagement() (mfa.FactorManagementService, error)
- func (f FeatureSet) MFAListing() (mfa.FactorListingService, error)
- func (f FeatureSet) MFAOTPActiveStepUp() (mfa.OTPCompletionService, error)
- func (f FeatureSet) MFAOTPDisable() (mfa.DisableService, error)
- func (f FeatureSet) MFAOTPEnrollment() (mfa.EnrollmentService, error)
- func (f FeatureSet) MFAOTPEnrollmentConfirmation() (mfa.OTPCompletionService, error)
- func (f FeatureSet) MFAOTPFactorManagement() (mfa.FactorManagementService, error)
- func (f FeatureSet) MFAProvisioningURI() (mfa.TOTPURIService, error)
- func (f FeatureSet) MFARecoveryRegeneration() (mfa.RecoveryRegenerationService, error)
- func (f FeatureSet) MagicLinkConsume() (MagicLinkConsumeService, error)
- func (f FeatureSet) MagicLinkPreAuth() (PreAuthService, error)
- func (f FeatureSet) MagicLinkRequest() (MagicLinkRequestService, error)
- func (f FeatureSet) MagicLinkTOTP() (mfa.TOTPCompletionService, error)
- func (FeatureSet) MarshalJSON() ([]byte, error)
- func (FeatureSet) MarshalText() ([]byte, error)
- func (f FeatureSet) OAuthWorkloads() (OAuthWorkloadService, error)
- func (f FeatureSet) OTP() (otp.Service, error)
- func (f FeatureSet) OTPSignin() (otp.SigninService, error)
- func (f FeatureSet) OTPSigninSource() (otp.SigninSourceService, error)
- func (f FeatureSet) OrganizationInvitations() (*OrganizationInvitationService, error)
- func (f FeatureSet) Organizations() (*OrganizationService, error)
- func (f FeatureSet) PasskeyTOTP() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) Passkeys() (*PasskeyService, error)
- func (f FeatureSet) PasswordChange() (password.ChangeService, error)
- func (f FeatureSet) PasswordOTP() (mfa.OTPCompletionService, error)
- func (f FeatureSet) PasswordPreAuth() (PreAuthService, error)
- func (f FeatureSet) PasswordRecovery() (mfa.RecoveryCompletionService, error)
- func (f FeatureSet) PasswordReset() (password.ResetService, error)
- func (f FeatureSet) PasswordResetInspection() (password.ResetInspectionService, error)
- func (f FeatureSet) PasswordSignin() (password.SigninService, error)
- func (f FeatureSet) PasswordSignup() (password.SignupService, error)
- func (f FeatureSet) PasswordTOTP() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) PasswordVerification() (password.VerificationService, error)
- func (f FeatureSet) Phone() (*PhoneService, error)
- func (f FeatureSet) PhoneChange() (*PhoneChangeService, error)
- func (f FeatureSet) PhoneOTPSignin() (PhoneOTPSigninService, error)
- func (f FeatureSet) PhoneOTPSigninPreAuth() (IdentifierBoundPreAuthService, error)
- func (f FeatureSet) PhonePasswordReset() (*PhonePasswordResetService, error)
- func (f FeatureSet) PhonePasswordResetPreAuth() (IdentifierBoundPreAuthService, error)
- func (f FeatureSet) PhoneRemoval() (*PhoneRemovalService, error)
- func (f FeatureSet) PhoneSignin() (password.SigninService, error)
- func (f FeatureSet) PhoneSigninPreAuth() (IdentifierBoundPreAuthService, error)
- func (f FeatureSet) PhoneTOTP() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) PreAuth() (PreAuthService, error)
- func (f FeatureSet) RegistrationVerification() (email.RegistrationVerificationService, error)
- func (f FeatureSet) RegistrationVerificationSignin() (email.RegistrationVerificationSigninService, error)
- func (f FeatureSet) Sessions() (SessionService, error)
- func (f FeatureSet) SignupPreAuth() (PreAuthService, error)
- func (f FeatureSet) UsernameAvailability() (username.AvailabilityService, error)
- func (f FeatureSet) UsernameRegistrationVerification() (email.RegistrationVerificationService, error)
- func (f FeatureSet) UsernameRename() (UsernameRenameService, error)
- func (f FeatureSet) UsernameSignin() (password.SigninService, error)
- func (f FeatureSet) UsernameSigninPreAuth() (PreAuthService, error)
- func (f FeatureSet) UsernameSignup() (password.SignupService, error)
- func (f FeatureSet) UsernameSignupPreAuth() (PreAuthService, error)
- func (f FeatureSet) UsernameTOTP() (mfa.TOTPCompletionService, error)
- func (f FeatureSet) VerificationTOTP() (mfa.TOTPCompletionService, error)
- type HTTPAPIKeyConfiguration
- type HTTPAnonymousConfiguration
- type HTTPEmailAddressesConfiguration
- type HTTPEmailOTPChangeConfiguration
- type HTTPEmailOTPVerificationConfiguration
- type HTTPEmailRequestsConfiguration
- type HTTPEmailSigninConfiguration
- type HTTPMFAActiveStepUpConfiguration
- type HTTPMFAConfiguration
- type HTTPMFADisableConfiguration
- type HTTPMFAEnrollmentConfiguration
- type HTTPMFAFactorUpdateConfiguration
- type HTTPMFAListConfiguration
- type HTTPMFARecoveryRegenerationConfiguration
- func (HTTPMFARecoveryRegenerationConfiguration) Format(s fmt.State, _ rune)
- func (HTTPMFARecoveryRegenerationConfiguration) LogValue() slog.Value
- func (HTTPMFARecoveryRegenerationConfiguration) MarshalJSON() ([]byte, error)
- func (HTTPMFARecoveryRegenerationConfiguration) MarshalText() ([]byte, error)
- type HTTPMagicLinkConfiguration
- type HTTPOAuthWorkloadConfiguration
- type HTTPOrganizationConfiguration
- type HTTPPasskeyConfiguration
- type HTTPPasswordProtectionConfiguration
- type HTTPPasswordResetConfiguration
- type HTTPPasswordSigninConfiguration
- type HTTPPasswordSignupConfiguration
- type HTTPPhoneChangeConfiguration
- type HTTPPhoneOTPSigninConfiguration
- type HTTPPhonePasswordResetConfiguration
- type HTTPPhoneRemovalConfiguration
- type HTTPPhoneVerificationConfiguration
- type HTTPPreAuthConfiguration
- type HTTPRateConfiguration
- type HTTPRegistrationVerificationConfiguration
- type HTTPSessionConfiguration
- type HTTPUsernameConfiguration
- type IdentifierBoundPreAuthService
- type MFAEnrollmentConfiguration
- type MFAListStandaloneRateConfiguration
- type MFAOTPActiveStepUpConfiguration
- type MFAOTPEnrollmentConfiguration
- type MagicLinkConfiguration
- type MagicLinkConsumeService
- type MagicLinkPreAuthConfiguration
- type MagicLinkRequestService
- type MagicLinkTOTPCompletionConfig
- type MagicLinkTOTPConfiguration
- type ManagedEmailService
- func (s *ManagedEmailService) ChangeConfirm(ctx context.Context, r email.ChangeConfirmRequest) (email.ChangeConfirmResult, error)
- func (s *ManagedEmailService) ChangeConfirmationRateSource(ctx context.Context, p capability.Proof, callback string, ...) (identity.UserID, string, time.Duration, error)
- func (s *ManagedEmailService) ChangeRecover(ctx context.Context, r email.ChangeRecoveryRequest) (email.ChangeRecoveryResult, error)
- func (s *ManagedEmailService) ChangeRequest(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) ChangeRequestKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, ...) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) ChangeRequestRecover(ctx context.Context, q identity.RecoveryQuery, ...) (passwordpg.EmailManagementResult, error)
- func (ManagedEmailService) Format(s fmt.State, _ rune)
- func (ManagedEmailService) LogValue() slog.Value
- func (s *ManagedEmailService) ManagedVerificationRateSource(ctx context.Context, p capability.Proof, callback string, ...) (identity.UserID, string, time.Duration, error)
- func (ManagedEmailService) MarshalJSON() ([]byte, error)
- func (ManagedEmailService) MarshalText() ([]byte, error)
- func (s *ManagedEmailService) ReadChangeOrigin(ctx context.Context, q identity.RecoveryQuery, ...) (email.ChangeOrigin, error)
- func (s *ManagedEmailService) ReadManagedVerification(ctx context.Context, p capability.Proof, caller authorization.DecisionContext) (email.ManagedVerificationSpec, uint32, error)
- func (s *ManagedEmailService) RequestRateSourceKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, ...) (identity.UserID, string, error)
- func (s *ManagedEmailService) ValidateManagedVerification(ctx context.Context, p capability.Proof, callback string, ...) (bool, error)
- func (s *ManagedEmailService) VerificationConfirm(ctx context.Context, r email.VerificationConfirmRequest) (email.VerificationConfirmResult, error)
- func (s *ManagedEmailService) VerificationRecover(ctx context.Context, r email.VerificationRecoveryRequest) (email.VerificationRecoveryResult, error)
- func (s *ManagedEmailService) VerificationResend(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) VerificationResendKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, ...) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) VerificationSend(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) VerificationSendKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, ...) (passwordpg.EmailManagementResult, error)
- func (s *ManagedEmailService) VerificationSendRecover(ctx context.Context, q identity.RecoveryQuery, ...) (passwordpg.EmailManagementResult, error)
- type MigrationApplyPolicy
- type MigrationApplyResult
- type MigrationApplyState
- type MigrationCompatibility
- type MigrationContributorReceipt
- type MigrationError
- type MigrationPlan
- type MigrationPolicy
- type MigrationStep
- type ModuleID
- type ModuleMigrationStatus
- type ModuleVersion
- type OAuthWorkloadConfiguration
- type OAuthWorkloadService
- func (OAuthWorkloadService) Format(s fmt.State, _ rune)
- func (o OAuthWorkloadService) Introspect(ctx context.Context, r oauth.IntrospectRequest) (oauth.IntrospectResult, error)
- func (OAuthWorkloadService) MarshalJSON() ([]byte, error)
- func (OAuthWorkloadService) MarshalText() ([]byte, error)
- func (o OAuthWorkloadService) Revoke(ctx context.Context, r oauth.RevokeRequest) (oauth.RevokeResult, error)
- func (o OAuthWorkloadService) Token(ctx context.Context, r oauth.TokenRequest) (oauth.TokenResult, error)
- type OTPPreAuthConfiguration
- type OTPSendConfiguration
- type OrganizationConfiguration
- type OrganizationInvitationConfiguration
- type OrganizationInvitationService
- func (f *OrganizationInvitationService) Cancel(ctx context.Context, r organization.InvitationCancelOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationInvitationService) Expire(ctx context.Context, r organization.InvitationExpireOperationRequest, ...) (organization.StoreResult, error)
- func (OrganizationInvitationService) Format(s fmt.State, _ rune)
- func (f *OrganizationInvitationService) Get(ctx context.Context, r organization.InvitationReadRequest) (organization.InvitationDelivery, error)
- func (f *OrganizationInvitationService) List(ctx context.Context, r organization.InvitationReadRequest) (organization.InvitationPage, error)
- func (f *OrganizationInvitationService) ListMine(ctx context.Context, r organization.InvitationListMineRequest) (organization.InvitationListMineResult, error)
- func (OrganizationInvitationService) MarshalJSON() ([]byte, error)
- func (OrganizationInvitationService) MarshalText() ([]byte, error)
- func (f *OrganizationInvitationService) PrepareAcceptance(ctx context.Context, r organization.InvitationAcceptRequest, network string) (organization.PreparedInvitationAcceptance, error)
- func (f *OrganizationInvitationService) RecoverAccept(ctx context.Context, r organization.InvitationAcceptRecoveryRequest) (organization.StoreResult, error)
- func (f *OrganizationInvitationService) Reject(ctx context.Context, r organization.InvitationRejectOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationInvitationService) Resend(ctx context.Context, r organization.InvitationResendOperationRequest, ...) (organization.InvitationResendOperationResult, error)
- func (f *OrganizationInvitationService) Send(ctx context.Context, r organization.InvitationSendOperationRequest, ...) (organization.StoreResult, error)
- type OrganizationLifecycleConfiguration
- type OrganizationOwnerTransferConfiguration
- type OrganizationService
- func (f *OrganizationService) AddMember(ctx context.Context, r organization.AddMemberOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) AddTeamMember(ctx context.Context, r organization.AddTeamMemberOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) Archive(ctx context.Context, r organization.LifecycleOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) AssignDynamicRole(ctx context.Context, r organization.AssignDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) AssignTeamDynamicRole(ctx context.Context, r organization.AssignTeamDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) CheckPermission(ctx context.Context, r organization.PermissionCheckRequest) (authorization.Decision, error)
- func (f *OrganizationService) Create(ctx context.Context, r organization.CreateOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) CreateDynamicRole(ctx context.Context, r organization.CreateDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) CreateTeam(ctx context.Context, r organization.CreateTeamOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) DeleteDynamicRole(ctx context.Context, r organization.DeleteDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) DeleteTeam(ctx context.Context, r organization.DeleteTeamOperationRequest, network string) (organization.StoreResult, error)
- func (OrganizationService) Format(s fmt.State, _ rune)
- func (f *OrganizationService) Get(ctx context.Context, r organization.ReadRequest) (organization.View, error)
- func (f *OrganizationService) GetDynamicRole(ctx context.Context, r organization.DynamicRoleReadRequest) (organization.View, error)
- func (f *OrganizationService) GetLifecycle(ctx context.Context, r organization.ReadRequest) (organization.View, error)
- func (f *OrganizationService) GetTeam(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
- func (f *OrganizationService) LeaveMember(ctx context.Context, r organization.LeaveMemberOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) ListDynamicRoles(ctx context.Context, r organization.DynamicRoleReadRequest) (organization.View, error)
- func (f *OrganizationService) ListMembers(ctx context.Context, r organization.ReadRequest) (organization.View, error)
- func (f *OrganizationService) ListMyTeams(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
- func (f *OrganizationService) ListOrganizations(ctx context.Context, r organization.ListOrganizationsRequest) (organization.ListOrganizationsResult, error)
- func (f *OrganizationService) ListTeamMembers(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
- func (f *OrganizationService) ListTeams(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
- func (OrganizationService) MarshalJSON() ([]byte, error)
- func (OrganizationService) MarshalText() ([]byte, error)
- func (f *OrganizationService) OwnerTransfer(ctx context.Context, r organization.OwnerTransferOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) RecoverOperation(ctx context.Context, r organization.OperationRecoveryRequest) (organization.StoreResult, error)
- func (f *OrganizationService) RemoveMember(ctx context.Context, r organization.RemoveMemberOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) RemoveTeamMember(ctx context.Context, r organization.RemoveTeamMemberOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) Restore(ctx context.Context, r organization.LifecycleOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) RevokeDynamicRole(ctx context.Context, r organization.RevokeDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) RevokeTeamDynamicRole(ctx context.Context, r organization.RevokeTeamDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) SlugAvailable(ctx context.Context, r organization.SlugAvailableRequest) (organization.SlugAvailableResult, error)
- func (f *OrganizationService) Update(ctx context.Context, r organization.UpdateOperationRequest, network string) (organization.StoreResult, error)
- func (f *OrganizationService) UpdateDynamicRole(ctx context.Context, r organization.UpdateDynamicRoleOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) UpdateMember(ctx context.Context, r organization.UpdateMemberOperationRequest, ...) (organization.StoreResult, error)
- func (f *OrganizationService) UpdateTeam(ctx context.Context, r organization.UpdateTeamOperationRequest, network string) (organization.StoreResult, error)
- type PasskeyConfiguration
- type PasskeyDeletionConfiguration
- type PasskeyKeyedOptionsConfiguration
- type PasskeyManagementConfiguration
- type PasskeyService
- func (f *PasskeyService) AuthenticationOptions(ctx context.Context, r native.SigninRequest) (webauthn.AssertionOptions, error)
- func (f *PasskeyService) ConditionalAuthenticationOptions(ctx context.Context, r native.DiscoverableSigninRequest) (passkey.ConditionalAssertionOptions, error)
- func (f *PasskeyService) Delete(ctx context.Context, r passkey.DeleteRequest) (passkey.DeleteResult, error)
- func (f *PasskeyService) DiscoverableAuthenticationOptions(ctx context.Context, r native.DiscoverableSigninRequest) (webauthn.AssertionOptions, error)
- func (f *PasskeyService) DiscoverableSignin(ctx context.Context, r native.DiscoverableSigninCompletion) (native.SigninResult, error)
- func (f *PasskeyService) DiscoverableSigninRateSource(ctx context.Context, r passkey.DiscoverableCeremonyRateRequest) (passkey.CeremonyRateSource, error)
- func (PasskeyService) Format(s fmt.State, _ rune)
- func (f *PasskeyService) Get(ctx context.Context, r session.GetRequest) (session.GetResult, error)
- func (f *PasskeyService) IssueFlow(ctx context.Context, p session.PreparedPreAuthIssuance) (session.PreAuthIssueResult, error)
- func (f *PasskeyService) IssueSignupFlow(ctx context.Context, p session.PreparedPreAuthIssuance) (session.PreAuthIssueResult, error)
- func (f *PasskeyService) KeyedAuthenticationOptions(ctx context.Context, r passkey.KeyedSigninOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
- func (f *PasskeyService) KeyedConditionalAuthenticationOptions(ctx context.Context, r passkey.KeyedDiscoverableOptionsRequest) (passkey.KeyedConditionalOptionsResult, error)
- func (f *PasskeyService) KeyedDiscoverableAuthenticationOptions(ctx context.Context, r passkey.KeyedDiscoverableOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
- func (f *PasskeyService) KeyedRegistrationOptions(ctx context.Context, r passkey.KeyedRegistrationOptionsRequest) (passkey.KeyedRegistrationOptionsResult, error)
- func (f *PasskeyService) KeyedSignupOptions(ctx context.Context, r passkey.KeyedSignupOptionsRequest) (passkey.KeyedRegistrationOptionsResult, error)
- func (f *PasskeyService) List(ctx context.Context, r native.InventoryRequest) (native.InventoryPage, error)
- func (f *PasskeyService) PrepareFlow(ctx context.Context, r session.PreAuthPrepareInput) (session.PreparedPreAuthIssuance, error)
- func (f *PasskeyService) PrepareSignupFlow(ctx context.Context, r session.PreAuthPrepareInput) (session.PreparedPreAuthIssuance, error)
- func (f *PasskeyService) RecoverEnrollment(ctx context.Context, q identity.RecoveryQuery, ...) (identity.CommandResult, error)
- func (f *PasskeyService) RecoverSignOut(ctx context.Context, q identity.RecoveryQuery, ...) (kernel.CommandRecord, error)
- func (f *PasskeyService) RecoverSignin(ctx context.Context, q identity.RecoveryQuery, ...) (identity.CommandResult, error)
- func (f *PasskeyService) RecoverSignup(ctx context.Context, r passkey.SignupRequest, ceremony string, ...) (identity.CommandResult, error)
- func (f *PasskeyService) RecoverSignupOptions(ctx context.Context, r passkey.SignupRequest, ...) (identity.CommandResult, error)
- func (f *PasskeyService) Register(ctx context.Context, r native.RegistrationCompletion) (webauthn.VerifiedRegistration, error)
- func (f *PasskeyService) RegistrationOptions(ctx context.Context, r native.RegistrationRequest) (webauthn.RegistrationOptions, error)
- func (f *PasskeyService) RegistrationRateSource(ctx context.Context, r passkey.RegistrationCeremonyRateRequest) (passkey.CeremonyRateSource, error)
- func (f *PasskeyService) SessionDeletion() (*PasskeySessionDeletionService, error)
- func (f *PasskeyService) SessionEnrollment() (*PasskeySessionEnrollmentService, error)
- func (f *PasskeyService) SessionManagement() (*PasskeySessionManagementService, error)
- func (f *PasskeyService) SignOut(ctx context.Context, r session.SignOutRequest, csrf session.CSRFToken) (session.SignOutResult, error)
- func (f *PasskeyService) Signin(ctx context.Context, r native.SigninCompletion) (native.SigninResult, error)
- func (f *PasskeyService) SigninRateSource(ctx context.Context, r passkey.SigninCeremonyRateRequest) (passkey.CeremonyRateSource, error)
- func (f *PasskeyService) Signup(ctx context.Context, r passkey.SignupCompletion) (passkey.SignupResult, error)
- func (f *PasskeyService) SignupOptions(ctx context.Context, r passkey.SignupRequest) (webauthn.RegistrationOptions, error)
- func (f *PasskeyService) SignupRateSource(ctx context.Context, r passkey.SignupCeremonyRateRequest) (passkey.CeremonyRateSource, error)
- func (f *PasskeyService) Update(ctx context.Context, r passkey.UpdateRequest) (passkey.UpdateResult, error)
- type PasskeySessionDeletionConfiguration
- type PasskeySessionDeletionService
- func (f *PasskeySessionDeletionService) Delete(ctx context.Context, r passkey.SessionDeleteCompletion) (passkey.SessionDeleteResult, error)
- func (f *PasskeySessionDeletionService) DeleteOptions(ctx context.Context, r passkey.SessionDeleteOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
- func (PasskeySessionDeletionService) Format(f fmt.State, _ rune)
- func (PasskeySessionDeletionService) MarshalJSON() ([]byte, error)
- func (PasskeySessionDeletionService) MarshalText() ([]byte, error)
- func (f *PasskeySessionDeletionService) RecoverDelete(ctx context.Context, r passkey.SessionDeleteRequest, q identity.RecoveryQuery) (passkey.SessionDeleteResult, error)
- type PasskeySessionEnrollmentConfiguration
- type PasskeySessionEnrollmentService
- func (f *PasskeySessionEnrollmentService) EnrollmentAssertionOptions(ctx context.Context, r passkey.SessionEnrollmentOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
- func (PasskeySessionEnrollmentService) Format(f fmt.State, _ rune)
- func (PasskeySessionEnrollmentService) MarshalJSON() ([]byte, error)
- func (PasskeySessionEnrollmentService) MarshalText() ([]byte, error)
- func (f *PasskeySessionEnrollmentService) Register(ctx context.Context, r passkey.SessionEnrollmentCompletion) (passkey.SessionEnrollmentResult, error)
- func (f *PasskeySessionEnrollmentService) RegistrationOptions(ctx context.Context, r passkey.SessionEnrollmentAuthorization) (passkey.KeyedRegistrationOptionsResult, error)
- func (f *PasskeySessionEnrollmentService) RegistrationOptionsForDelivery(ctx context.Context, r passkey.SessionEnrollmentAuthorization) (passkey.KeyedRegistrationOptionsResult, time.Time, error)
- func (f *PasskeySessionEnrollmentService) SessionRegistrationRateSource(ctx context.Context, r passkey.SessionEnrollmentRequest, ceremonyID string) (passkey.CeremonyRateSource, error)
- type PasskeySessionManagementConfiguration
- type PasskeySessionManagementService
- func (PasskeySessionManagementService) Format(s fmt.State, _ rune)
- func (PasskeySessionManagementService) MarshalJSON() ([]byte, error)
- func (PasskeySessionManagementService) MarshalText() ([]byte, error)
- func (f *PasskeySessionManagementService) Update(ctx context.Context, r passkey.SessionUpdateCompletion) (passkey.UpdateResult, error)
- func (f *PasskeySessionManagementService) UpdateOptions(ctx context.Context, r passkey.SessionUpdateOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
- type PasskeySignupConfiguration
- type PasskeyStandaloneConfiguration
- type PasskeyTOTPConfiguration
- type PasswordChangeConfiguration
- type PasswordOTPConfiguration
- type PasswordOTPLoginCompletionConfig
- type PasswordOTPLoginCompletionService
- func (PasswordOTPLoginCompletionService) Format(s fmt.State, _ rune)
- func (PasswordOTPLoginCompletionService) MarshalJSON() ([]byte, error)
- func (PasswordOTPLoginCompletionService) MarshalText() ([]byte, error)
- func (s *PasswordOTPLoginCompletionService) OtpSend(ctx context.Context, r mfa.OtpSendRequest) (mfa.OtpSendResult, error)
- func (s *PasswordOTPLoginCompletionService) OtpSendingRateSource(ctx context.Context, r mfa.OtpSendRequest) (string, error)
- func (s *PasswordOTPLoginCompletionService) OtpVerificationRateSource(ctx context.Context, r mfa.OtpVerifyRequest) (user identity.UserID, child string, lifetime time.Duration, err error)
- func (s *PasswordOTPLoginCompletionService) OtpVerify(ctx context.Context, r mfa.OtpVerifyRequest) (out mfa.OtpVerifyResult, err error)
- func (s *PasswordOTPLoginCompletionService) RecoverOtpSend(ctx context.Context, q identity.RecoveryQuery, ...) (mfa.OtpSendResult, error)
- func (s *PasswordOTPLoginCompletionService) RecoverOtpVerify(ctx context.Context, q identity.RecoveryQuery, ...) (out mfa.OtpVerifyResult, err error)
- type PasswordOTPLoginSendConfig
- type PasswordOTPLoginSendService
- func (PasswordOTPLoginSendService) Format(s fmt.State, _ rune)
- func (PasswordOTPLoginSendService) MarshalJSON() ([]byte, error)
- func (PasswordOTPLoginSendService) MarshalText() ([]byte, error)
- func (s *PasswordOTPLoginSendService) OtpSend(ctx context.Context, r mfa.OtpSendRequest) (out mfa.OtpSendResult, err error)
- func (s *PasswordOTPLoginSendService) OtpSendingRateSource(ctx context.Context, r mfa.OtpSendRequest) (destination string, err error)
- func (s *PasswordOTPLoginSendService) RecoverOtpSend(ctx context.Context, q identity.RecoveryQuery, ...) (out mfa.OtpSendResult, err error)
- type PasswordPreAuthConfiguration
- type PasswordRecoveryConfiguration
- type PasswordResetConfiguration
- type PasswordSigninConfiguration
- type PasswordSignupConfiguration
- type PasswordTOTPConfiguration
- type PasswordVerificationConfiguration
- type PhoneChangeConfiguration
- type PhoneChangeService
- func (*PhoneChangeService) Format(s fmt.State, _ rune)
- func (*PhoneChangeService) MarshalJSON() ([]byte, error)
- func (*PhoneChangeService) MarshalText() ([]byte, error)
- func (s *PhoneChangeService) PhoneChangeDestination(ctx context.Context, r phone.ChangeRequest) (phone.Number, error)
- func (s *PhoneChangeService) PhoneChangeSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
- func (s *PhoneChangeService) PhoneUpdateLifetime(ctx context.Context, r phone.UpdateRequest) (time.Duration, error)
- func (s *PhoneChangeService) RecoverUpdate(ctx context.Context, r phone.UpdateRecoveryRequest) (phone.UpdateResult, error)
- func (s *PhoneChangeService) SendChange(ctx context.Context, r phone.ChangeRequest) (identity.CommandResult, error)
- func (s *PhoneChangeService) Update(ctx context.Context, r phone.UpdateRequest) (phone.UpdateResult, error)
- type PhoneConfiguration
- type PhoneIssuanceConfiguration
- type PhoneOTPSigninConfiguration
- type PhoneOTPSigninService
- type PhonePasswordResetConfiguration
- type PhonePasswordResetService
- func (s *PhonePasswordResetService) EvaluatePasswordResetCompletionRisk(ctx context.Context, r phone.PasswordResetCompletionRiskRequest) (risk.PhoneEvidenceResult, error)
- func (s *PhonePasswordResetService) EvaluatePasswordResetRequestRisk(ctx context.Context, r phone.PasswordResetInitiationRiskRequest) (risk.PhoneEvidenceResult, error)
- func (*PhonePasswordResetService) Format(s fmt.State, _ rune)
- func (*PhonePasswordResetService) MarshalJSON() ([]byte, error)
- func (*PhonePasswordResetService) MarshalText() ([]byte, error)
- func (s *PhonePasswordResetService) PasswordResetComplete(ctx context.Context, r phone.PasswordResetCompleteRequest) (phone.PasswordResetCompleteResult, error)
- func (s *PhonePasswordResetService) PasswordResetCompletionRateSource(ctx context.Context, p capability.Proof, f otp.SendFlow, ...) (identity.UserID, identity.CredentialID, string, time.Duration, error)
- func (s *PhonePasswordResetService) PasswordResetRequest(ctx context.Context, r phone.PasswordResetRequestRequest) (phone.PasswordResetRequestResult, error)
- func (s *PhonePasswordResetService) RecoverPasswordResetComplete(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (phone.PasswordResetCompleteResult, error)
- func (s *PhonePasswordResetService) RecoverPasswordResetRequest(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (phone.PasswordResetRequestResult, error)
- type PhoneRemovalConfiguration
- type PhoneRemovalService
- func (*PhoneRemovalService) Format(s fmt.State, _ rune)
- func (*PhoneRemovalService) MarshalJSON() ([]byte, error)
- func (*PhoneRemovalService) MarshalText() ([]byte, error)
- func (s *PhoneRemovalService) RecoverRemoval(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (identity.CommandResult, error)
- func (s *PhoneRemovalService) RemovalRateSource(ctx context.Context, r phone.RemoveRequest) (identity.UserID, error)
- func (s *PhoneRemovalService) Remove(ctx context.Context, r phone.RemoveRequest) (identity.CommandResult, error)
- type PhoneService
- func (*PhoneService) Format(s fmt.State, _ rune)
- func (*PhoneService) MarshalJSON() ([]byte, error)
- func (*PhoneService) MarshalText() ([]byte, error)
- func (s *PhoneService) PhoneEnrollmentDestination(ctx context.Context, r phone.EnrollmentRequest) (phone.Number, error)
- func (s *PhoneService) PhoneVerificationLifetime(ctx context.Context, r phone.VerificationRequest) (time.Duration, error)
- func (s *PhoneService) PhoneVerificationSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
- func (s *PhoneService) RecoverVerification(ctx context.Context, r phone.VerificationRecoveryRequest) (phone.VerificationResult, error)
- func (s *PhoneService) SendVerification(ctx context.Context, r phone.EnrollmentRequest) (phone.EnrollmentResult, error)
- func (s *PhoneService) Verify(ctx context.Context, r phone.VerificationRequest) (phone.VerificationResult, error)
- type PhoneSigninConfiguration
- type PhoneTOTPConfiguration
- type PreAuthService
- type ProviderConfig
- type ProviderSet
- type Readiness
- type ReadinessCode
- type ReferenceConfig
- type ReferenceDependencies
- type ReferenceMigrationApplyRequest
- type ReferenceMigrationApplyResult
- type ReferenceMigrationCheckRequest
- type ReferenceMigrationCheckResult
- type ReferenceMigrationPlanRequest
- type ReferenceMigrationPlanResult
- type Server
- func (Server) Format(s fmt.State, _ rune)
- func (s *Server) Handler() http.Handler
- func (s *Server) Health(ctx context.Context) Readiness
- func (Server) MarshalJSON() ([]byte, error)
- func (Server) MarshalText() ([]byte, error)
- func (s *Server) OpenAPI() identityhttp.OpenAPIDocument
- func (s *Server) Readiness(ctx context.Context) Readiness
- type SessionConfiguration
- type SessionService
- type StoreConfiguration
- type StoreSet
- func (s StoreSet) BootstrapOAuthWorkloads(ctx context.Context) error
- func (s StoreSet) Close(ctx context.Context) error
- func (StoreSet) Format(s fmt.State, _ rune)
- func (StoreSet) MarshalJSON() ([]byte, error)
- func (StoreSet) MarshalText() ([]byte, error)
- func (s StoreSet) MigrationSource() migrations.Source
- func (s StoreSet) RecoverVelocity(ctx context.Context, tenant string) (store risk.CounterStore, err error)
- func (s StoreSet) ReferenceMigrationApply(ctx context.Context, input ReferenceMigrationApplyRequest) (out ReferenceMigrationApplyResult, failure error)
- func (s StoreSet) ReferenceMigrationCheck(ctx context.Context, req ReferenceMigrationCheckRequest) (ReferenceMigrationCheckResult, error)
- func (s StoreSet) ReferenceMigrationPlan(ctx context.Context, req ReferenceMigrationPlanRequest) (ReferenceMigrationPlanResult, error)
- type TenantPolicy
- type TenantResolver
- type UsernameConfiguration
- type UsernameRenameConfiguration
- type UsernameRenameService
- type UsernameTOTPConfiguration
- type VelocityStoreConfiguration
- type VerificationSessionLineage
- type VerificationTOTPConfiguration
- type WorkerPolicy
- type WorkerSet
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIKeyConfiguration ¶
type APIKeyConfiguration struct {
// MetadataPaging selects the native additive owner paging indexes. Exact-key
// Get needs no extra schema; selected HTTP List requires this explicit choice.
MetadataPaging bool
// OrganizationOwned selects the actual organization repository and its
// independent credential epoch. Organization must also be configured.
OrganizationOwned bool
Configuration apikey.Configuration
MaximumDuration time.Duration
PolicyID string
Pepper apikey.Pepper
Counters riskpg.Config
RiskConfigurationID string
RiskKeys []risk.EvidenceKey
ActiveEnvelopeKeyID string
RetainedEnvelopeKeys map[string][]byte
// LegacyConfiguration independently selects one verify-only SHA-256 profile.
// Zero preserves modern-only storage, startup and operation selection.
LegacyConfiguration apikey.Configuration
// ValidateCanonicalKeyID is required only with LegacyConfiguration. It must
// honor cancellation, preserve existing canonical IDs and be concurrency-safe.
// It supplies identifier policy, never owner or import-source authority.
ValidateCanonicalKeyID func(context.Context, apikey.KeyID) error
}
APIKeyConfiguration selects native password-bearer key management, independently of HTTP. User ownership is the default; organization ownership requires the explicit selected native owner. Modern issuance remains mandatory; legacy digest import and verification require explicit selection. Current session/profile, policy, coordinator, request-key and risk-evaluator ownership are derived from this graph; callers supply no replacement authority or domain store. Counters must select the same protected policy/version and schema, with lockout enforcement. Pepper, envelope and risk key history must be retained for original pending commands. Construction copies custody; MaximumDuration is positive and at most5s.
func (APIKeyConfiguration) MarshalJSON ¶
func (APIKeyConfiguration) MarshalJSON() ([]byte, error)
func (APIKeyConfiguration) MarshalText ¶
func (APIKeyConfiguration) MarshalText() ([]byte, error)
type APIKeyMetadataRateConfiguration ¶
type APIKeyMetadataRateConfiguration struct {
Namespace string
EmergencyMaximumKeys int
Degraded func(context.Context, identityhttp.SafeRateEvent) error
}
APIKeyMetadataRateConfiguration selects a safe-read owner only when no other safe HTTP owner is selected. Degraded must synchronously record emergency decisions within ctx and support concurrent calls; it grants no key authority.
func (APIKeyMetadataRateConfiguration) Format ¶
func (APIKeyMetadataRateConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment policy and callbacks.
func (APIKeyMetadataRateConfiguration) MarshalJSON ¶
func (APIKeyMetadataRateConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit callback/policy export.
func (APIKeyMetadataRateConfiguration) MarshalText ¶
func (APIKeyMetadataRateConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit callback/policy export.
type APIKeyService ¶
type APIKeyService struct {
// contains filtered or unexported fields
}
APIKeyService exposes the selected native management and atomic verification owner behind this graph's startup, tenant and shutdown guards. It owns no pool or separate journal. Independent calls are concurrent-safe; recovery remains original status observation, not execution or secret reconstruction.
func (*APIKeyService) Create ¶
func (a *APIKeyService) Create(ctx context.Context, r apikey.CreateRequest) (apikey.IssuanceResult, error)
Create retains original keyed self-owned native issuance and reveal custody.
func (*APIKeyService) CreateOrganization ¶
func (a *APIKeyService) CreateOrganization(ctx context.Context, r apikey.OrganizationCreateRequest) (apikey.IssuanceResult, error)
CreateOrganization retains genuine current human management independently of the explicitly selected organization credential owner. It shares this graph's admission, lifetime and native original reveal-once custody.
func (*APIKeyService) Get ¶
func (a *APIKeyService) Get(ctx context.Context, r apikey.GetRequest) (apikey.GetResult, error)
Get returns copied stored metadata under current native human/owner policy. It retains this graph's tenant/startup/shutdown guards and never verifies or debits a key. Exact-key lookup requires no optional paging migration.
func (*APIKeyService) Import ¶
func (a *APIKeyService) Import(ctx context.Context, r apikey.ImportRequest) (identity.CommandResult, error)
Import retains the selected native digest-only workflow, current source and owner authorization, and original outcome recovery. It never issues a key.
func (*APIKeyService) List ¶
func (a *APIKeyService) List(ctx context.Context, r apikey.ListRequest) (apikey.ListResult, error)
List returns a bounded live-view page under repeated current native policy. Its cursor grants no authority or held snapshot. Select MetadataPaging and apply its owned migrations first; otherwise the native read fails closed.
func (APIKeyService) MarshalJSON ¶
func (APIKeyService) MarshalJSON() ([]byte, error)
func (APIKeyService) MarshalText ¶
func (APIKeyService) MarshalText() ([]byte, error)
func (*APIKeyService) ReconcileVerifyAndConsume ¶
func (a *APIKeyService) ReconcileVerifyAndConsume(ctx context.Context, r apikey.VerificationReconcileQuery) (apikey.AtomicVerificationResult, error)
ReconcileVerifyAndConsume observes one exact original verification attempt. It preserves original authority deadlines and does not execute missing work.
func (*APIKeyService) Recover ¶
func (a *APIKeyService) Recover(ctx context.Context, r apikey.RecoveryRequest) (identity.CommandResult, error)
Recover observes the exact original command under current native authority.
func (*APIKeyService) RecoverOrganization ¶
func (a *APIKeyService) RecoverOrganization(ctx context.Context, id apikey.OrganizationID, r apikey.RecoveryRequest) (identity.CommandResult, error)
RecoverOrganization observes only the exact original command under current member authority. Retain its target even when an unknown create has no key row; status recovery neither executes work nor reconstructs key plaintext.
func (*APIKeyService) Revoke ¶
func (a *APIKeyService) Revoke(ctx context.Context, r apikey.Revocation) (identity.CommandResult, error)
Revoke retains native terminal tombstones and exact original-key effects.
func (*APIKeyService) Rotate ¶
func (a *APIKeyService) Rotate(ctx context.Context, r apikey.Rotation) (apikey.IssuanceResult, error)
Rotate retains zero-overlap native successor issuance without widening grants.
func (*APIKeyService) Update ¶
func (a *APIKeyService) Update(ctx context.Context, r apikey.UpdateRequest) (apikey.UpdateResult, error)
Update replaces only a key's name and non-expanding permission ceiling under native current fresh authority. It retains graph lifetime/tenant guards and exact original-key recovery, returning copied metadata without key material.
func (*APIKeyService) VerifyAndConsume ¶
func (a *APIKeyService) VerifyAndConsume(ctx context.Context, r apikey.AtomicVerificationRequest) (apikey.AtomicVerificationResult, error)
VerifyAndConsume retains native atomic current-authority verification and narrowing, including persisted denial. It never issues a browser session.
type AnonymousConfiguration ¶
type AnonymousConfiguration struct {
Signin anonymouspg.SigninConfig
Validation session.ServiceConfig
PreAuth PasswordPreAuthConfiguration
Deletion *anonymouspg.DeletionConfig
Upgrade *AnonymousUpgradeConfiguration
Cleanup *anonymouspg.CleanupConfig
}
AnonymousConfiguration selects native guest creation/read and optionally self-deletion, upgrade and trusted abandoned-guest maintenance. It enables no HTTP or scheduler. Cleanup is independent of Deletion; its Clock must be nil for this graph's system-clock injection. Signin.Risk.Evaluation must be zero for injection of this graph's counted owner. PreAuth selects its exact original-flow initiation; lookup key comes from Signin.FlowKeys. Deletion uses the same repository/session/profile/CSRF policy as issuance and its real protected counter owner. No application domain stores are accepted.
func (AnonymousConfiguration) MarshalJSON ¶
func (AnonymousConfiguration) MarshalJSON() ([]byte, error)
func (AnonymousConfiguration) MarshalText ¶
func (AnonymousConfiguration) MarshalText() ([]byte, error)
type AnonymousService ¶
type AnonymousService struct {
// contains filtered or unexported fields
}
AnonymousService retains this graph's actual native guest workflows. It owns no resources; independent calls are concurrency-safe and preserve tenant, initialization, shutdown and original native deadlines. Zero denies. Recovery reconciles original commands only, never reexecutes or redelivers credentials. Unsupported operations remain unavailable even if a sibling was selected.
func (*AnonymousService) CleanupExpired ¶
func (f *AnonymousService) CleanupExpired(ctx context.Context, r anonymouspg.CleanupRequest) (anonymouspg.CleanupResult, error)
CleanupExpired executes explicitly selected, tenant-bound maintenance under its configured service actor. It enables no HTTP route or background job. Individual items retain the native original-command recovery contract.
func (*AnonymousService) Delete ¶
func (f *AnonymousService) Delete(ctx context.Context, r anonymous.DeletionRequest) (anonymous.DeletionResult, error)
Delete executes selected native self-disposal with required atomic effects.
func (*AnonymousService) Format ¶
func (*AnonymousService) Format(s fmt.State, _ rune)
Format hides retained graph resources and custody for every formatting verb.
func (*AnonymousService) Get ¶
func (f *AnonymousService) Get(ctx context.Context, r session.GetRequest) (session.AnonymousGetResult, error)
Get recognizes explicitly unprivileged guest custody, never a verified user.
func (*AnonymousService) MarshalJSON ¶
func (*AnonymousService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit export of borrowed graph custody.
func (*AnonymousService) MarshalText ¶
func (*AnonymousService) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key export of borrowed graph custody.
func (*AnonymousService) RecoverCleanup ¶
func (f *AnonymousService) RecoverCleanup(ctx context.Context, q identity.RecoveryQuery) (anonymouspg.CleanupItem, error)
RecoverCleanup reconciles an original service-owned cleanup command without requiring an expired guest credential or repeating its disposal.
func (*AnonymousService) RecoverDeletion ¶
func (f *AnonymousService) RecoverDeletion(ctx context.Context, r anonymous.DeletionRecoveryRequest) (anonymous.DeletionResult, error)
RecoverDeletion queries retained original possession, not new active admission.
func (*AnonymousService) RecoverSignin ¶
func (f *AnonymousService) RecoverSignin(ctx context.Context, r anonymous.SigninRecoveryRequest) (anonymous.SigninResult, error)
RecoverSignin authenticates original flow possession for metadata-only query.
func (*AnonymousService) RecoverUpgrade ¶
func (f *AnonymousService) RecoverUpgrade(ctx context.Context, r anonymous.UpgradeRecoveryRequest) (anonymous.UpgradeResult, error)
RecoverUpgrade retains both original command scopes without credential reveal.
func (*AnonymousService) Signin ¶
func (f *AnonymousService) Signin(ctx context.Context, r anonymous.SigninRequest) (anonymous.SigninResult, error)
Signin executes the selected actual keyed guest-creation workflow once.
func (*AnonymousService) Upgrade ¶
func (f *AnonymousService) Upgrade(ctx context.Context, r anonymous.UpgradeRequest) (anonymous.UpgradeResult, error)
Upgrade delegates to the native two-command, one-use protected transition.
type AnonymousUpgradeConfiguration ¶
type AnonymousUpgradeConfiguration struct {
Primary passwordpg.ActionPrimaryConfig
ProofAudience string
Issuer session.IssuerConfig
CSRF session.CSRFKey
Capability capabilitypg.IssuerConfig
CapabilityPreparation capabilitypg.IssuancePreparationConfig
}
AnonymousUpgradeConfiguration selects the finite existing-password target without resource transfers. Primary must name identity.anonymous.upgrade and use cookie custody with CSRFKeys absent; this graph injects its existing password verification/target session owners and synchronizers. ProofAudience is the selected target session audience in this profile. Capability custody retains the native issuer/preparation keys for original-command recovery. Issuer and CSRF must match the selected permanent cookie policy and retained read/signout keys; incompatible replacement credentials fail at composition.
func (AnonymousUpgradeConfiguration) Format ¶
func (AnonymousUpgradeConfiguration) Format(s fmt.State, _ rune)
func (AnonymousUpgradeConfiguration) MarshalJSON ¶
func (AnonymousUpgradeConfiguration) MarshalJSON() ([]byte, error)
func (AnonymousUpgradeConfiguration) MarshalText ¶
func (AnonymousUpgradeConfiguration) MarshalText() ([]byte, error)
type BootstrapPolicy ¶
type BootstrapPolicy struct{ Enabled bool }
BootstrapPolicy selects the offline bootstrap operation. Enabling remains rejected until its native one-time authority workflow is composed.
type DegradationCode ¶
type DegradationCode string
DegradationCode is a stable opaque optional-dependency label.
type DeliveryConfiguration ¶
type DeliveryConfiguration struct {
Enqueue deliverypg.EnqueueConfig
Templates []delivery.Template
}
DeliveryConfiguration owns delivery custody, retained policies and templates once for OTP and its real delivery workers. StateTracking is mandatory. Native receipt/cancellation/reconciliation selections retain their adapter semantics; this slice exposes processing, not their complete operator APIs. Authorization is the exact existing service in OTP.RequestKeys.Policy. Workers share the strictest retained SenderConcurrency ceiling, acquired before claiming. Supply a dedicated sender instance for this graph; sharing it with unrelated graphs or direct callers requires external capacity control.
func (DeliveryConfiguration) MarshalJSON ¶
func (DeliveryConfiguration) MarshalJSON() ([]byte, error)
func (DeliveryConfiguration) MarshalText ¶
func (DeliveryConfiguration) MarshalText() ([]byte, error)
type DeploymentProfile ¶
type DeploymentProfile uint8
DeploymentProfile selects authoritative PostgreSQL with optional Valkey. Zero is invalid. PostgreSQL-only selects durable admission; the optional Valkey profile keeps its explicit native recovery and coverage requirements.
const ( PostgresOnly DeploymentProfile = iota + 1 PostgresWithValkey )
type DurableAdmissionConfiguration ¶
type DurableAdmissionConfiguration struct {
Schema, Namespace string
Policy risk.Policy
Keys []risk.CounterDigestKey
ReplayKey []byte
Tenants []string
MaximumRecords int64
Timeout time.Duration
}
DurableAdmissionConfiguration selects the PostgreSQL-only deployment's durable fixed-window admission authority. No store or fabricated result may be supplied by callers. Namespace/replay custody is stable across restarts; dimension Keys retain complete newest-first history. Tenants is an explicit 1..128 scope allowlist. MaximumRecords and Timeout obey DurableCounterConfig. Capacity exhaustion denies rather than evicting retained attempts. Protected mutation counters remain owned by their native transaction participants.
func (DurableAdmissionConfiguration) Format ¶
func (DurableAdmissionConfiguration) Format(s fmt.State, _ rune)
func (DurableAdmissionConfiguration) MarshalJSON ¶
func (DurableAdmissionConfiguration) MarshalJSON() ([]byte, error)
func (DurableAdmissionConfiguration) MarshalText ¶
func (DurableAdmissionConfiguration) MarshalText() ([]byte, error)
type EmailAddressAuditConfiguration ¶
EmailAddressAuditConfiguration bounds required administrative acknowledgements within the query deadline. No retries, detached writes or fail-open fallback are selected. The graph borrows its existing PostgreSQL pool.
type EmailAddressConfiguration ¶
type EmailAddressConfiguration struct {
Native identity.UserQueryConfig
Redact identity.RedactFunc
// AdministrativeAudit explicitly selects required access auditing through
// the existing native PostgreSQL audit owner, not another domain store.
AdministrativeAudit *EmailAddressAuditConfiguration
}
EmailAddressConfiguration selects authorized primary list/get. Native.Clock must be absent: the actual session authority supplies it. Canonical-ID and disclosure callbacks are explicit bounded application policy, not stores or browser authority. The graph supplies the primary repository and authorizer.
func (EmailAddressConfiguration) Format ¶
func (EmailAddressConfiguration) Format(s fmt.State, _ rune)
Format redacts application disclosure and canonical-ID callbacks.
func (EmailAddressConfiguration) MarshalJSON ¶
func (EmailAddressConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit policy export.
func (EmailAddressConfiguration) MarshalText ¶
func (EmailAddressConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit policy text export.
type EmailAddressService ¶
type EmailAddressService struct {
// contains filtered or unexported fields
}
EmailAddressService retains graph lifetime for authorized email primary reads. It grants no authentication or administrative rights. Zero denies.
func (*EmailAddressService) AddressGet ¶
func (s *EmailAddressService) AddressGet(ctx context.Context, r email.AddressGetRequest) (email.AddressGetResult, error)
AddressGet delegates current owner/admin policy and safe projection.
func (*EmailAddressService) AddressList ¶
func (s *EmailAddressService) AddressList(ctx context.Context, r email.AddressListRequest) (email.AddressListResult, error)
AddressList delegates bounded, scope-bound pagination without mutation.
func (*EmailAddressService) AdministrativeQueriesConfigured ¶
func (s *EmailAddressService) AdministrativeQueriesConfigured() bool
AdministrativeQueriesConfigured reports live required-audit composition only, never a permission or identity-validity guarantee. A closed graph denies.
func (EmailAddressService) Format ¶
func (EmailAddressService) Format(s fmt.State, _ rune)
Format redacts retained graph and authorization custody.
func (EmailAddressService) LogValue ¶
func (EmailAddressService) LogValue() slog.Value
LogValue emits no graph or policy metadata.
func (EmailAddressService) MarshalJSON ¶
func (EmailAddressService) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit query-owner export.
func (EmailAddressService) MarshalText ¶
func (EmailAddressService) MarshalText() ([]byte, error)
MarshalText denies implicit query-owner text export.
type EmailAddressStandaloneRateConfiguration ¶
type EmailAddressStandaloneRateConfiguration struct {
Namespace string
EmergencyMaximumKeys int
Degraded func(context.Context, identityhttp.SafeRateEvent) error
}
EmailAddressStandaloneRateConfiguration selects canonical safe-rate policy only when no existing HTTP session/MFA-list safe limiter is selected. It grants no identity authority. Degraded must synchronously record each fallback within ctx; it must be concurrency-safe and launch no detached work.
type EmailConfiguration ¶
type EmailConfiguration struct {
Verification *EmailManagementConfiguration
Change *EmailManagementConfiguration
Addresses *EmailAddressConfiguration
Removal *EmailRemovalConfiguration
OTPVerification *EmailOTPVerificationConfiguration
OTPChange *EmailOTPChangeConfiguration
// OTPChangeInitialPrimary explicitly permits the existing sole-verified,
// no-primary change policy through OTP. OTPChange must also be selected.
// Zero preserves genuine-primary-only behavior and enables no HTTP route.
OTPChangeInitialPrimary bool
// TOTPChange selects active-TOTP proof admission for Change only. It
// requires explicit MFA ActiveStepUp.EmailChange, a genuine verified primary
// and matching proof audience. Zero retains password/known-empty admission.
// The selected link cannot outlive original proof/freshness/session custody.
// New-address OTP and initial-primary variants are not selected by this flag.
TOTPChange bool
}
EmailConfiguration selects native email capabilities, not HTTP. Nil entries expose no handle or feature. Management uses the selected password verification owner's original proof/session authority; address reads use the graph's authorization and disclosure policy. Removal requires actual selected password signin/reset owners. No UI or auto-signin is enabled.
func (EmailConfiguration) Format ¶
func (EmailConfiguration) Format(s fmt.State, _ rune)
Format redacts borrowed native policy and key custody.
func (EmailConfiguration) MarshalJSON ¶
func (EmailConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (EmailConfiguration) MarshalText ¶
func (EmailConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text export.
type EmailManagementConfiguration ¶
type EmailManagementConfiguration struct {
Native passwordpg.EmailManagementConfig
Primary passwordpg.EmailPrimaryConfig
Counters riskpg.Config
// Keyed optionally enables original-input correlation on the same native
// journal. Nil exposes no keyed calls; unkeyed native calls stay unchanged.
// Request-key policy must use the graph's current query-policy revision.
Keyed *passwordpg.KeyedEmailManagementConfig
}
EmailManagementConfiguration selects one delivered-link native workflow. Primary.Action and Primary.CSRFKeys must be absent: the selected slot fixes action, and cookie mode borrows the graph's actual verification synchronizer. Primary audience/age/transport must be explicit and its exact target must be allowed by PasswordVerification. Native counters/evaluator/evidence keys, counter policy and delivery renderer/owner must be absent; this graph supplies those owners. Counters uses the existing risk namespace and policy revision. Change notification renderer, when selected, also comes from graph templates. Configuration callbacks/resources are borrowed, bounded and concurrency-safe.
func (EmailManagementConfiguration) Format ¶
func (EmailManagementConfiguration) Format(s fmt.State, _ rune)
Format redacts borrowed native proof, risk and delivery configuration.
func (EmailManagementConfiguration) MarshalJSON ¶
func (EmailManagementConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit native configuration export.
func (EmailManagementConfiguration) MarshalText ¶
func (EmailManagementConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit native text export.
type EmailOTPChangeConfiguration ¶
type EmailOTPChangeConfiguration EmailOTPVerificationConfiguration
EmailOTPChangeConfiguration has the same explicit bounded issuance and key fields as EmailOTPVerificationConfiguration, but Policy must select email change. It requires Email.Change with its old-address notice, actual password session authority and an independent request-key namespace. The graph supplies the original native owner; callers cannot substitute origin custody. Native selection enables no HTTP route or automatic login. First-primary establishment additionally requires Email.OTPChangeInitialPrimary and the original explicit sole-verified change policy; zero retains genuine-primary replacement only.
func (EmailOTPChangeConfiguration) Format ¶
func (EmailOTPChangeConfiguration) Format(s fmt.State, _ rune)
Format redacts retained session/request keys and deployment configuration.
func (EmailOTPChangeConfiguration) MarshalJSON ¶
func (EmailOTPChangeConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit key export.
func (EmailOTPChangeConfiguration) MarshalText ¶
func (EmailOTPChangeConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit key export.
type EmailOTPChangeService ¶
type EmailOTPChangeService struct {
// contains filtered or unexported fields
}
EmailOTPChangeService borrows the selected native genuine-primary workflow. It owns no pool, journal or goroutines. Calls preserve original custody and obey graph, caller and native bounds. Zero and retained closed handles deny.
func (*EmailOTPChangeService) EmailChangeChallenge ¶
func (s *EmailOTPChangeService) EmailChangeChallenge(ctx context.Context, r otp.EmailChangeConfirmRequest) (otp.EmailChangeChallenge, error)
EmailChangeChallenge preserves original purpose/target/session scope for transport budgets; it compares no code and grants no replacement permission.
func (*EmailOTPChangeService) EmailChangeConfirm ¶
func (s *EmailOTPChangeService) EmailChangeConfirm(ctx context.Context, r otp.EmailChangeConfirmRequest) (otp.EmailChangeResult, error)
EmailChangeConfirm preserves the sole atomic primary/notice/OTP transition.
func (*EmailOTPChangeService) EmailChangeRequest ¶
func (s *EmailOTPChangeService) EmailChangeRequest(ctx context.Context, r otp.EmailChangeRequest) (otp.SendResult, error)
EmailChangeRequest preserves independent native issuance and original intent.
func (*EmailOTPChangeService) EmailChangeSendDestination ¶
func (s *EmailOTPChangeService) EmailChangeSendDestination(ctx context.Context, r otp.EmailChangeRequest) (otp.DestinationInput, error)
EmailChangeSendDestination preserves authentic original transport budget correlation without issuance, mutable recipient substitution or renewal.
func (*EmailOTPChangeService) EmailChangeSession ¶
func (s *EmailOTPChangeService) EmailChangeSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
EmailChangeSession authenticates original token possession without renewing its validity or granting current mutation/disclosure authority.
func (*EmailOTPChangeService) Format ¶
func (*EmailOTPChangeService) Format(s fmt.State, _ rune)
Format redacts graph internals.
func (*EmailOTPChangeService) LogValue ¶
func (*EmailOTPChangeService) LogValue() slog.Value
LogValue redacts graph internals.
func (*EmailOTPChangeService) MarshalJSON ¶
func (*EmailOTPChangeService) MarshalJSON() ([]byte, error)
MarshalJSON rejects graph export.
func (*EmailOTPChangeService) MarshalText ¶
func (*EmailOTPChangeService) MarshalText() ([]byte, error)
MarshalText rejects graph export.
func (*EmailOTPChangeService) RecoverEmailChange ¶
func (s *EmailOTPChangeService) RecoverEmailChange(ctx context.Context, r otp.EmailChangeRecoveryRequest) (otp.EmailChangeResult, error)
RecoverEmailChange observes original metadata without comparison or mutation.
type EmailOTPVerificationConfiguration ¶
type EmailOTPVerificationConfiguration struct {
Policy otp.AttemptPolicy
Domain kernel.EmailAttachmentDomainConfig
SessionKeys map[uint32][]byte
FreshnessLimit time.Duration
CurrentAttemptKeyVersion uint32
RequestKeys kernel.RequestKeyConfig
IntentKey, IdentifierKey [32]byte
TemplateID string
TemplateVersion uint32
LocaleChain []string
// VerificationHooks is explicit completion policy/observation, not delivery
// or send policy. Each OTP workflow selects it independently; nil disables.
VerificationHooks *email.VerificationHooks
}
EmailOTPVerificationConfiguration selects native pending-email OTP separately from link management and HTTP. Policy is explicitly email verification. SessionKeys must read the graph's current password issuer and may contain only graph-readable retained versions. FreshnessLimit is explicit and cannot renew the session owner's earlier freshness/lifetime. RequestKeys uses a dedicated namespace with the same authoritative policy/revision as OTP. Native pools, risk evaluator, codec/delivery owners and migrations come from this graph.
func (EmailOTPVerificationConfiguration) Format ¶
func (EmailOTPVerificationConfiguration) Format(s fmt.State, _ rune)
Format redacts retained session and request-key configuration.
func (EmailOTPVerificationConfiguration) MarshalJSON ¶
func (EmailOTPVerificationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects configuration export.
func (EmailOTPVerificationConfiguration) MarshalText ¶
func (EmailOTPVerificationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects configuration export.
type EmailOTPVerificationService ¶
type EmailOTPVerificationService struct {
// contains filtered or unexported fields
}
EmailOTPVerificationService borrows the graph's selected native workflow. It owns no pool, journal or goroutines. Calls borrow actual original session possession, obey graph/caller bounds and deny after graph Close. Zero denies.
func (*EmailOTPVerificationService) EmailVerificationChallenge ¶
func (s *EmailOTPVerificationService) EmailVerificationChallenge(ctx context.Context, r otp.EmailVerifyRequest) (otp.EmailVerificationChallenge, error)
EmailVerificationChallenge preserves authenticated original verification correlation for transport budgets, not code proof or renewed validity.
func (*EmailOTPVerificationService) EmailVerificationSendDestination ¶
func (s *EmailOTPVerificationService) EmailVerificationSendDestination(ctx context.Context, r otp.EmailVerificationSendRequest) (otp.DestinationInput, error)
EmailVerificationSendDestination preserves original keyed source for budgets; it creates no preparation, challenge or delivery and grants no admission.
func (*EmailOTPVerificationService) EmailVerificationSession ¶
func (s *EmailOTPVerificationService) EmailVerificationSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
EmailVerificationSession maps original token possession for transport only; it neither validates a current session nor renews its lifetime or authority.
func (*EmailOTPVerificationService) EmailVerify ¶
func (s *EmailOTPVerificationService) EmailVerify(ctx context.Context, r otp.EmailVerifyRequest) (otp.EmailVerifyResult, error)
EmailVerify preserves native atomic code use and pending-address verification.
func (*EmailOTPVerificationService) RecoverEmailVerify ¶
func (s *EmailOTPVerificationService) RecoverEmailVerify(ctx context.Context, r otp.EmailVerifyRecoveryRequest) (otp.EmailVerifyResult, error)
RecoverEmailVerify observes only original native metadata, never a new code comparison, address projection, session, resend or mutation.
func (*EmailOTPVerificationService) SendEmailVerification ¶
func (s *EmailOTPVerificationService) SendEmailVerification(ctx context.Context, r otp.EmailVerificationSendRequest) (otp.SendResult, error)
SendEmailVerification preserves native current authority, risk, one-code issuance and original request correlation; it verifies no address itself.
type EmailRemovalConfiguration ¶
type EmailRemovalConfiguration struct {
Native passwordpg.EmailRemovalConfig
Primary passwordpg.EmailPrimaryConfig
Counters riskpg.Config
}
EmailRemovalConfiguration selects protected native self-removal without HTTP. Primary.Action/CSRFKeys and Native counters/provider evaluator/keys/policy must be absent; the graph supplies those actual owners. Both password signin and emailed reset request/completion must be selected. Native.Domain defines the explicit primary/recovery, reuse and pending lifecycle admission policy. Borrowed configuration callbacks/resources must remain concurrency-safe.
func (EmailRemovalConfiguration) Format ¶
func (EmailRemovalConfiguration) Format(s fmt.State, _ rune)
Format redacts retained proof, key and policy custody.
func (EmailRemovalConfiguration) MarshalJSON ¶
func (EmailRemovalConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (EmailRemovalConfiguration) MarshalText ¶
func (EmailRemovalConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export.
type EmailRemovalService ¶
type EmailRemovalService struct {
// contains filtered or unexported fields
}
EmailRemovalService binds selected native removal to the composed graph lifetime. It owns no pool, proof authority, journal or goroutine. Calls borrow request custody until return; retained handles deny after graph Close. Zero denies.
func (*EmailRemovalService) AddressRemove ¶
func (s *EmailRemovalService) AddressRemove(ctx context.Context, r email.AddressRemoveRequest) (identity.CommandResult, error)
AddressRemove preserves native original-input correlation, fresh proof, actual remaining signin/reset eligibility and atomic revocation/cascade.
func (*EmailRemovalService) AddressRemoveRateSource ¶
func (s *EmailRemovalService) AddressRemoveRateSource(ctx context.Context, r email.AddressRemoveRequest) (identity.UserID, error)
AddressRemoveRateSource authenticates original correlation before transport admission without removal or proof consumption. The user must not be logged.
func (*EmailRemovalService) AddressRemoveRecover ¶
func (s *EmailRemovalService) AddressRemoveRecover(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (identity.CommandResult, error)
AddressRemoveRecover observes the original scoped outcome under current query authorization. It cannot repeat removal or refresh original evidence.
func (*EmailRemovalService) AdministrativeRemovalConfigured ¶
func (s *EmailRemovalService) AdministrativeRemovalConfigured() bool
AdministrativeRemovalConfigured reports explicit live native selection, not permission, authentication or renewed validity. Closed graphs deny.
func (EmailRemovalService) Format ¶
func (EmailRemovalService) Format(s fmt.State, _ rune)
Format redacts native graph and proof custody.
func (EmailRemovalService) LogValue ¶
func (EmailRemovalService) LogValue() slog.Value
LogValue exposes no graph, credential or policy metadata.
func (EmailRemovalService) MarshalJSON ¶
func (EmailRemovalService) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit runtime export.
func (EmailRemovalService) MarshalText ¶
func (EmailRemovalService) MarshalText() ([]byte, error)
MarshalText denies implicit runtime export.
type FeatureSet ¶
type FeatureSet struct {
// contains filtered or unexported fields
}
FeatureSet exposes only selected public workflow interfaces, never concrete adapter stores. Unselected workflows remain unavailable, including OTP and delivery in the explicit passkey-only profile. Initialize and RecoverVelocity remain explicit, separate startup operations.
func ComposeFeatures ¶
func ComposeFeatures(stores StoreSet, providers ProviderSet, workers WorkerSet) (FeatureSet, error)
ComposeFeatures consumes the same sealed stores/providers/workers exactly once. A foreign graph or absent native worker fails before exposing features.
func (FeatureSet) APIKeys ¶
func (f FeatureSet) APIKeys() (*APIKeyService, error)
APIKeys returns the independently selected native owner without IO or HTTP activation. Handles may be retained before initialization; calls cannot run before readiness or after graph closure.
func (FeatureSet) Anonymous ¶
func (f FeatureSet) Anonymous() (*AnonymousService, error)
Anonymous returns selected native guest operations without enabling HTTP or performing IO. The retained handle cannot outlive the graph's active lifetime.
func (FeatureSet) AnonymousPreAuth ¶
func (f FeatureSet) AnonymousPreAuth() (PreAuthService, error)
AnonymousPreAuth returns the selected native anonymous-flow issuer without enabling HTTP or changing OTP/password initiation. Preparation, issuance and metadata-only recovery retain graph initialization, tenant and shutdown guards.
func (FeatureSet) CookiePasswordChange ¶
func (f FeatureSet) CookiePasswordChange() (password.CookieChangeService, error)
CookiePasswordChange returns the distinct native CSRF-protected workflow. Missing cookie selection denies without bearer fallback. Retained handles deny after Close; obtaining a handle exposes no HTTP route and performs no IO.
func (FeatureSet) CookiePasswordVerification ¶
func (f FeatureSet) CookiePasswordVerification() (password.CookieVerificationService, error)
CookiePasswordVerification returns the distinct synchronizer-protected native workflow. Missing cookie selection denies, with no tokenless bearer fallback. Obtaining either handle starts no IO and implicitly exposes no HTTP route.
func (FeatureSet) EmailAddresses ¶
func (f FeatureSet) EmailAddresses() (*EmailAddressService, error)
EmailAddresses returns only explicitly selected list/get capabilities.
func (FeatureSet) EmailChange ¶
func (f FeatureSet) EmailChange() (*ManagedEmailService, error)
EmailChange exposes the separately selected request/confirmation/notice workflow. Original password verification must select its exact action target.
func (FeatureSet) EmailChangeRequests ¶
func (f FeatureSet) EmailChangeRequests() (email.ChangeRequestService, error)
EmailChangeRequests returns the separately selected keyed change-request port. New-address confirmation and old-address notification remain native effects; this handle never promotes an address or silently selects a proof policy.
func (FeatureSet) EmailOTPChange ¶
func (f FeatureSet) EmailOTPChange() (*EmailOTPChangeService, error)
EmailOTPChange exposes only explicit native selection; HTTP is independent.
func (FeatureSet) EmailOTPVerification ¶
func (f FeatureSet) EmailOTPVerification() (*EmailOTPVerificationService, error)
EmailOTPVerification exposes only explicit native selection, not an HTTP route, proof or authorization lease. Missing composition fails closed.
func (FeatureSet) EmailRemoval ¶
func (f FeatureSet) EmailRemoval() (*EmailRemovalService, error)
EmailRemoval exposes only explicitly selected safe removal. No route is created and no unsupported factor or recovery owner is silently substituted.
func (FeatureSet) EmailVerification ¶
func (f FeatureSet) EmailVerification() (*ManagedEmailService, error)
EmailVerification exposes the selected add/resend/verify native workflow. It creates no HTTP route, resource or goroutine. Retained handles deny after graph Close; the caller does not acquire the borrowed pool or signing owners.
func (FeatureSet) EmailVerificationRequests ¶
func (f FeatureSet) EmailVerificationRequests() (email.VerificationSendService, error)
EmailVerificationRequests returns the selected storage-neutral keyed add/resend port. It creates no HTTP route or resource. Calls join graph cancellation, require an allowed tenant and deny after Close; native custody remains owned by the graph. Unselected keyed workflows are unavailable.
func (FeatureSet) Initialize ¶
func (f FeatureSet) Initialize(ctx context.Context) error
Initialize registers selected delivery/OTP startup metadata in order, never schema, risk coverage or business effects. Readiness separately validates all selected native schemas. Operations remain denied until selected startup succeeds; exact configuration retries are supported. The selected operation timeout and shutdown bound it; a concurrent startup returns unavailable.
func (FeatureSet) MFAActiveStepUp ¶
func (f FeatureSet) MFAActiveStepUp() (mfa.TOTPCompletionService, error)
MFAActiveStepUp returns explicitly selected native authenticated TOTP proof issuance. It exposes no route, creates no session and accepts no login or enrollment fallback. Retained handles obey graph startup/tenant/shutdown ownership; code-free recovery cannot redeliver factor proof.
func (FeatureSet) MFADisable ¶
func (f FeatureSet) MFADisable() (mfa.DisableService, error)
MFADisable returns separately selected native disable. It selects neither factor-update nor HTTP routes. Calls borrow exact tenant graph lifecycle; startup/drain/shutdown gates apply to retained handles on every invocation.
func (FeatureSet) MFAEnrollment ¶
func (f FeatureSet) MFAEnrollment() (mfa.EnrollmentService, error)
MFAEnrollment returns the selected native pending TOTP enrollment workflow. It exposes no route and grants no confirmed factor authority. Calls require initialized graph custody and an allowed tenant; retained handles deny after Close. Recovery cannot redeliver recovery codes or renew primary evidence.
func (FeatureSet) MFAEnrollmentConfirmation ¶
func (f FeatureSet) MFAEnrollmentConfirmation() (mfa.TOTPCompletionService, error)
MFAEnrollmentConfirmation returns the explicit enrollment variant of TOTP verification. Login-child requests deny; confirmation never silently upgrades the original session. Selecting it does not select HTTP or login completion.
func (FeatureSet) MFAFactorManagement ¶
func (f FeatureSet) MFAFactorManagement() (mfa.FactorManagementService, error)
MFAFactorManagement returns separately selected native self-management. The current TOTP profile supports rename and explicitly configured sole-factor email-recovery removal; replacement remains unavailable. It selects no disable, HTTP routes, login or regeneration. Retained handles obey exact tenant and graph startup/drain/shutdown ownership.
func (FeatureSet) MFAListing ¶
func (f FeatureSet) MFAListing() (mfa.FactorListingService, error)
MFAListing returns explicitly selected native safe factor/recovery metadata. It borrows the graph's actual session owner, requires graph initialization and exact tenant selection on every call, and denies permanently after Close. This selects no HTTP route, security-key listing or trusted-device issuance.
func (FeatureSet) MFAOTPActiveStepUp ¶
func (f FeatureSet) MFAOTPActiveStepUp() (mfa.OTPCompletionService, error)
MFAOTPActiveStepUp returns explicitly selected authenticated OTP sending and action-proof verification, not enrollment/login or HTTP. Retained handles obey graph startup, tenant, cancellation and Close ownership. Recovery is metadata-only and never redelivers a code or factor proof.
func (FeatureSet) MFAOTPDisable ¶
func (f FeatureSet) MFAOTPDisable() (mfa.DisableService, error)
MFAOTPDisable returns explicitly selected native OTP disable, not TOTP, factor-update or HTTP fallback. Every retained call obeys graph tenant, startup and shutdown ownership. Recovery returns original metadata only.
func (FeatureSet) MFAOTPEnrollment ¶
func (f FeatureSet) MFAOTPEnrollment() (mfa.EnrollmentService, error)
MFAOTPEnrollment returns explicitly selected native pending enrollment. Fresh proof, original session/CSRF, current verified recipient and risk are enforced by its native owners. Enable alone never activates a factor or issues a login session. Calls retain graph startup, tenant, cancellation and Close guards. Recovery returns original metadata without revealing recovery codes again.
func (FeatureSet) MFAOTPEnrollmentConfirmation ¶
func (f FeatureSet) MFAOTPEnrollmentConfirmation() (mfa.OTPCompletionService, error)
MFAOTPEnrollmentConfirmation returns purpose-bound sending and confirmation for the selected pending enrollment, not password-login completion. Codes are delivered by the selected worker/sender. Confirmation issues no login session; unknown outcomes recover through the original command without a second send. This handle selects no HTTP routes and remains unusable after graph Close.
func (FeatureSet) MFAOTPFactorManagement ¶
func (f FeatureSet) MFAOTPFactorManagement() (mfa.FactorManagementService, error)
MFAOTPFactorManagement returns explicitly selected OTP factor rename. It exposes no TOTP fallback, disable, replacement or HTTP routes. Explicit email recovery additionally selects sole-active-OTP removal with session revocation. Retained handles obey the graph's tenant, startup and shutdown lifetime.
func (FeatureSet) MFAProvisioningURI ¶
func (f FeatureSet) MFAProvisioningURI() (mfa.TOTPURIService, error)
MFAProvisioningURI returns separate original-session/CSRF disclosure. It returns material only from the first known committed reveal, never retries or recovery. Graph startup, tenant, lifetime and shutdown guards are retained.
func (FeatureSet) MFARecoveryRegeneration ¶
func (f FeatureSet) MFARecoveryRegeneration() (mfa.RecoveryRegenerationService, error)
MFARecoveryRegeneration returns separately selected native whole-set replacement with fresh-factor proof consumption and session revocation. Retained handles obey graph startup/tenant/shutdown guards; recovery is metadata-only and cannot redeliver replacement codes. This selects no route.
func (FeatureSet) MagicLinkConsume ¶
func (f FeatureSet) MagicLinkConsume() (MagicLinkConsumeService, error)
MagicLinkConsume returns explicit consumption only when independently selected. Obtaining a handle enables neither a route nor session issuance. Every call retains current graph startup/tenant/shutdown guards.
func (FeatureSet) MagicLinkPreAuth ¶
func (f FeatureSet) MagicLinkPreAuth() (PreAuthService, error)
MagicLinkPreAuth exposes selected original-flow preparation/issuance/recovery through the graph's existing lifetime and tenant guards. It selects no HTTP.
func (FeatureSet) MagicLinkRequest ¶
func (f FeatureSet) MagicLinkRequest() (MagicLinkRequestService, error)
MagicLinkRequest returns the selected native owner without IO or startup. Calls retain graph initialization, bounded lifetime and tenant admission; normalization is a state-neutral parser and has no caller-selected tenant. Retained handles deny after Close, including recovery and normalization.
func (FeatureSet) MagicLinkTOTP ¶
func (f FeatureSet) MagicLinkTOTP() (mfa.TOTPCompletionService, error)
MagicLinkTOTP returns the explicitly selected native TOTP completion owner. It neither exposes an HTTP route nor enrolls a factor or grants trusted-device policy. All calls retain graph startup, tenant, bounded lifetime and shutdown admission. Unselected/zero/closed graphs expose no handle; retained handles deny after Close. Recovery is original proof/code-free outcome reconciliation.
func (FeatureSet) MarshalJSON ¶
func (FeatureSet) MarshalJSON() ([]byte, error)
func (FeatureSet) MarshalText ¶
func (FeatureSet) MarshalText() ([]byte, error)
func (FeatureSet) OAuthWorkloads ¶
func (f FeatureSet) OAuthWorkloads() (OAuthWorkloadService, error)
OAuthWorkloads returns the selected native handle without enabling HTTP or performing IO. It can be retained before Initialize, but its operations deny until initialization succeeds. Unselected, uncomposed and closed graphs deny.
func (FeatureSet) OTP ¶
func (f FeatureSet) OTP() (otp.Service, error)
OTP returns the public Send interface for the selected graph. The handle may be retained before startup, but every call checks startup, tenant and lifetime. Close permanently denies even terminal replay through this graph.
func (FeatureSet) OTPSignin ¶
func (f FeatureSet) OTPSignin() (otp.SigninService, error)
OTPSignin returns the public consuming service only when explicitly selected. It shares Send's original custody and this graph's startup, tenant allowlist and bounded lifetime. Retained handles deny after Close. No route, listener, migration or implicit startup is enabled by obtaining a handle.
func (FeatureSet) OTPSigninSource ¶
func (f FeatureSet) OTPSigninSource() (otp.SigninSourceService, error)
OTPSigninSource returns code-free original-source discovery only for selected OTP signin. It shares that same native owner and graph lifetime; no reader, route or storage callback is supplied by the application. Discovery grants no login authority and its sensitive projection must never reach a client.
func (FeatureSet) OrganizationInvitations ¶
func (f FeatureSet) OrganizationInvitations() (*OrganizationInvitationService, error)
OrganizationInvitations returns the selected native invitation owner without enabling HTTP or exposing capability/delivery stores.
func (FeatureSet) Organizations ¶
func (f FeatureSet) Organizations() (*OrganizationService, error)
Organizations returns the selected authenticated organization owner. It performs no IO and never enables HTTP.
func (FeatureSet) PasskeyTOTP ¶
func (f FeatureSet) PasskeyTOTP() (mfa.TOTPCompletionService, error)
PasskeyTOTP returns only explicitly selected original-passkey/TOTP completion. It cannot fall back to password, magic-link or known-empty authentication. Startup, tenant and shutdown guards also apply to retained handles; selecting this owner enables no HTTP route, enrollment or trusted-device policy.
func (FeatureSet) Passkeys ¶
func (f FeatureSet) Passkeys() (*PasskeyService, error)
Passkeys returns only explicitly selected native passkey operations. It enables no route or browser UI and performs no IO. A handle can be retained before initialization, but operations require successful graph startup.
func (FeatureSet) PasswordChange ¶
func (f FeatureSet) PasswordChange() (password.ChangeService, error)
PasswordChange returns the selected native keyed bearer replacement workflow. Calls require initialized graph custody and an allowed tenant. The sole native transaction owns proof consumption, password replacement and session effects; this port does not retry, sign proofs or create another journal.
func (FeatureSet) PasswordOTP ¶
func (f FeatureSet) PasswordOTP() (mfa.OTPCompletionService, error)
PasswordOTP returns only explicitly selected password-origin secondary OTP send/completion. It selects no HTTP route, enrollment or alternate-method fallback. Calls retain graph startup, tenant, cancellation and shutdown admission; retained handles deny after Close, including historical recovery.
func (FeatureSet) PasswordPreAuth ¶
func (f FeatureSet) PasswordPreAuth() (PreAuthService, error)
PasswordPreAuth returns the explicitly selected original password-flow owner. This does not select HTTP or change OTP's PreAuth profile. Native issuance owns original entropy, durable commitment and reveal-once delivery; recovery remains outcome-only. Every call retains initialized graph, tenant and shutdown guards.
func (FeatureSet) PasswordRecovery ¶
func (f FeatureSet) PasswordRecovery() (mfa.RecoveryCompletionService, error)
PasswordRecovery returns only explicitly selected password-primary recovery completion. Native calls retain graph startup/tenant/lifetime and shutdown admission. It enables neither HTTP nor factor enrollment or TOTP fallback.
func (FeatureSet) PasswordReset ¶
func (f FeatureSet) PasswordReset() (password.ResetService, error)
PasswordReset returns the public request/completion/recovery owner only when selected in this sealed graph. Obtaining a handle performs no IO or startup. Every retained call checks initialization, tenant ownership and the bounded graph lifetime. Close permanently denies further operations, including replay.
func (FeatureSet) PasswordResetInspection ¶
func (f FeatureSet) PasswordResetInspection() (password.ResetInspectionService, error)
PasswordResetInspection returns the selected read-only reset owner without IO. It preserves the same initialized tenant/graph lifetime as PasswordReset; callers gain neither a proof reservation nor permission for later completion.
func (FeatureSet) PasswordSignin ¶
func (f FeatureSet) PasswordSignin() (password.SigninService, error)
PasswordSignin returns the selected native password-login and recovery owner. Obtaining a handle starts no IO or HTTP route. Every call requires initialized graph custody, an allowed tenant and the graph's bounded lifetime. Retained handles deny after Close, including historical recovery.
func (FeatureSet) PasswordSignup ¶
func (f FeatureSet) PasswordSignup() (password.SignupService, error)
PasswordSignup returns the selected native registration/recovery owner. Calls retain initialized graph, tenant and shutdown admission. Registration returns a neutral acknowledgement and never issues a session in this profile.
func (FeatureSet) PasswordTOTP ¶
func (f FeatureSet) PasswordTOTP() (mfa.TOTPCompletionService, error)
PasswordTOTP returns only the explicitly selected password-primary completion owner. It preserves graph tenant/lifetime/shutdown admission and cannot expose routes, enroll factors or substitute a magic-link primary.
func (FeatureSet) PasswordVerification ¶
func (f FeatureSet) PasswordVerification() (password.VerificationService, error)
PasswordVerification returns explicitly selected bearer reauthentication. Calls require initialized graph custody and an allowed tenant; retained handles deny after Close. Native verification issues a bounded upstream proof, never creates/extends a session or automatically consumes the proof.
func (FeatureSet) Phone ¶
func (f FeatureSet) Phone() (*PhoneService, error)
Phone returns the explicitly selected native owner, not an HTTP route or authentication lease. Retained handles deny after their graph is closed.
func (FeatureSet) PhoneChange ¶
func (f FeatureSet) PhoneChange() (*PhoneChangeService, error)
PhoneChange obtains an explicitly selected native handle without IO. It enables neither HTTP nor enrollment and grants no session or proof authority.
func (FeatureSet) PhoneOTPSignin ¶
func (f FeatureSet) PhoneOTPSignin() (PhoneOTPSigninService, error)
PhoneOTPSignin returns the explicitly selected native SMS-code workflow. Obtaining a handle does no IO. Every call retains startup, tenant, bounded cancellation and shutdown guards; retained handles deny after graph Close.
func (FeatureSet) PhoneOTPSigninPreAuth ¶
func (f FeatureSet) PhoneOTPSigninPreAuth() (IdentifierBoundPreAuthService, error)
PhoneOTPSigninPreAuth returns the separately target-bound original SMS-login flow issuer. Canonical binding uses the exact native number policy and key, without looking up an account or claiming number possession.
func (FeatureSet) PhonePasswordReset ¶
func (f FeatureSet) PhonePasswordReset() (*PhonePasswordResetService, error)
PhonePasswordReset obtains the explicitly selected native recovery profile without IO. No email reset, phone enrollment/signin or HTTP is selected.
func (FeatureSet) PhonePasswordResetPreAuth ¶
func (f FeatureSet) PhonePasswordResetPreAuth() (IdentifierBoundPreAuthService, error)
PhonePasswordResetPreAuth obtains the original no-session recovery issuer with lookup-free canonical target binding. It preserves the same graph/key custody as reset and refuses an unbound Prepare; no Remember choice exists.
func (FeatureSet) PhoneRemoval ¶
func (f FeatureSet) PhoneRemoval() (*PhoneRemovalService, error)
PhoneRemoval obtains an explicitly selected native handle without IO. It does not select HTTP, enrollment or authentication; retained handles deny on Close.
func (FeatureSet) PhoneSignin ¶
func (f FeatureSet) PhoneSignin() (password.SigninService, error)
PhoneSignin returns the selected verified-phone native owner. It performs no implicit initialization or IO; calls retain graph startup, tenant, bounded lifetime and shutdown guards. It cannot substitute email/username authority.
func (FeatureSet) PhoneSigninPreAuth ¶
func (f FeatureSet) PhoneSigninPreAuth() (IdentifierBoundPreAuthService, error)
PhoneSigninPreAuth returns the target-bound native phone/password issuer. Canonicalization uses exactly the selected signin owner's policy/key snapshot, performs no account lookup and retains graph lifetime/tenant admission.
func (FeatureSet) PhoneTOTP ¶
func (f FeatureSet) PhoneTOTP() (mfa.TOTPCompletionService, error)
PhoneTOTP returns only the explicitly composed verified-phone/password TOTP completion owner. It cannot select email/username or a weaker factor. Graph startup, tenant, deadline and shutdown admission also apply to retained handles.
func (FeatureSet) PreAuth ¶
func (f FeatureSet) PreAuth() (PreAuthService, error)
PreAuth returns original-flow initiation only when explicitly selected in OTP.PreAuth. Handles share native owners and retain startup/shutdown guards. Obtaining a handle performs no entropy, IO or implicit initialization.
func (FeatureSet) RegistrationVerification ¶
func (f FeatureSet) RegistrationVerification() (email.RegistrationVerificationService, error)
RegistrationVerification returns the same native owner's confirmation and metadata-only recovery ports. Confirmation atomically consumes the original proof with the protected address transition; it does not issue a session.
func (FeatureSet) RegistrationVerificationSignin ¶
func (f FeatureSet) RegistrationVerificationSignin() (email.RegistrationVerificationSigninService, error)
RegistrationVerificationSignin returns only the independently selected native original-browser registration confirmation/signin profile. Default signup, managed-address confirmation, scanner inspection and HTTP remain unchanged. Calls retain graph lifetime/tenant admission; recovery is metadata-only.
func (FeatureSet) Sessions ¶
func (f FeatureSet) Sessions() (SessionService, error)
Sessions returns guarded native operations only when explicitly selected. Obtaining a handle starts no IO or route. Retained handles deny after Close.
func (FeatureSet) SignupPreAuth ¶
func (f FeatureSet) SignupPreAuth() (PreAuthService, error)
SignupPreAuth returns the selected original registration-flow issuer. It freezes signup, not signin, intent using the native registration profile. Issuance and recovery retain graph startup, tenant, lifetime and shutdown guards. Obtaining a handle performs no IO and exposes no configuration.
func (FeatureSet) UsernameAvailability ¶
func (f FeatureSet) UsernameAvailability() (username.AvailabilityService, error)
UsernameAvailability returns the selected durable advisory owner. Each call is a separately metered primary observation, never a reservation or cache.
func (FeatureSet) UsernameRegistrationVerification ¶
func (f FeatureSet) UsernameRegistrationVerification() (email.RegistrationVerificationService, error)
UsernameRegistrationVerification returns the original username registration owner's confirmation and metadata-only recovery, independently of HTTP. Confirmation atomically consumes its original purpose-bound proof with the address transition. It never substitutes the email signup owner or signs in. Retained handles remain subject to graph startup, tenant and shutdown guards.
func (FeatureSet) UsernameRename ¶
func (f FeatureSet) UsernameRename() (UsernameRenameService, error)
UsernameRename returns the selected native protected self-rename owner. Original proof/key/session custody and current mutation authority are native; no application store, renewed proof or alternate session engine is accepted.
func (FeatureSet) UsernameSignin ¶
func (f FeatureSet) UsernameSignin() (password.SigninService, error)
UsernameSignin returns the distinct native username/password workflow. Without Username.TOTP, enrolled or unknown MFA state denies. The explicit TOTP selection preserves known-empty signin but returns only a challenge for an enrolled account; UsernameTOTP owns actual factor/session completion.
func (FeatureSet) UsernameSigninPreAuth ¶
func (f FeatureSet) UsernameSigninPreAuth() (PreAuthService, error)
UsernameSigninPreAuth returns the fixed original username-signin flow issuer. Retained handles remain subject to initialized graph and shutdown admission.
func (FeatureSet) UsernameSignup ¶
func (f FeatureSet) UsernameSignup() (password.SignupService, error)
UsernameSignup returns only the explicitly selected native email-plus-name registration owner. Calls retain startup, tenant and graph shutdown guards.
func (FeatureSet) UsernameSignupPreAuth ¶
func (f FeatureSet) UsernameSignupPreAuth() (PreAuthService, error)
UsernameSignupPreAuth returns the fixed original username-registration flow issuer. It never substitutes the email-signup or username-signin action.
func (FeatureSet) UsernameTOTP ¶
func (f FeatureSet) UsernameTOTP() (mfa.TOTPCompletionService, error)
UsernameTOTP returns only the explicitly selected username-origin TOTP owner. It retains graph tenant, lifetime and shutdown guards and cannot select another original primary, enroll factors or silently fall back to weaker methods.
func (FeatureSet) VerificationTOTP ¶
func (f FeatureSet) VerificationTOTP() (mfa.TOTPCompletionService, error)
VerificationTOTP returns only explicitly selected verification-origin TOTP completion. It cannot consume a magic link/password primary or select HTTP, enrollment, recovery codes or trusted devices. Graph lifetime and tenant admission remain mandatory; retained handles deny after Close.
type HTTPAPIKeyConfiguration ¶
type HTTPAPIKeyConfiguration struct {
Create, Rotate, Revoke bool
// Update independently selects exact name/permission replacement. It uses
// the existing keyed secret-rate owner and never generates a credential.
Update bool
Get, List bool
// OrganizationOwned separately selects organization management on HTTP.
// Native organization support alone must not expand transport authority.
OrganizationOwned bool
SecretNamespace string
SecretKey [32]byte
StandaloneRate *APIKeyMetadataRateConfiguration
}
HTTPAPIKeyConfiguration selects each strict-password-bearer management route independently. Native APIKey, Session and HTTPRate are required. Mutations use the same immutable secret namespace/key as other secret integrations; changing that deployment identity resets budgets and debit correlation. Reads borrow the existing session/MFA/email/passkey safe limiter. Supply StandaloneRate only when none exists; parallel emergency budgets are rejected.
func (HTTPAPIKeyConfiguration) MarshalJSON ¶
func (HTTPAPIKeyConfiguration) MarshalJSON() ([]byte, error)
func (HTTPAPIKeyConfiguration) MarshalText ¶
func (HTTPAPIKeyConfiguration) MarshalText() ([]byte, error)
type HTTPAnonymousConfiguration ¶
type HTTPAnonymousConfiguration struct {
Signin, Read, Deletion, Upgrade bool
SecretNamespace string
SecretKey [32]byte
}
HTTPAnonymousConfiguration selects each browser operation independently. Read extends the existing session GET with a separate unprivileged guest projection; it requires HTTPSession cookie selection. Signin adds the named anonymous original-flow method. All selected mutations require the original signed device/origin profile; Deletion and Upgrade share one native keyed secret-rate namespace/key across both routes. Omission advertises nothing.
func (HTTPAnonymousConfiguration) Format ¶
func (HTTPAnonymousConfiguration) Format(s fmt.State, _ rune)
func (HTTPAnonymousConfiguration) MarshalJSON ¶
func (HTTPAnonymousConfiguration) MarshalJSON() ([]byte, error)
func (HTTPAnonymousConfiguration) MarshalText ¶
func (HTTPAnonymousConfiguration) MarshalText() ([]byte, error)
type HTTPEmailAddressesConfiguration ¶
type HTTPEmailAddressesConfiguration struct {
Get, List bool
// AdministrativeTargets advertises and accepts targetSubjectID only when
// native required auditing is selected. It grants no authorization.
AdministrativeTargets bool
StandaloneRate *EmailAddressStandaloneRateConfiguration
}
HTTPEmailAddressesConfiguration independently selects cookie get/list. Self reads are the default; administrative targets require explicit native auditing. Native Email.Addresses/session owners are required, not their HTTP routes. Existing safe HTTP routes share exactly one limiter/emergency budget. Leave StandaloneRate nil when one is already selected; otherwise supply it explicitly. Selecting neither operation or conflicting rate ownership fails construction.
func (HTTPEmailAddressesConfiguration) Format ¶
func (HTTPEmailAddressesConfiguration) Format(s fmt.State, _ rune)
Format redacts borrowed policy callbacks.
func (HTTPEmailAddressesConfiguration) MarshalJSON ¶
func (HTTPEmailAddressesConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit deployment export.
func (HTTPEmailAddressesConfiguration) MarshalText ¶
func (HTTPEmailAddressesConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit deployment export.
type HTTPEmailOTPChangeConfiguration ¶
type HTTPEmailOTPChangeConfiguration HTTPEmailOTPVerificationConfiguration
HTTPEmailOTPChangeConfiguration independently selects genuine-primary OTP request/confirmation/recovery with the same explicit Origin/device/revision fields as HTTPEmailOTPVerificationConfiguration. Native Email.OTPChange, original change/notice, sessions and strong HTTPRate storage are required, not password/link/signin HTTP routes. Nil exposes no route or metadata.
func (HTTPEmailOTPChangeConfiguration) Format ¶
func (HTTPEmailOTPChangeConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment details and device keys.
func (HTTPEmailOTPChangeConfiguration) MarshalJSON ¶
func (HTTPEmailOTPChangeConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (HTTPEmailOTPChangeConfiguration) MarshalText ¶
func (HTTPEmailOTPChangeConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export.
type HTTPEmailOTPVerificationConfiguration ¶
type HTTPEmailOTPVerificationConfiguration struct {
Origin string
Device session.BrowserDeviceConfig
PolicyRevision authorization.Revision
}
HTTPEmailOTPVerificationConfiguration explicitly selects authenticated self pending-email OTP Send/verification/recovery. Native Email.OTPVerification, sessions and strong HTTP rate storage are required, not their HTTP routes or OTP signin. Device is the explicit existing browser-device deployment profile; no missing device is minted by Send. Another HTTP OTP Send profile conflicts rather than silently selecting one. Nil exposes no route or metadata.
func (HTTPEmailOTPVerificationConfiguration) Format ¶
func (HTTPEmailOTPVerificationConfiguration) Format(s fmt.State, _ rune)
func (HTTPEmailOTPVerificationConfiguration) MarshalJSON ¶
func (HTTPEmailOTPVerificationConfiguration) MarshalJSON() ([]byte, error)
func (HTTPEmailOTPVerificationConfiguration) MarshalText ¶
func (HTTPEmailOTPVerificationConfiguration) MarshalText() ([]byte, error)
type HTTPEmailRequestsConfiguration ¶
type HTTPEmailRequestsConfiguration struct {
VerificationSend, ChangeRequest, ChangeConfirm bool
AddressRemove bool
Origin string
ActorID identity.ActorID
PolicyRevision authorization.Revision
// AdministrativeRemovalTargets selects targetSubjectID only for removal.
// The native removal owner must independently select this capability.
AdministrativeRemovalTargets bool
}
HTTPEmailRequestsConfiguration explicitly selects cookie-only keyed add/resend, change-request and/or new-address change-confirmation. Native owners are required, not their HTTP password-verification/signup routes. Origin and PolicyRevision are trusted deployment policy; ActorID is required only for change confirmation. Request routes preserve the original proof/cookie/CSRF custody. Change selects new-address proof plus required old-address notice, never old-address confirmation or automatic signin. AddressRemove separately selects native protected self-removal; no link delivery is implied.
func (HTTPEmailRequestsConfiguration) Format ¶
func (HTTPEmailRequestsConfiguration) Format(s fmt.State, _ rune)
Format redacts trusted deployment configuration.
func (HTTPEmailRequestsConfiguration) MarshalJSON ¶
func (HTTPEmailRequestsConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON refuses implicit configuration export.
func (HTTPEmailRequestsConfiguration) MarshalText ¶
func (HTTPEmailRequestsConfiguration) MarshalText() ([]byte, error)
MarshalText refuses implicit text export.
type HTTPEmailSigninConfiguration ¶
type HTTPEmailSigninConfiguration struct {
Address email.AddressPolicy
ActorID identity.ActorID
PolicyRevision authorization.Revision
TargetID string
}
HTTPEmailSigninConfiguration explicitly selects email OTP Send, consuming signin and original outcome recovery. Nil selects no OTP routes or metadata. Native OTP signin, HTTP original-flow initiation, its dedicated browser-device profile and strong HTTP rate storage are required. Address is owned email normalization policy; ActorID, PolicyRevision and TargetID are trusted deployment values, not request-controlled authority. The revision must match the native Send and signin query policies, with one exact authorization handle. Audience and session cookie are taken from the selected native issuer. This HTTP profile always selects native known-empty MFA generation fencing; missing or enrolled state denies rather than relying on a permissive callback. Apply its selected MFA-authority history before serving. Existing accounts require actual owner-provisioned factor state; absence is never backfilled.
func (HTTPEmailSigninConfiguration) Format ¶
func (HTTPEmailSigninConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment and normalization policy.
func (HTTPEmailSigninConfiguration) MarshalJSON ¶
func (HTTPEmailSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit runtime configuration export.
func (HTTPEmailSigninConfiguration) MarshalText ¶
func (HTTPEmailSigninConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit runtime configuration export.
type HTTPMFAActiveStepUpConfiguration ¶
type HTTPMFAActiveStepUpConfiguration struct {
// Purposes explicitly selects the finite native management targets. Empty
// retains regeneration; non-default targets must be named in the request.
Purposes []auth.Purpose
TrustedOrigins []identityhttp.Origin
VerificationNamespace string
VerificationKey [32]byte
}
HTTPMFAActiveStepUpConfiguration independently selects the authenticated TOTP step-up verify arm, not enrollment or login. Native active step-up, session and shared strict rate owners are required. Origins must be exact native allowed origins; namespace/key retain stable shared quota identity.
func (HTTPMFAActiveStepUpConfiguration) Format ¶
func (HTTPMFAActiveStepUpConfiguration) Format(s fmt.State, _ rune)
Format redacts rate keys and deployment policy.
func (HTTPMFAActiveStepUpConfiguration) LogValue ¶
func (HTTPMFAActiveStepUpConfiguration) LogValue() slog.Value
LogValue returns only a fixed marker.
func (HTTPMFAActiveStepUpConfiguration) MarshalJSON ¶
func (HTTPMFAActiveStepUpConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit key/configuration export.
func (HTTPMFAActiveStepUpConfiguration) MarshalText ¶
func (HTTPMFAActiveStepUpConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit configuration export.
type HTTPMFAConfiguration ¶
type HTTPMFAConfiguration struct {
TOTPVerify bool
// PasswordTOTPVerify independently selects password-primary completion.
// When both are selected, X-MFA-Variant: password chooses its native owner.
PasswordTOTPVerify bool
// UsernameTOTPVerify selects the exact username/password-origin completion.
// Singleton X-MFA-Variant: username is required even when selected alone.
UsernameTOTPVerify bool
// VerificationTOTPVerify independently selects original-signup verification
// completion, always through singleton X-MFA-Variant: verification.
VerificationTOTPVerify bool
// PasskeyTOTPVerify independently selects original UV-passkey plus TOTP
// completion, always through singleton X-MFA-Variant: passkey. It neither
// enables signin transport nor accepts another primary's continuation.
PasskeyTOTPVerify bool
// PasswordRecoveryUse independently selects original password recovery.
PasswordRecoveryUse bool
// PasswordOTPVerify independently selects the native original-send OTP owner.
// It selects no enrollment, active step-up or alternate-method fallback.
PasswordOTPVerify bool
// PasswordOTPSend independently selects native keyed OTP login sending.
PasswordOTPSend bool
ActorID identity.ActorID
PolicyRevision authorization.Revision
VerificationNamespace string
VerificationKey [32]byte
}
HTTPMFAConfiguration explicitly selects the native magic-link/TOTP completion route. It requires its actual native TOTP and original pre-auth/device graph; no enrollment, trusted-device, OTP or recovery-code route is implied. Actor and revision match the trusted primary issuance/admission policy. Namespace and key select existing strict shared verification quotas, not MFA authority. Omit configuration to expose no route, OpenAPI operation or capability.
func (HTTPMFAConfiguration) Format ¶
func (HTTPMFAConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment and rate key configuration.
func (HTTPMFAConfiguration) LogValue ¶
func (HTTPMFAConfiguration) LogValue() slog.Value
LogValue emits only a fixed redacted marker.
func (HTTPMFAConfiguration) MarshalJSON ¶
func (HTTPMFAConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit key export.
func (HTTPMFAConfiguration) MarshalText ¶
func (HTTPMFAConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit export and map-key disclosure.
type HTTPMFADisableConfiguration ¶
type HTTPMFADisableConfiguration struct {
TrustedOrigins []identityhttp.Origin
RateNamespace string
RateKey [32]byte
}
HTTPMFADisableConfiguration independently selects native cookie-only disable. It requires actual selected disable/session/proof/rate owners, not factor- update or step-up HTTP. Trusted origins must match exact native origins.
func (HTTPMFADisableConfiguration) Format ¶
func (HTTPMFADisableConfiguration) Format(s fmt.State, _ rune)
Format redacts policy and borrowed rate-key custody.
func (HTTPMFADisableConfiguration) LogValue ¶
func (HTTPMFADisableConfiguration) LogValue() slog.Value
LogValue exposes only a fixed redaction marker.
func (HTTPMFADisableConfiguration) MarshalJSON ¶
func (HTTPMFADisableConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment configuration export.
func (HTTPMFADisableConfiguration) MarshalText ¶
func (HTTPMFADisableConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key configuration export.
type HTTPMFAEnrollmentConfiguration ¶
type HTTPMFAEnrollmentConfiguration struct {
// ProvisioningURI explicitly adds the separate one-time disclosure route.
ProvisioningURI bool
// Confirmation explicitly adds authenticated code activation on the shared
// verify route, without enabling login or session issuance.
Confirmation bool
VerificationNamespace string
VerificationKey [32]byte
TrustedOrigins []identityhttp.Origin
RateNamespace string
RateKey [32]byte
RecoveryCodes uint32
}
HTTPMFAEnrollmentConfiguration independently selects cookie-only pending TOTP enrollment. Native enrollment, session, verification and strict shared HTTP rate owners are required. Origins must be exact members of native management policy. RecoveryCodes is 1..20; zero selects the reference default of ten. Namespace/key are stable rate identity, not signing/encryption keys. This selection does not enable login completion or imply an active factor.
func (HTTPMFAEnrollmentConfiguration) Format ¶
func (HTTPMFAEnrollmentConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment policy and keys.
func (HTTPMFAEnrollmentConfiguration) LogValue ¶
func (HTTPMFAEnrollmentConfiguration) LogValue() slog.Value
LogValue returns only a fixed marker.
func (HTTPMFAEnrollmentConfiguration) MarshalJSON ¶
func (HTTPMFAEnrollmentConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (HTTPMFAEnrollmentConfiguration) MarshalText ¶
func (HTTPMFAEnrollmentConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text export.
type HTTPMFAFactorUpdateConfiguration ¶
type HTTPMFAFactorUpdateConfiguration struct {
TrustedOrigins []identityhttp.Origin
RateNamespace string
RateKey [32]byte
// Empty selects rename only. Explicit Remove requires the selected native
// email-recovery owner; Replace requires native pending replacement and its
// URI/confirmation owners. Duplicates and unknown actions deny.
Actions []mfa.FactorUpdateAction
}
HTTPMFAFactorUpdateConfiguration independently selects cookie-only native TOTP management. Native management/session/original evidence and the shared strict rate backend are required, not enrollment, login or regeneration HTTP routes. Origins are exact native origins; namespace/key preserve shared quota identity.
func (HTTPMFAFactorUpdateConfiguration) Format ¶
func (HTTPMFAFactorUpdateConfiguration) Format(s fmt.State, _ rune)
Format redacts borrowed rate keys and deployment policy.
func (HTTPMFAFactorUpdateConfiguration) LogValue ¶
func (HTTPMFAFactorUpdateConfiguration) LogValue() slog.Value
LogValue emits only a fixed redaction marker.
func (HTTPMFAFactorUpdateConfiguration) MarshalJSON ¶
func (HTTPMFAFactorUpdateConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit configuration export.
func (HTTPMFAFactorUpdateConfiguration) MarshalText ¶
func (HTTPMFAFactorUpdateConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit configuration export.
type HTTPMFAListConfiguration ¶
type HTTPMFAListConfiguration struct {
StandaloneRate *MFAListStandaloneRateConfiguration
}
HTTPMFAListConfiguration independently selects GET safe MFA metadata. Native listing/session owners are required, not HTTP session/enrollment/login routes. With selected HTTP session routes, leave StandaloneRate nil: both features borrow exactly one safe limiter, including its emergency budget. Without them, supply StandaloneRate explicitly. Conflicting parallel budgets are rejected.
func (HTTPMFAListConfiguration) Format ¶
func (HTTPMFAListConfiguration) Format(s fmt.State, _ rune)
Format redacts borrowed callbacks/deployment policy.
func (HTTPMFAListConfiguration) MarshalJSON ¶
func (HTTPMFAListConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment configuration export.
type HTTPMFARecoveryRegenerationConfiguration ¶
type HTTPMFARecoveryRegenerationConfiguration struct {
TrustedOrigins []identityhttp.Origin
RateNamespace string
RateKey [32]byte
}
HTTPMFARecoveryRegenerationConfiguration independently selects cookie-only whole-set replacement, not step-up issuance, enrollment or login routes. Native replacement/session/original proof and shared strict rate owners are required. Origins must be exact native allowed origins. Namespace/key retain stable shared secret quota identity; count/freshness come from native policy.
func (HTTPMFARecoveryRegenerationConfiguration) Format ¶
func (HTTPMFARecoveryRegenerationConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment policy and rate keys.
func (HTTPMFARecoveryRegenerationConfiguration) LogValue ¶
func (HTTPMFARecoveryRegenerationConfiguration) LogValue() slog.Value
LogValue returns only a fixed marker.
func (HTTPMFARecoveryRegenerationConfiguration) MarshalJSON ¶
func (HTTPMFARecoveryRegenerationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit configuration export.
func (HTTPMFARecoveryRegenerationConfiguration) MarshalText ¶
func (HTTPMFARecoveryRegenerationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit configuration export.
type HTTPMagicLinkConfiguration ¶
type HTTPMagicLinkConfiguration struct {
Request, Consume bool
ActorID identity.ActorID
PolicyRevision authorization.Revision
VerificationNamespace string
VerificationKey [32]byte
}
HTTPMagicLinkConfiguration independently selects request and/or explicit consumption. Neither false is invalid: omit the selection to expose nothing. The native original-flow issuer and selected HTTPPreAuth/device/rate graph are required. ActorID equals the original issuer's trusted service actor; PolicyRevision equals native query/admission/request-key revisions. Consume requires a dedicated nonzero verification HMAC key/namespace. No routes, migration, worker or network operation starts during construction.
func (HTTPMagicLinkConfiguration) Format ¶
func (HTTPMagicLinkConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment rate custody.
func (HTTPMagicLinkConfiguration) MarshalJSON ¶
func (HTTPMagicLinkConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit key export.
func (HTTPMagicLinkConfiguration) MarshalText ¶
func (HTTPMagicLinkConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit key export.
type HTTPOAuthWorkloadConfiguration ¶
HTTPOAuthWorkloadConfiguration independently opts into canonical workload token, introspection and revocation routes. At least one must be selected. Namespace obeys the HTTP OAuth rate contract; the shared strict HTTPRate backend and its MaximumDuration are reused, without a local fallback. NewServer requires the issuer's tenant-host binding to equal every selected workload tenant; native-only composition is not restricted by HTTP hosts.
func (HTTPOAuthWorkloadConfiguration) Format ¶
func (HTTPOAuthWorkloadConfiguration) Format(s fmt.State, _ rune)
func (HTTPOAuthWorkloadConfiguration) MarshalJSON ¶
func (HTTPOAuthWorkloadConfiguration) MarshalJSON() ([]byte, error)
func (HTTPOAuthWorkloadConfiguration) MarshalText ¶
func (HTTPOAuthWorkloadConfiguration) MarshalText() ([]byte, error)
type HTTPOrganizationConfiguration ¶
type HTTPOrganizationConfiguration struct {
Create, Get, MemberList, MemberAdd, MemberRemove bool
Update, MemberUpdate bool
InvitationGet, InvitationListMine, InvitationList bool
InvitationSend, InvitationAccept bool
InvitationResend bool
InvitationCancel bool
InvitationExpire bool
InvitationReject bool
SlugAvailable bool
List bool
MemberLeave bool
OwnerTransfer bool
Archive, Restore bool
TeamMemberAdd, TeamMemberRemove bool
TeamListMine, TeamMemberList bool
TeamCreate, TeamUpdate, TeamDelete, TeamList bool
RoleCreate, RoleUpdate, RoleDelete, RoleGet, RoleList bool
PermissionCheck bool
SafeNamespace string
EmergencyMaximumKeys int
Degraded func(context.Context, identityhttp.SafeRateEvent) error
AdminNamespace string
AdminKey [32]byte
Denied func(context.Context, organizationhttp.AdminRateEvent) error
SecretNamespace string
SecretKey [32]byte
}
HTTPOrganizationConfiguration opts into each bearer-only organization route independently. It requires native Organization and the shared strong HTTPRate owner; invitation selections additionally require native Invitations. Safe read degradation and administrative denial auditing are synchronous bounded callbacks with exactly the native transport contracts. Denied must durably record every rejection/unavailable event without secrets. Namespace/key changes reset effective budgets and must be coordinated across administrative routes.
func (HTTPOrganizationConfiguration) Format ¶
func (HTTPOrganizationConfiguration) Format(s fmt.State, _ rune)
Format redacts shared rate keys and deployment callbacks.
func (HTTPOrganizationConfiguration) MarshalJSON ¶
func (HTTPOrganizationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects serialization of deployment secrets.
func (HTTPOrganizationConfiguration) MarshalText ¶
func (HTTPOrganizationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects serialization of deployment secrets.
type HTTPPasskeyConfiguration ¶
type HTTPPasskeyConfiguration struct {
Registration, Signin, Inventory, Discoverable bool
// MFAContinuation selects challenge-only signin for native Passkey.TOTP.
// It requires Signin and the actual native TOTP owner. Completion remains
// independently selected by HTTPMFA.PasskeyTOTPVerify; no fallback is added.
MFAContinuation bool
// DiscoverableOnly explicitly rejects identifier-based signin and requires
// Discoverable. It needs no email/password comparison configuration.
DiscoverableOnly bool
// Conditional selects native outer conditional presentation for discoverable
// options. It requires Discoverable; no third ceremony mode or UI is enabled.
Conditional bool
// Signup selects original-flow passkey-first registration and a distinct
// passkey-signup initiation method. It requires native Passkey.Signup and
// Session.Passkey; it never substitutes an enrollment proof or password.
Signup bool
Update, Delete bool
// SessionUpdate explicitly selects the current-session UV rename profile
// instead of password-proof Update. It requires native SessionManagement in
// cookie mode and the graph's original CSRF keys; no device/proof owner.
SessionUpdate bool
// SessionDeletion selects genuine current-passkey-session UV removal and
// current-session metadata recovery instead of password-proof Delete. It
// requires native cookie SessionDeletion, CSRF and shared keyed rate owners.
SessionDeletion bool
// SessionEnrollment selects genuine current-session UV enrollment instead
// of password-proof Registration. It requires native cookie SessionEnrollment,
// original CSRF and keyed/rate owners, not HTTP pre-auth or a device cookie.
SessionEnrollment bool
InventoryRateNamespace string
InventoryEmergencyMaximumKeys int
InventoryDegraded func(context.Context, identityhttp.SafeRateEvent) error
}
HTTPPasskeyConfiguration independently selects cookie enrollment, signin, safe self inventory, label update and deletion. Nil selects no passkey routes or metadata. Native passkeys and session owners are required. Enrollment/signin also require the signed original browser-device profile; enrollment requires both native action primaries to select cookie transport. Signin/inventory require the explicit Session.Passkey common admission. Options require Passkey.KeyedOptions. Discoverable additionally requires Signin and native risk-policy opt-in; no fallback is attempted. Update requires explicit native Management with a cookie primary and actual signed proof reader, but no browser-device ceremony. Delete requires native Deletion with a cookie primary and its actual configured reset recovery owner. Signup is a separate explicit selection requiring native signup and original pre-auth/device custody. No browser UI or MFA fallback is enabled.
Inventory reuses an existing session/MFA/email safe limiter. Only when none exists must its three explicit inventory rate settings select that owner; supplying competing settings is rejected. Degraded must finish within ctx and support concurrent calls. Mutation rates borrow the shared HTTP auth and verification identities; no consumer store or alternative workflow is accepted.
func (HTTPPasskeyConfiguration) Format ¶
func (HTTPPasskeyConfiguration) Format(f fmt.State, _ rune)
func (HTTPPasskeyConfiguration) MarshalJSON ¶
func (HTTPPasskeyConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit deployment/callback export.
func (HTTPPasskeyConfiguration) MarshalText ¶
func (HTTPPasskeyConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit deployment/callback export.
type HTTPPasswordProtectionConfiguration ¶
type HTTPPasswordProtectionConfiguration struct {
Transport session.CredentialKind
TrustedOrigins []identityhttp.Origin
RateNamespace string
RateKey [32]byte
}
HTTPPasswordProtectionConfiguration selects the credential channel and deployment rate identity for one protected password operation. Use separate HTTPPasswordVerification and HTTPPasswordChange selections; neither enables the other. Cookie mode requires exact HTTPS origins and native CSRF custody; bearer mode rejects origins and never falls back to cookies. Namespace and RateKey are stable independent rate identity, not credential/signing keys. Verification also requires the existing signed browser-device issuer. Native owners supply cookie, policy revision, clock and transaction bounds.
func (HTTPPasswordProtectionConfiguration) Format ¶
func (HTTPPasswordProtectionConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment rate custody.
func (HTTPPasswordProtectionConfiguration) MarshalJSON ¶
func (HTTPPasswordProtectionConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit deployment export.
func (HTTPPasswordProtectionConfiguration) MarshalText ¶
func (HTTPPasswordProtectionConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type HTTPPasswordResetConfiguration ¶
type HTTPPasswordResetConfiguration struct {
ActorID identity.ActorID
PolicyRevision authorization.Revision
CallbackURL string
VerificationNamespace string
VerificationKey [32]byte
// Inspect explicitly selects the additional read-only token inspection route.
// False preserves the existing request/completion-only HTTP contract.
Inspect bool
}
HTTPPasswordResetConfiguration explicitly selects both reset routes. Nil selects neither routes nor metadata. The native owner, original browser-device issuer and primary HTTP rate backend must already be selected. Actor/revision, fixed callback and independently keyed verification namespace are trusted deployment values, not request authority. The graph owns limiter shutdown.
func (HTTPPasswordResetConfiguration) Format ¶
func (HTTPPasswordResetConfiguration) Format(s fmt.State, _ rune)
Format hides deployment keys and policy internals.
func (HTTPPasswordResetConfiguration) MarshalJSON ¶
func (HTTPPasswordResetConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment-key export.
func (HTTPPasswordResetConfiguration) MarshalText ¶
func (HTTPPasswordResetConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit textual deployment-key export.
type HTTPPasswordSigninConfiguration ¶
type HTTPPasswordSigninConfiguration struct {
ActorID identity.ActorID
PolicyRevision authorization.Revision
}
HTTPPasswordSigninConfiguration explicitly selects browser password login and the password method on shared original-flow initiation. Nil exposes neither login nor method metadata. Native password signin, its PreAuth owner, shared HTTP rate admission and original browser-device profile are required. ActorID and revision are trusted service policy; callback, keys, cookies, lifetime and audience are taken from selected native owners, never independently defaulted.
func (HTTPPasswordSigninConfiguration) Format ¶
func (HTTPPasswordSigninConfiguration) Format(s fmt.State, _ rune)
Format hides trusted service policy.
func (HTTPPasswordSigninConfiguration) MarshalJSON ¶
func (HTTPPasswordSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit runtime composition export.
func (HTTPPasswordSigninConfiguration) MarshalText ¶
func (HTTPPasswordSigninConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit runtime composition export.
type HTTPPasswordSignupConfiguration ¶
type HTTPPasswordSignupConfiguration struct {
ActorID identity.ActorID
PolicyRevision authorization.Revision
}
HTTPPasswordSignupConfiguration explicitly selects browser registration and its named signup initiation method. Nil exposes neither route nor method. The native signup/PreAuth owners, shared rate backend and original browser device profile are required. Confirmation remains independently selectable. ActorID and revision are trusted service policy, not prospective user claims.
func (HTTPPasswordSignupConfiguration) Format ¶
func (HTTPPasswordSignupConfiguration) Format(s fmt.State, _ rune)
Format redacts service policy.
func (HTTPPasswordSignupConfiguration) MarshalJSON ¶
func (HTTPPasswordSignupConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit runtime configuration export.
func (HTTPPasswordSignupConfiguration) MarshalText ¶
func (HTTPPasswordSignupConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit runtime configuration export.
type HTTPPhoneChangeConfiguration ¶
type HTTPPhoneChangeConfiguration struct {
Origin string
Device session.BrowserDeviceConfig
PolicyRevision authorization.Revision
}
HTTPPhoneChangeConfiguration opts into cookie-only replacement sending, completion and original recovery. PhoneChange and real proof/session/shared admission owners are required. The canonical sending route conflicts with HTTPPhoneVerification: selecting both fails rather than replacing a handler. Device is the existing signed browser profile; sending never mints one.
func (HTTPPhoneChangeConfiguration) Format ¶
func (HTTPPhoneChangeConfiguration) Format(s fmt.State, _ rune)
Format redacts signed browser configuration.
func (HTTPPhoneChangeConfiguration) MarshalJSON ¶
func (HTTPPhoneChangeConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (HTTPPhoneChangeConfiguration) MarshalText ¶
func (HTTPPhoneChangeConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration and map-key export.
type HTTPPhoneOTPSigninConfiguration ¶
type HTTPPhoneOTPSigninConfiguration struct {
ActorID identity.ActorID
PolicyRevision authorization.Revision
}
HTTPPhoneOTPSigninConfiguration explicitly selects existing-account SMS-code request, signin and original code-free recovery. Native phone OTP, HTTPPreAuth with signed browser-device custody, HTTPRate and Session are required. ActorID and PolicyRevision are trusted deployment authority, never client input. The revision and authorization owner must match native send/query policy. Cookies, audience and original-flow policy come from those actual selected owners.
func (HTTPPhoneOTPSigninConfiguration) Format ¶
func (HTTPPhoneOTPSigninConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment authority.
func (HTTPPhoneOTPSigninConfiguration) MarshalJSON ¶
func (HTTPPhoneOTPSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit runtime configuration export.
func (HTTPPhoneOTPSigninConfiguration) MarshalText ¶
func (HTTPPhoneOTPSigninConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit runtime configuration export.
type HTTPPhonePasswordResetConfiguration ¶
type HTTPPhonePasswordResetConfiguration struct {
ActorID identity.ActorID
PolicyRevision authorization.Revision
}
HTTPPhonePasswordResetConfiguration independently selects request/completion and the named phone-reset original recovery-browser method. Native recovery, HTTPPreAuth with its signed browser device and the shared strong HTTP rate backend are mandatory. Actor/revision are trusted deployment values, never body input. Nil contributes no routes or metadata and selects no fallback.
func (HTTPPhonePasswordResetConfiguration) Format ¶
func (HTTPPhonePasswordResetConfiguration) Format(s fmt.State, _ rune)
func (HTTPPhonePasswordResetConfiguration) MarshalJSON ¶
func (HTTPPhonePasswordResetConfiguration) MarshalJSON() ([]byte, error)
func (HTTPPhonePasswordResetConfiguration) MarshalText ¶
func (HTTPPhonePasswordResetConfiguration) MarshalText() ([]byte, error)
type HTTPPhoneRemovalConfiguration ¶
type HTTPPhoneRemovalConfiguration struct {
Origin string
PolicyRevision authorization.Revision
}
HTTPPhoneRemovalConfiguration explicitly selects cookie-only authenticated phone self-removal. Native PhoneRemoval, proof storage, session cookie policy and strong shared HTTPRate must exist; their HTTP routes are not required. Origin and PolicyRevision are trusted deployment inputs, never request claims. Nil adds neither a route nor advertised capability.
func (HTTPPhoneRemovalConfiguration) Format ¶
func (HTTPPhoneRemovalConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment selection.
func (HTTPPhoneRemovalConfiguration) MarshalJSON ¶
func (HTTPPhoneRemovalConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (HTTPPhoneRemovalConfiguration) MarshalText ¶
func (HTTPPhoneRemovalConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export.
type HTTPPhoneVerificationConfiguration ¶
type HTTPPhoneVerificationConfiguration struct {
Origin string
Device session.BrowserDeviceConfig
PolicyRevision authorization.Revision
}
HTTPPhoneVerificationConfiguration explicitly selects cookie-only native existing-account phone enrollment/verification/history. It requires native Phone, sessions, password proof storage and strong shared HTTP admission, not their HTTP routes. Device is the existing signed browser deployment profile; send never mints a device. Nil exposes no phone route or metadata.
func (HTTPPhoneVerificationConfiguration) Format ¶
func (HTTPPhoneVerificationConfiguration) Format(s fmt.State, _ rune)
Format redacts signed device key configuration.
func (HTTPPhoneVerificationConfiguration) MarshalJSON ¶
func (HTTPPhoneVerificationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit configuration export.
func (HTTPPhoneVerificationConfiguration) MarshalText ¶
func (HTTPPhoneVerificationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key configuration export.
type HTTPPreAuthConfiguration ¶
type HTTPPreAuthConfiguration struct {
Lifetime session.LifetimeConfig
Device *session.BrowserDeviceConfig
}
HTTPPreAuthConfiguration explicitly enables the original-flow HTTP route. Nil selects no route/metadata. Lifetime is the shared eventual-session policy; Device optionally selects non-authenticating correlation. Trusted origin, action, callback, cookie and policy come from the same native issuer config. Selected HTTP issuance requires its canonical five-minute flow lifetime; the direct native issuer retains its independently supported lifetime range. Construction copies key slices; callers must not mutate concurrently.
func (HTTPPreAuthConfiguration) Format ¶
func (HTTPPreAuthConfiguration) Format(s fmt.State, _ rune)
Format redacts retained device keys and deployment policy.
func (HTTPPreAuthConfiguration) MarshalJSON ¶
func (HTTPPreAuthConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit export of retained browser-device custody.
func (HTTPPreAuthConfiguration) MarshalText ¶
func (HTTPPreAuthConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit export of retained browser-device custody.
type HTTPRateConfiguration ¶
type HTTPRateConfiguration struct {
Namespace string
IdentifierKey [32]byte
MaximumDuration time.Duration
Timeout time.Duration
LockTimeout time.Duration
RollbackTimeout time.Duration
}
HTTPRateConfiguration selects one native PostgreSQL strong-admission owner. All durations must be explicit and within 1ms..2s. Timeout cannot exceed MaximumDuration; lock and rollback budgets cannot exceed Timeout. Namespace and IdentifierKey satisfy the HTTP owner's fixed policy contract. Construction copies inputs without IO. The caller pool must explicitly select search_path public because the native backend's schema and queries are unqualified. Concurrent input mutation during construction is forbidden.
func (HTTPRateConfiguration) Format ¶
func (HTTPRateConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment key material for all formatting verbs.
func (HTTPRateConfiguration) MarshalJSON ¶
func (HTTPRateConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects serialization of deployment key material.
func (HTTPRateConfiguration) MarshalText ¶
func (HTTPRateConfiguration) MarshalText() ([]byte, error)
MarshalText rejects serialization of deployment key material.
type HTTPRegistrationVerificationConfiguration ¶
type HTTPRegistrationVerificationConfiguration struct {
Origin string
ActorID identity.ActorID
PolicyRevision authorization.Revision
VerificationNamespace string
VerificationKey [32]byte
// ManagedAddresses also selects managed add/resend on this same canonical
// route using authenticated original profiles. Email.Verification is required
// with the same complete issuer trust/replay configuration. No other email
// HTTP operation is implied; false preserves signup-only behavior.
ManagedAddresses bool
// Signin explicitly selects original-browser registration verification then
// signin. Native PasswordSignup.VerificationSignin, compatible Session and
// HTTP signup initiation/device custody are required. ManagedAddresses cannot
// be combined in this registration-only profile; defaults issue no session.
Signin bool
}
HTTPRegistrationVerificationConfiguration explicitly selects registration confirmation without signup or automatic login. Native signup custody and primary atomic HTTP rate admission are required. Origin, actor and revision are trusted deployment policy; namespace and key isolate confirmation budgets. The graph owns the limiter, not the borrowed database or verification keys.
func (HTTPRegistrationVerificationConfiguration) Format ¶
func (HTTPRegistrationVerificationConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment custody.
func (HTTPRegistrationVerificationConfiguration) MarshalJSON ¶
func (HTTPRegistrationVerificationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit deployment export.
func (HTTPRegistrationVerificationConfiguration) MarshalText ¶
func (HTTPRegistrationVerificationConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit deployment export.
type HTTPSessionConfiguration ¶
type HTTPSessionConfiguration struct {
Transport session.CredentialKind
TrustedOrigins []identityhttp.Origin
RateNamespace string
EmergencyMaximumKeys int
Degraded func(context.Context, identityhttp.SafeRateEvent) error
}
HTTPSessionConfiguration explicitly selects session read and self-signout. Transport never falls back to another credential channel. Cookie mode requires exact HTTPS TrustedOrigins and the native CSRF owner; bearer mode rejects origins. Degraded must record each emergency rate decision within its context. One graph-owned bounded rate.safe budget serves both routes. Dependencies are borrowed and callbacks must be bounded/concurrency-safe.
func (HTTPSessionConfiguration) Format ¶
func (HTTPSessionConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment callbacks and policy.
func (HTTPSessionConfiguration) MarshalJSON ¶
func (HTTPSessionConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (HTTPSessionConfiguration) MarshalText ¶
func (HTTPSessionConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export.
type HTTPUsernameConfiguration ¶
type HTTPUsernameConfiguration struct {
Signup, Signin, Availability bool
ActorID identity.ActorID
PolicyRevision authorization.Revision
Rename *HTTPPasswordProtectionConfiguration
}
HTTPUsernameConfiguration selects each username route independently. Nil exposes no route or original-flow method. Signup/Signin require the native profile, original browser-device issuer and HTTP rate owner; ActorID and PolicyRevision are trusted service policy for those anonymous entry points. Availability borrows the native durable advisory owner. Rename independently selects cookie-only protected transport with explicit origins and rate keys; the graph supplies its actual signed proof source and session cookie policy. Native TOTP continuation is selected only by Username.TOTP; absent selection preserves the known-empty profile and denies enrolled/unknown factor state.
func (HTTPUsernameConfiguration) Format ¶
func (HTTPUsernameConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment policy and rate keys.
func (HTTPUsernameConfiguration) MarshalJSON ¶
func (HTTPUsernameConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON refuses implicit policy/key export.
func (HTTPUsernameConfiguration) MarshalText ¶
func (HTTPUsernameConfiguration) MarshalText() ([]byte, error)
MarshalText refuses implicit policy/key export.
type IdentifierBoundPreAuthService ¶
type IdentifierBoundPreAuthService interface {
PreAuthService
BindPreAuthIdentifier(context.Context, identity.TenantID, string) ([32]byte, error)
}
IdentifierBoundPreAuthService adds trusted, lookup-free canonical target binding to original-flow issuance. It is not authentication or permission. Prepare requires a nonzero binding; consumers must derive it from the intended identifier using BindPreAuthIdentifier, never accept a client's chosen digest.
type MFAEnrollmentConfiguration ¶
type MFAEnrollmentConfiguration struct {
Native mfapg.TOTPEnrollmentConfig
Primary passwordpg.MFAEnablePrimaryConfig
CSRFKeys []session.CSRFKey
AllowedOrigins []string
ComparisonKey [32]byte
ComparisonKeyVersion uint32
// ActiveStepUp independently selects native authenticated TOTP proof issuance.
// Primary must be absent; this graph supplies the real cookie/session owner.
// This selects no HTTP routes or login-completion fallback.
ActiveStepUp *mfapg.TOTPActiveStepUpConfig
// Regeneration separately selects fresh-proof-consuming whole-set replacement.
// Primary and Sessions must be absent; this graph supplies real native owners.
// ActiveStepUp is required. No HTTP route is selected by this field.
Regeneration *mfapg.RecoveryRegenerationConfig
// FactorManagement separately selects native protected factor updates.
// Primary/Sessions must be absent: this graph supplies real session owners.
// ActiveStepUp is required; this field selects no HTTP routes or regeneration.
// Email removal requires actual PasswordReset request/completion composition;
// RemovalRecovery must be absent because this graph supplies that owner.
FactorManagement *mfapg.FactorUpdateConfig
// Disable independently selects native disable-purpose mutation. Primary,
// Sessions and Recovery must be absent: the graph supplies actual owners.
// Requires ActiveStepUp and complete selected emailed-password-reset recovery;
// it selects no HTTP route or factor-update operation.
Disable *mfapg.DisableConfig
// Listing explicitly selects safe TOTP/recovery metadata through the graph's
// existing real session owner. It selects no HTTP route or trusted devices.
Listing bool
}
MFAEnrollmentConfiguration explicitly selects native first-factor TOTP enable, separate reveal-once provisioning and code-confirmed activation. Native.Primary and Native.Risk.Evaluation must be absent: this graph supplies its actual password verification and counted risk owners. Primary configures the existing signed reauthentication target and freshness, not another engine. CSRFKeys must match retained session synchronizers; AllowedOrigins is exact HTTPS management policy. No HTTP route is selected by this configuration.
func (MFAEnrollmentConfiguration) Format ¶
func (MFAEnrollmentConfiguration) Format(s fmt.State, _ rune)
Format redacts native cryptographic and policy custody.
func (MFAEnrollmentConfiguration) MarshalJSON ¶
func (MFAEnrollmentConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit sensitive configuration export.
func (MFAEnrollmentConfiguration) MarshalText ¶
func (MFAEnrollmentConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit sensitive configuration export.
type MFAListStandaloneRateConfiguration ¶
type MFAListStandaloneRateConfiguration struct {
Namespace string
EmergencyMaximumKeys int
Degraded func(context.Context, identityhttp.SafeRateEvent) error
}
MFAListStandaloneRateConfiguration supplies safe-route policy only when no HTTP session routes are selected. The graph supplies its existing native strong backend, trusted clock and bounds. Degraded must synchronously record each emergency decision within ctx; it grants no access authority.
type MFAOTPActiveStepUpConfiguration ¶
type MFAOTPActiveStepUpConfiguration struct {
Native mfapg.OTPActiveStepUpConfig
Policy otp.AttemptPolicy
// FactorManagement explicitly selects native OTP rename and atomic session
// revocation. Explicit email recovery also enables sole-active-OTP removal.
// Primary/Sessions/RemovalRecovery and replacement overrides must be nil;
// the graph supplies the actual selected password-reset recovery owner.
FactorManagement *mfapg.FactorUpdateConfig
// Disable separately selects native sole-active-OTP disable and one/all
// pending-sibling disposition. Native.AllowedPurposes must include disable.
// Primary, Sessions and Recovery must be absent; the graph supplies real
// owners. Email recovery and selected password reset are required. No HTTP
// route or factor-update capability is selected by this field.
Disable *mfapg.DisableConfig
}
MFAOTPActiveStepUpConfiguration selects native action-bound OTP proof issuance, not enrollment/login fallback or HTTP. Native.Primary/Issuance must be absent: the graph supplies actual owners. Policy is consuming-only PurposeStepUp. Delivery templates and retained keys use this same graph.
func (MFAOTPActiveStepUpConfiguration) Format ¶
func (MFAOTPActiveStepUpConfiguration) Format(s fmt.State, _ rune)
Format redacts signing and borrowed native configuration.
func (MFAOTPActiveStepUpConfiguration) MarshalJSON ¶
func (MFAOTPActiveStepUpConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit configuration export.
func (MFAOTPActiveStepUpConfiguration) MarshalText ¶
func (MFAOTPActiveStepUpConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit configuration export.
type MFAOTPEnrollmentConfiguration ¶
type MFAOTPEnrollmentConfiguration struct {
// ActiveStepUp separately selects authenticated OTP factor-update evidence;
// it enables no HTTP route and requires selected password/OTP sessions.
ActiveStepUp *MFAOTPActiveStepUpConfiguration
// Listing independently selects safe native TOTP/OTP inventory. HTTP still
// requires HTTPMFAList; selecting inventory enables no factor mutation.
Listing bool
Native mfapg.OTPEnrollmentConfig
Primary passwordpg.MFAEnablePrimaryConfig
CSRFKeys []session.CSRFKey
AllowedOrigins []string
SessionKeys map[uint32][]byte
FreshnessLimit time.Duration
Policy otp.AttemptPolicy
AttemptKeyVersion uint32
TemplateID string
TemplateVersion uint32
LocaleChain []string
}
MFAOTPEnrollmentConfiguration selects native pending OTP enrollment, delivered confirmation and original recovery. It enables no HTTP route or login method. Native.Primary and Native.Risk.Evaluation must be absent: the graph supplies its actual password proof and counted risk owners. Policy must select consuming MFA challenges; templates and SessionKeys must match this graph's delivery and password-session owners. FreshnessLimit cannot renew original session custody. Configuration and borrowed dependencies must remain immutable during use.
func (MFAOTPEnrollmentConfiguration) Format ¶
func (MFAOTPEnrollmentConfiguration) Format(s fmt.State, _ rune)
Format hides native key, session and policy custody.
func (MFAOTPEnrollmentConfiguration) LogValue ¶
func (MFAOTPEnrollmentConfiguration) LogValue() slog.Value
LogValue redacts startup configuration in structured logs.
func (MFAOTPEnrollmentConfiguration) MarshalJSON ¶
func (MFAOTPEnrollmentConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit export of secret-bearing startup configuration.
func (MFAOTPEnrollmentConfiguration) MarshalText ¶
func (MFAOTPEnrollmentConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit textual export of startup custody.
type MagicLinkConfiguration ¶
type MagicLinkConfiguration struct {
Request magicpg.RequestConfig
Consume *magicpg.ConsumeConfig
PreAuth *MagicLinkPreAuthConfiguration
// TOTP explicitly selects login completion for the native MFA challenge arm.
// It never selects an HTTP route or enrollment/trusted-device policy.
TOTP *MagicLinkTOTPConfiguration
}
MagicLinkConfiguration selects native request and optional consumption, not HTTP. Request supplies versioned issuer, intent, normalization and cookie custody. Risk.Evaluation and Delivery.Owner/Renderer must be zero: the graph injects its counted risk and encrypted delivery owners. Policies use the same selected authorization service/revision. This current profile shares OTP's pre-auth and consuming session namespace; it does not use OTP authentication. PreAuth optionally selects original flow issuance with Request's exact key. Borrowed inputs/callbacks must remain immutable/concurrency-safe during use.
func (MagicLinkConfiguration) Format ¶
func (MagicLinkConfiguration) Format(s fmt.State, _ rune)
Format redacts issuer, envelope and policy custody.
func (MagicLinkConfiguration) MarshalJSON ¶
func (MagicLinkConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit secret-bearing configuration export.
func (MagicLinkConfiguration) MarshalText ¶
func (MagicLinkConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit secret-bearing configuration export.
type MagicLinkConsumeService ¶
type MagicLinkConsumeService interface {
magiclink.ConsumptionService
magichttp.ConsumeService
}
MagicLinkConsumeService combines native consumption/recovery and authenticated original rate-source lookup. No source metadata may be exposed to a client.
type MagicLinkPreAuthConfiguration ¶
type MagicLinkPreAuthConfiguration struct {
ActorID identity.ActorID
Origin, CallbackURL string
LookupKeyVersion uint32
AuditRetentionVersion uint64
FlowTTL time.Duration
TokenSize int
Cookie session.CookiePolicy
}
MagicLinkPreAuthConfiguration selects an original magic-link flow. Its cookie key version must exist in Request.CookieKeys; action and policy come from that owner. Actor, origin and callback are fixed trusted deployment bindings. Cookie, FlowTTL and TokenSize obey session.PreAuthIssuerConfig. HTTP selection requires the canonical five-minute lifetime; direct issuance may use1..10m.
func (MagicLinkPreAuthConfiguration) Format ¶
func (MagicLinkPreAuthConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment custody.
func (MagicLinkPreAuthConfiguration) MarshalJSON ¶
func (MagicLinkPreAuthConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment export.
func (MagicLinkPreAuthConfiguration) MarshalText ¶
func (MagicLinkPreAuthConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment export.
type MagicLinkRequestService ¶
type MagicLinkRequestService interface {
magiclink.RequestService
magichttp.RequestService
}
MagicLinkRequestService combines the public native workflow and frozen normalization consumed by selected HTTP. Normalization confers no authority.
type MagicLinkTOTPCompletionConfig ¶
type MagicLinkTOTPCompletionConfig struct {
MaximumDuration time.Duration
ConfigurationID string
PolicyID string
Coordinator kernel.CoordinatorConfig
Issuer capabilitypg.IssuerConfig
Session sessionpg.Config
Profile sessionpg.MagicLinkAdmissionConfig
SessionIssuer session.IssuerConfig
CSRF session.CSRFKey
CookieKeys map[uint32]session.DigestKey
Risk risk.ProtectedProviderAdmissionCustodyConfig
Counters riskpg.Config
ComparisonKey [32]byte
ComparisonKeyVersion uint32
ActiveEnvelopeKeyID string
}
MagicLinkTOTPCompletionConfig selects the original magic-link/TOTP native completion profile, not HTTP or primary challenge issuance. The selected reference graph constructs it from its actual counted risk, original request owner and explicit MagicLinkTOTPConfiguration; authority profiles are not independently overridden by consumers. ComparisonKey is independent versioned cryptographic comparison custody, never derived from a factor secret. Retain CookieKeys for every live original browser flow. Inputs/providers are borrowed immutable, bounded and concurrent- safe; no constructor callback, IO, bootstrap or background work is performed. This profile does not select enrollment, trusted devices or TOTP transport.
func (MagicLinkTOTPCompletionConfig) Format ¶
func (MagicLinkTOTPCompletionConfig) Format(s fmt.State, _ rune)
Format redacts signing, session, envelope and comparison-key custody.
func (MagicLinkTOTPCompletionConfig) LogValue ¶
func (MagicLinkTOTPCompletionConfig) LogValue() slog.Value
LogValue redacts all native key/policy configuration.
func (MagicLinkTOTPCompletionConfig) MarshalJSON ¶
func (MagicLinkTOTPCompletionConfig) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit secret-bearing configuration export.
func (MagicLinkTOTPCompletionConfig) MarshalText ¶
func (MagicLinkTOTPCompletionConfig) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key configuration export.
type MagicLinkTOTPConfiguration ¶
type MagicLinkTOTPConfiguration struct {
MaximumDuration time.Duration
ConfigurationID, PolicyID string
Counters riskpg.Config
RiskKeys []risk.EvidenceKey
ComparisonKey [32]byte
ComparisonKeyVersion uint32
ActiveEnvelopeKeyID string
}
MagicLinkTOTPConfiguration selects native login completion, not HTTP, enrollment or trusted devices. The graph injects its original request issuer, coordinator, session profile, browser keys and counted provider evaluator; callers cannot substitute those authority owners. Counters must use the same durable risk namespace/policy as the graph. ComparisonKey is independent, versioned code-comparison custody; ActiveEnvelopeKeyID selects session-output encryption. MaximumDuration is bounded by the selected primary/session graph. ConfigurationID and PolicyID pin completion semantics. Resources and callbacks remain borrowed and concurrency-safe; construction has no IO or goroutines.
func (MagicLinkTOTPConfiguration) Format ¶
func (MagicLinkTOTPConfiguration) Format(s fmt.State, _ rune)
Format prevents configuration key and correlated-profile disclosure.
func (MagicLinkTOTPConfiguration) LogValue ¶
func (MagicLinkTOTPConfiguration) LogValue() slog.Value
LogValue emits only a fixed redacted marker.
func (MagicLinkTOTPConfiguration) MarshalJSON ¶
func (MagicLinkTOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit comparison/envelope/risk key export.
func (MagicLinkTOTPConfiguration) MarshalText ¶
func (MagicLinkTOTPConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key custody export.
type ManagedEmailService ¶
type ManagedEmailService struct {
// contains filtered or unexported fields
}
ManagedEmailService is a graph-lifetime-bound native email handle, not a repository, credential validator or independently committable workflow. The selected getter fixes verification-send versus change-request. Methods for the other profile deny; calls preserve native proof, recovery and outcome semantics and are bounded by graph/caller/native deadlines. Zero denies.
func (*ManagedEmailService) ChangeConfirm ¶
func (s *ManagedEmailService) ChangeConfirm(ctx context.Context, r email.ChangeConfirmRequest) (email.ChangeConfirmResult, error)
ChangeConfirm delegates original new-address-confirmed primary change.
func (*ManagedEmailService) ChangeConfirmationRateSource ¶
func (s *ManagedEmailService) ChangeConfirmationRateSource(ctx context.Context, p capability.Proof, callback string, caller authorization.DecisionContext) (identity.UserID, string, time.Duration, error)
ChangeConfirmationRateSource preserves the distinct original change action.
func (*ManagedEmailService) ChangeRecover ¶
func (s *ManagedEmailService) ChangeRecover(ctx context.Context, r email.ChangeRecoveryRequest) (email.ChangeRecoveryResult, error)
ChangeRecover preserves original change metadata; it never repeats effects.
func (*ManagedEmailService) ChangeRequest ¶
func (s *ManagedEmailService) ChangeRequest(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
ChangeRequest attaches the selected native candidate, not a completed swap.
func (*ManagedEmailService) ChangeRequestKeyed ¶
func (s *ManagedEmailService) ChangeRequestKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, key identity.IdempotencyKey) (passwordpg.EmailManagementResult, error)
ChangeRequestKeyed creates one original pending change candidate, not a swap. It is available only on the selected change handle with keyed composition.
func (*ManagedEmailService) ChangeRequestRecover ¶
func (s *ManagedEmailService) ChangeRequestRecover(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (passwordpg.EmailManagementResult, error)
ChangeRequestRecover observes the exact original candidate request metadata.
func (ManagedEmailService) Format ¶
func (ManagedEmailService) Format(s fmt.State, _ rune)
Format redacts retained graph and native credential/key custody.
func (ManagedEmailService) LogValue ¶
func (ManagedEmailService) LogValue() slog.Value
LogValue emits no graph or credential metadata.
func (*ManagedEmailService) ManagedVerificationRateSource ¶
func (s *ManagedEmailService) ManagedVerificationRateSource(ctx context.Context, p capability.Proof, callback string, caller authorization.DecisionContext) (identity.UserID, string, time.Duration, error)
ManagedVerificationRateSource preserves exact verification-only provenance.
func (ManagedEmailService) MarshalJSON ¶
func (ManagedEmailService) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit runtime export.
func (ManagedEmailService) MarshalText ¶
func (ManagedEmailService) MarshalText() ([]byte, error)
MarshalText denies implicit runtime text export.
func (*ManagedEmailService) ReadChangeOrigin ¶
func (s *ManagedEmailService) ReadChangeOrigin(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (email.ChangeOrigin, error)
ReadChangeOrigin exposes native original change custody under the selected graph lifetime and current exact disclosure policy. This trusted workflow port is not HTTP inspection, session authentication or replacement authorization; no delivered link or new proof is required and no original times are renewed.
func (*ManagedEmailService) ReadManagedVerification ¶
func (s *ManagedEmailService) ReadManagedVerification(ctx context.Context, p capability.Proof, caller authorization.DecisionContext) (email.ManagedVerificationSpec, uint32, error)
ReadManagedVerification authenticates original intent without consuming it.
func (*ManagedEmailService) RequestRateSourceKeyed ¶
func (s *ManagedEmailService) RequestRateSourceKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, key identity.IdempotencyKey, resend bool) (identity.UserID, string, error)
RequestRateSourceKeyed authenticates native subject/destination rate metadata before mutable session lookup. Both values are sensitive and must not be logged or disclosed. It does not allocate durable request state, assess providers, issue links, charge counters or grant current mutation/session authority. Exact retries preserve original possession and retain the native input/clock provenance. It requires selected keyed composition and the graph lifetime.
func (*ManagedEmailService) ValidateManagedVerification ¶
func (s *ManagedEmailService) ValidateManagedVerification(ctx context.Context, p capability.Proof, callback string, caller authorization.DecisionContext) (bool, error)
ValidateManagedVerification is a non-consuming bounded current-state read.
func (*ManagedEmailService) VerificationConfirm ¶
func (s *ManagedEmailService) VerificationConfirm(ctx context.Context, r email.VerificationConfirmRequest) (email.VerificationConfirmResult, error)
VerificationConfirm delegates explicit protected one-use verification.
func (*ManagedEmailService) VerificationRecover ¶
func (s *ManagedEmailService) VerificationRecover(ctx context.Context, r email.VerificationRecoveryRequest) (email.VerificationRecoveryResult, error)
VerificationRecover preserves native original verification reconciliation.
func (*ManagedEmailService) VerificationResend ¶
func (s *ManagedEmailService) VerificationResend(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
VerificationResend preserves native cooldown and predecessor supersession.
func (*ManagedEmailService) VerificationResendKeyed ¶
func (s *ManagedEmailService) VerificationResendKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, key identity.IdempotencyKey) (passwordpg.EmailManagementResult, error)
VerificationResendKeyed retains the existing pending target and cooldown. It requires selected keyed verification, an empty command ID and exact target.
func (*ManagedEmailService) VerificationSend ¶
func (s *ManagedEmailService) VerificationSend(ctx context.Context, r passwordpg.EmailManagementRequest) (passwordpg.EmailManagementResult, error)
VerificationSend preserves native original-password admission, issuance and delivery under the graph's lifetime. A change-selected handle cannot use it.
func (*ManagedEmailService) VerificationSendKeyed ¶
func (s *ManagedEmailService) VerificationSendKeyed(ctx context.Context, r passwordpg.EmailManagementRequest, key identity.IdempotencyKey) (passwordpg.EmailManagementResult, error)
VerificationSendKeyed selects original-input correlation when explicitly configured. Command/address IDs must be empty. It preserves native atomic proof, issuance, delivery and retry semantics; missing keyed selection denies.
func (*ManagedEmailService) VerificationSendRecover ¶
func (s *ManagedEmailService) VerificationSendRecover(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (passwordpg.EmailManagementResult, error)
VerificationSendRecover observes original metadata without historical proof.
type MigrationApplyPolicy ¶
type MigrationApplyPolicy struct {
TenantID identity.TenantID
ActorID identity.ActorID
LookupKey [32]byte
LockTimeout time.Duration
CleanupTimeout time.Duration
}
MigrationApplyPolicy enables explicit offline operator migrations. Scope and LookupKey are trusted deployment inputs, not request-supplied authorization. LookupKey is a nonzero stable secret retained across retries/reconstruction; replacing it cannot rebind an existing command. Native command records must remain retained while resume/reconciliation is possible (no automatic TTL). LockTimeout defaults to 30s; explicit values are 1s..5m. CleanupTimeout is positive and at most one minute. PrimaryTimeout bounds the entire operation, independently of the lock budget. Construction copies this value; callers must not mutate input concurrently. Diagnostic projections redact the key.
func (MigrationApplyPolicy) Format ¶
func (p MigrationApplyPolicy) Format(s fmt.State, _ rune)
Format redacts every formatting verb, including structural diagnostics.
func (MigrationApplyPolicy) GoString ¶
func (p MigrationApplyPolicy) GoString() string
GoString redacts operator policy and secret custody.
func (MigrationApplyPolicy) LogValue ¶
func (p MigrationApplyPolicy) LogValue() slog.Value
LogValue deliberately exports no operator scope or key.
func (MigrationApplyPolicy) MarshalJSON ¶
func (MigrationApplyPolicy) MarshalJSON() ([]byte, error)
MarshalJSON deliberately exports no operator scope or key.
func (MigrationApplyPolicy) String ¶
func (MigrationApplyPolicy) String() string
String redacts operator policy and secret custody.
type MigrationApplyResult ¶
type MigrationApplyResult struct {
// contains filtered or unexported fields
}
MigrationApplyResult is an immutable public projection of native authority. Copies share no mutable slices with the owner; zero is invalid. At most 128 sorted owner receipts are returned. It cannot authorize resume by itself.
func (MigrationApplyResult) CommandID ¶
func (r MigrationApplyResult) CommandID() identity.CommandID
CommandID returns the original stable command, including unknown outcomes.
func (MigrationApplyResult) Digest ¶
func (r MigrationApplyResult) Digest() [32]byte
Digest returns the bound complete original plan digest.
func (MigrationApplyResult) Receipts ¶
func (r MigrationApplyResult) Receipts() []MigrationContributorReceipt
Receipts returns detached sorted command-attributed contributor progress.
func (MigrationApplyResult) State ¶
func (r MigrationApplyResult) State() MigrationApplyState
State returns the execution/reconciliation classification; zero is invalid.
type MigrationApplyState ¶
type MigrationApplyState uint8
MigrationApplyState is a closed execution/recovery classification. Zero is invalid, not success. Pending may contain a durable prefix; only Applied means the complete original plan has native attribution and current validity.
const ( // MigrationApplied means all selected batches are durably attributed. MigrationApplied MigrationApplyState = iota + 1 // MigrationApplyPending means an incomplete command can be retried exactly. MigrationApplyPending // MigrationApplyDirty denies execution until explicit native recovery. MigrationApplyDirty // MigrationApplyIncompatible denies drift, unowned state or changed plans. MigrationApplyIncompatible // MigrationApplyLocked means bounded ownership acquisition timed out. MigrationApplyLocked // MigrationApplyUnknown requires authoritative same-command reconciliation. MigrationApplyUnknown )
type MigrationCompatibility ¶
type MigrationCompatibility uint8
MigrationCompatibility is the closed relationship between an owned source and its authoritative native history. Zero is invalid.
const ( // MigrationCompatible means every required step is clean and identity-matched. MigrationCompatible MigrationCompatibility = iota + 1 // MigrationRequired means an original forward suffix is not installed. MigrationRequired // MigrationIncompatible means history drift or unmanaged owned objects. MigrationIncompatible // MigrationDirty means a recognized step has an unresolved native outcome. MigrationDirty )
type MigrationContributorReceipt ¶
MigrationContributorReceipt is public progress metadata, never execution authority. Version is the maximum command-attributed original native version across this owner's participating histories, not a merged sequence. Native namespace-qualified receipts remain authority. No private digest escapes.
type MigrationError ¶
type MigrationError struct {
// contains filtered or unexported fields
}
MigrationError preserves migration state and a safe identity/context error. Driver diagnostics never cross this boundary. Unknown always unwraps to the original identity.UnknownCommitError, never inferred success or rollback.
func (MigrationError) Error ¶
func (MigrationError) Error() string
Error returns only a stable diagnostic without database/provider payloads.
func (MigrationError) State ¶
func (e MigrationError) State() MigrationApplyState
State returns the distinguished migration failure class.
func (MigrationError) Unwrap ¶
func (e MigrationError) Unwrap() error
Unwrap exposes only a safe typed identity or context classification.
type MigrationPlan ¶
type MigrationPlan struct {
BaseLedgerDigest [32]byte
CatalogDigest [32]byte
Modules []ModuleVersion
Steps []MigrationStep
Digest [32]byte
}
MigrationPlan is a detached canonical snapshot, not execution authority. Modules and Steps are caller-owned copies. Treat the value as immutable; changing any field invalidates Digest. Apply must independently rediscover and validate the complete value before writes. A nonzero digest with no steps represents a valid no-op; the zero value is invalid.
type MigrationPolicy ¶
MigrationPolicy supplies explicit deployment bounds. Ordinary serving never applies migrations on startup; use StoreSet's separate Check/Plan/Apply APIs.
type MigrationStep ¶
type MigrationStep struct {
Owner ModuleID
ID string
FromVersion uint64
ToVersion uint64
SourceDigest [32]byte
StepDigest [32]byte
}
MigrationStep identifies one native forward migration without exposing SQL. FromVersion is the owner's preceding version within the physical history identified by SourceDigest, not another owner or another independent history. SourceDigest binds the complete participating physical source.
type ModuleID ¶
type ModuleID string
ModuleID identifies a selected canonical migration owner, not a database or ledger name. Unknown, unselected, duplicate and empty IDs are invalid.
type ModuleMigrationStatus ¶
type ModuleMigrationStatus struct {
Module string
CurrentVersion uint64
RequiredVersion uint64
Compatibility MigrationCompatibility
}
ModuleMigrationStatus contains only public owner/version metadata. It is a discovery snapshot, not permission to apply or a guarantee of future health. Versions are maxima across selected native histories. Compatibility, not numeric equality, establishes completeness of a multi-history owner.
type ModuleVersion ¶
ModuleVersion is an authoritative current version, including zero for an empty owner history. It is never a caller-supplied planning target.
type OAuthWorkloadConfiguration ¶
type OAuthWorkloadConfiguration struct {
Protocol oauth.Config
Schema string
GlobalAuthorityID, PolicyNamespace string
BootstrapTenantIDs []identity.TenantID
TokenKeys []oauth.TokenDigestKey
ActiveTokenKeyVersion uint32
IntentKey [32]byte
ActiveEnvelopeKeyID string
Coordinator kernel.CoordinatorConfig
RequestKeys kernel.RequestKeyConfig
PolicyID string
Counters riskpg.Config
}
OAuthWorkloadConfiguration selects configured confidential Basic clients only. Native OAuth retains protocol, credential, transaction, audit/outbox and current-authority ownership. Session, managed clients, exchange, OIDC and device selections are unsupported; they are never silently enabled.
BootstrapTenantIDs is an explicit immutable directory declaration, not an inference from admission scopes. Every workload tenant must be declared and present in DurableAdmission.Tenants. Protected counters use the same physical risk schema. Clocks in Protocol, Coordinator and RequestKeys must be the real clock.System value; production composition accepts no test clock override. PolicyNamespace must be exclusive to service-account subjects: the public authorization scope deliberately has no subject-kind discriminator.
Remaining fields retain oauth/postgres.Config's bounds, key-retention and primary-pool obligations. EnvelopeKeys must be a nonnil *keyring.Provider. Construction copies configuration; concurrent caller mutation is forbidden.
func (OAuthWorkloadConfiguration) Format ¶
func (OAuthWorkloadConfiguration) Format(s fmt.State, _ rune)
func (OAuthWorkloadConfiguration) MarshalJSON ¶
func (OAuthWorkloadConfiguration) MarshalJSON() ([]byte, error)
func (OAuthWorkloadConfiguration) MarshalText ¶
func (OAuthWorkloadConfiguration) MarshalText() ([]byte, error)
type OAuthWorkloadService ¶
type OAuthWorkloadService struct {
// contains filtered or unexported fields
}
OAuthWorkloadService is the selected native workload interface behind the sealed graph's initialization, cancellation and shutdown boundary. Copies share one lifetime and are safe for concurrent calls. It owns no pool or goroutine. Requests retain native OAuth ownership, credential-custody and trusted transport-attribution obligations; input mutation during a call is forbidden. Successful credentials belong to the caller, never to a logger. Zero is invalid. Retained handles permanently deny after StoreSet.Close.
func (OAuthWorkloadService) Format ¶
func (OAuthWorkloadService) Format(s fmt.State, _ rune)
Format redacts graph internals and correlated deployment custody.
func (OAuthWorkloadService) Introspect ¶
func (o OAuthWorkloadService) Introspect(ctx context.Context, r oauth.IntrospectRequest) (oauth.IntrospectResult, error)
Introspect performs the native owning-client primary read within this graph's lifetime. It returns no cacheable authority or renewed freshness evidence.
func (OAuthWorkloadService) MarshalJSON ¶
func (OAuthWorkloadService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit runtime-custody export.
func (OAuthWorkloadService) MarshalText ¶
func (OAuthWorkloadService) MarshalText() ([]byte, error)
MarshalText rejects implicit runtime-custody export.
func (OAuthWorkloadService) Revoke ¶
func (o OAuthWorkloadService) Revoke(ctx context.Context, r oauth.RevokeRequest) (oauth.RevokeResult, error)
Revoke retains the native client's authorization, atomic effects, unknown- outcome and indistinguishable unknown-token semantics, bounded by shutdown.
func (OAuthWorkloadService) Token ¶
func (o OAuthWorkloadService) Token(ctx context.Context, r oauth.TokenRequest) (oauth.TokenResult, error)
Token invokes the existing configured workload issuer. Earlier caller deadlines win, Close cancels the call, and native committed/unknown outcomes remain unchanged. Errors are not proof that a previously attempted command rolled back; consume only the native result's declared outcome.
type OTPPreAuthConfiguration ¶
type OTPPreAuthConfiguration struct {
ActorID identity.ActorID
Origin, CallbackURL string
LookupKeyVersion uint32
AuditRetentionVersion uint64
FlowTTL time.Duration
TokenSize int
Cookie session.CookiePolicy
}
OTPPreAuthConfiguration selects one trusted original-flow profile. Action, policy and native namespace come from the selected OTP owner, not a second configuration. Origin/CallbackURL are fixed deployment allowlist values; empty callback disables redirect. LookupKeyVersion selects an exact retained OTP pre-auth cookie key. FlowTTL is 1..10 minutes, TokenSize 32..64 and Cookie must be the secure __Host-identity_flow policy. ActorID is a service identity, never the future authenticated user. No constructor performs IO.
func (OTPPreAuthConfiguration) Format ¶
func (OTPPreAuthConfiguration) Format(s fmt.State, _ rune)
Format redacts trusted deployment profile values for every formatting verb.
func (OTPPreAuthConfiguration) MarshalJSON ¶
func (OTPPreAuthConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prevents implicit deployment configuration disclosure.
func (OTPPreAuthConfiguration) MarshalText ¶
func (OTPPreAuthConfiguration) MarshalText() ([]byte, error)
MarshalText prevents implicit configuration disclosure, including map keys.
type OTPSendConfiguration ¶
type OTPSendConfiguration struct {
// BootstrapTenantIDs is the explicit immutable 0..256-entry directory set.
// Empty bootstraps no tenants and grants no tenant authority. It is never
// inferred from velocity scopes or users. Retain it after migration apply;
// later onboarding uses the owning lifecycle APIs, not edited migrations.
BootstrapTenantIDs []identity.TenantID
Store otppg.ContributorConfig
Codec otppg.AttemptCodecConfig
Session *otppg.SessionAdmissionConfig
Coordinator kernel.CoordinatorConfig
RequestKeys kernel.RequestKeyConfig
Policy otp.AttemptPolicy
TemplateID string
TemplateVersion uint32
LocaleChain []string
ProviderVersion uint64
PolicyID string
PolicyVersion uint64
PreAuthAction string
IntentKey, IdentifierKey [32]byte
Timeout time.Duration
RiskTimeout, AuditTimeout time.Duration
RiskPolicyID, ConfigurationID string
RiskKeys []risk.EvidenceKey
// Signin explicitly enables the native single-factor consuming workflow.
// Nil exposes Send only. Supply current admission/query policy, independent
// session/CSRF keys and the matching deployment authority namespace. The
// selected session namespace may share the pre-auth or authenticated store.
// Additional-factor policy must deny until the MFA profile is composed.
// HTTPEmailSignin additionally selects native known-empty generation fencing
// even if the supplied native config retains policy-only compatibility mode.
Signin *otppg.SigninConfig
// PreAuth explicitly enables original flow initiation. Nil preserves the
// existing externally initiated Send profile without exposing an issuer.
PreAuth *OTPPreAuthConfiguration
}
OTPSendConfiguration selects the native public Send workflow. It has the same bounds and retained-key obligations as otp/postgres.SendConfig, except risk, templates and delivery custody are owned once by this graph. Risk uses Velocity's exact policy/key history, real wall time and the native router. ConfigurationID versions the retained admission semantics; change it when those semantics change. RiskTimeout/AuditTimeout are 1ms..5s, with audit inside risk and risk inside Timeout. Only velocity-only profiles are supported in this development composition; no missing source gets an allow-all default.
func (OTPSendConfiguration) MarshalJSON ¶
func (OTPSendConfiguration) MarshalJSON() ([]byte, error)
func (OTPSendConfiguration) MarshalText ¶
func (OTPSendConfiguration) MarshalText() ([]byte, error)
type OrganizationConfiguration ¶
type OrganizationConfiguration struct {
Core organization.Config
Repository organizationpg.Config
Counters riskpg.Config
Custody organizationpg.OperationCustodyConfig
ConfigurationID string
SelectOrganizationID func(context.Context) (organization.ID, error)
Invitations *OrganizationInvitationConfiguration
OwnerTransfer *OrganizationOwnerTransferConfiguration
Lifecycle *OrganizationLifecycleConfiguration
// DirectRoleBindings selects native keyed assignment/natural revocation and
// its independent optional migration history. Core.DynamicRoles is required;
// neither team bindings nor HTTP binding mutations are enabled by this flag.
DirectRoleBindings bool
// TeamRoleBindings selects native keyed team assignment/natural revocation
// and its separate lookup history. Core.DynamicRoles.TeamBindingsVersion 1
// is required. Direct binding operations and HTTP mutations stay independent.
TeamRoleBindings bool
}
OrganizationConfiguration opts into native explicit-organization membership over this graph's current verified-password bearer sessions. It enables no HTTP or domain proofs. Core.Teams explicitly selects native teams; LifecycleVersion 1 additionally selects exact reads, rename and terminal deletion after the forward migrations. Teams grant no organization role. Core.DynamicRoles explicitly selects native custom permissions; its immutable catalog is shared exactly with the native contributor. TeamBindingsVersion1 additionally requires selected team lifecycle and its native binding schema. OwnerTransfer and Lifecycle independently select their native password-proof profiles, never HTTP routes. Core.Clock must be nil; the graph supplies its system clock. Counters selects protected PostgreSQL command admission in the existing risk schema, not a replacement risk evaluator. Custody retains the native original-key encryption profile. ConfigurationID and bounded, concurrent-safe ID callbacks must remain stable for original recovery. Change the configuration ID for material policy changes.
func (OrganizationConfiguration) Format ¶
func (OrganizationConfiguration) Format(s fmt.State, _ rune)
Format redacts retained keys and deployment configuration.
func (OrganizationConfiguration) MarshalJSON ¶
func (OrganizationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects serialization of deployment secrets.
func (OrganizationConfiguration) MarshalText ¶
func (OrganizationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects serialization of deployment secrets.
type OrganizationInvitationConfiguration ¶
type OrganizationInvitationConfiguration struct {
Policy organization.InvitationConfig
Issuer issuerpg.IssuerConfig
Preparation issuerpg.IssuancePreparationConfig
ConfigurationID string
SelectInvitationID func(context.Context) (organization.ID, error)
TemplateID string
TemplateVersion uint32
PolicyVersion, ProviderVersion uint64
LocaleChain []string
Endpoint string
ScopeKey [32]byte
}
OrganizationInvitationConfiguration additionally selects genuine intended- recipient invitations. Issuer and Preparation retain native capability keys; their clocks must be nil for graph injection. Delivery uses the graph's owned queue, templates and selected provider/policy versions. The supplied endpoint and scope key retain the native purpose/recipient/organization-bound link. No application contributor, store, renderer or workflow is accepted.
func (OrganizationInvitationConfiguration) Format ¶
func (OrganizationInvitationConfiguration) Format(s fmt.State, _ rune)
Format redacts capability and delivery deployment configuration.
func (OrganizationInvitationConfiguration) MarshalJSON ¶
func (OrganizationInvitationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects serialization of capability and delivery secrets.
func (OrganizationInvitationConfiguration) MarshalText ¶
func (OrganizationInvitationConfiguration) MarshalText() ([]byte, error)
MarshalText rejects serialization of capability and delivery secrets.
type OrganizationInvitationService ¶
type OrganizationInvitationService struct {
// contains filtered or unexported fields
}
OrganizationInvitationService exposes selected native invitation operations. It owns no provider, journal or lifetime separate from this graph. Copies share immutable configuration; independent calls are concurrent-safe.
func (*OrganizationInvitationService) Cancel ¶
func (f *OrganizationInvitationService) Cancel(ctx context.Context, r organization.InvitationCancelOperationRequest, network string) (organization.StoreResult, error)
Cancel uses native exact-version manager cancellation and original natural- repeat recovery. It requires no recipient credential or proof. Graph lifetime and tenant guards remain separate from current native action authority.
func (*OrganizationInvitationService) Expire ¶
func (f *OrganizationInvitationService) Expire(ctx context.Context, r organization.InvitationExpireOperationRequest, network string) (organization.StoreResult, error)
Expire uses native exact-version manager expiry and original-history reconciliation. Registered reasons, current manager/session authority and atomic proof invalidation remain native; graph tenant/lifetime guards apply.
func (OrganizationInvitationService) Format ¶
func (OrganizationInvitationService) Format(s fmt.State, _ rune)
Format redacts borrowed invitation and capability owners.
func (*OrganizationInvitationService) Get ¶
func (f *OrganizationInvitationService) Get(ctx context.Context, r organization.InvitationReadRequest) (organization.InvitationDelivery, error)
Get retains native owner-only current invitation disclosure.
func (*OrganizationInvitationService) List ¶
func (f *OrganizationInvitationService) List(ctx context.Context, r organization.InvitationReadRequest) (organization.InvitationPage, error)
List reads current safe invitation metadata for the authenticated organization owner. Limit and exclusive invitation-ID cursor retain the native contract; graph lifetime, configured tenant and initialization guards remain enforced.
func (*OrganizationInvitationService) ListMine ¶
func (f *OrganizationInvitationService) ListMine(ctx context.Context, r organization.InvitationListMineRequest) (organization.InvitationListMineResult, error)
ListMine reads the authenticated verified recipient's bounded invitations.
func (OrganizationInvitationService) MarshalJSON ¶
func (OrganizationInvitationService) MarshalJSON() ([]byte, error)
MarshalJSON prevents serialization of an owning service handle.
func (OrganizationInvitationService) MarshalText ¶
func (OrganizationInvitationService) MarshalText() ([]byte, error)
MarshalText prevents serialization of an owning service handle.
func (*OrganizationInvitationService) PrepareAcceptance ¶
func (f *OrganizationInvitationService) PrepareAcceptance(ctx context.Context, r organization.InvitationAcceptRequest, network string) (organization.PreparedInvitationAcceptance, error)
PrepareAcceptance retains the exact native preparation across admission and execution. The returned opaque handle must be used serially, not concurrently. Admission performs no IO; Execute rejoins the graph without renewing custody.
func (*OrganizationInvitationService) RecoverAccept ¶
func (f *OrganizationInvitationService) RecoverAccept(ctx context.Context, r organization.InvitationAcceptRecoveryRequest) (organization.StoreResult, error)
RecoverAccept queries retained original scope with current authority.
func (*OrganizationInvitationService) Reject ¶
func (f *OrganizationInvitationService) Reject(ctx context.Context, r organization.InvitationRejectOperationRequest, network string) (organization.StoreResult, error)
Reject retains native intended-recipient authority, natural-repeat original outcome recovery and atomic rejection without manager or membership authority.
func (*OrganizationInvitationService) Resend ¶
func (f *OrganizationInvitationService) Resend(ctx context.Context, r organization.InvitationResendOperationRequest, network string) (organization.InvitationResendOperationResult, error)
Resend retains the original initiating key, recipient and exclusive deadline through the existing native successor/delivery owner. Matching retries return original metadata only, including after later resends or acceptance. Graph lifetime and tenant guards do not replace native current security checks.
func (*OrganizationInvitationService) Send ¶
func (f *OrganizationInvitationService) Send(ctx context.Context, r organization.InvitationSendOperationRequest, network string) (organization.StoreResult, error)
Send uses the existing native original-key invitation/delivery owner.
type OrganizationLifecycleConfiguration ¶
type OrganizationLifecycleConfiguration struct {
Archive, Restore passwordpg.ActionPrimaryConfig
}
OrganizationLifecycleConfiguration selects the local native archive/restore profile using distinct real password action sources. Both must use the same explicit audience, bearer transport and no CSRF keys. Leave Core.Lifecycle zero; the graph injects its matching policy. No external cascade is selected.
func (OrganizationLifecycleConfiguration) Format ¶
func (OrganizationLifecycleConfiguration) Format(s fmt.State, _ rune)
Format redacts retained primary configuration and keys.
func (OrganizationLifecycleConfiguration) MarshalJSON ¶
func (OrganizationLifecycleConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects export of deployment custody.
func (OrganizationLifecycleConfiguration) MarshalText ¶
func (OrganizationLifecycleConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit export of deployment custody.
type OrganizationOwnerTransferConfiguration ¶
type OrganizationOwnerTransferConfiguration struct {
Primary passwordpg.ActionPrimaryConfig
}
OrganizationOwnerTransferConfiguration selects native ownership transfer using this graph's real password-verification owner. Primary must select identity.organization.owner-transfer, an existing issuance audience and bearer transport with no CSRF keys. Its audience is injected into Core; callers must leave Core.OwnerTransferAudience empty to avoid competing configuration.
type OrganizationService ¶
type OrganizationService struct {
// contains filtered or unexported fields
}
OrganizationService exposes selected native organization operations without concrete stores. Calls join graph initialization, tenant and shutdown guards; independent calls are concurrent-safe. Recovery only reads original outcomes.
func (*OrganizationService) AddMember ¶
func (f *OrganizationService) AddMember(ctx context.Context, r organization.AddMemberOperationRequest, network string) (organization.StoreResult, error)
AddMember preserves exact target/version intent and original-key recovery.
func (*OrganizationService) AddTeamMember ¶
func (f *OrganizationService) AddTeamMember(ctx context.Context, r organization.AddTeamMemberOperationRequest, network string) (organization.StoreResult, error)
AddTeamMember delegates exact original-key admission through the selected native owner. Current team-write/session authority and protected effects stay native-owned; matching recovery never renews authority or executes again.
func (*OrganizationService) Archive ¶
func (f *OrganizationService) Archive(ctx context.Context, r organization.LifecycleOperationRequest, network string) (organization.StoreResult, error)
Archive delegates original-key local archive without claiming external cascade closure. The native owner retains current owner/action-proof and atomic effects.
func (*OrganizationService) AssignDynamicRole ¶
func (f *OrganizationService) AssignDynamicRole(ctx context.Context, r organization.AssignDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
AssignDynamicRole preserves the native original key, exact role/member epochs and current manager/session authority. Select DirectRoleBindings before use. Network is the trusted canonical client IP; this enables no HTTP mutation.
func (*OrganizationService) AssignTeamDynamicRole ¶
func (f *OrganizationService) AssignTeamDynamicRole(ctx context.Context, r organization.AssignTeamDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
AssignTeamDynamicRole preserves the native original key and exact team/role epochs under current human manager authority. Select TeamRoleBindings before use. Network is the trusted canonical client IP; no HTTP mutation is enabled.
func (*OrganizationService) CheckPermission ¶
func (f *OrganizationService) CheckPermission(ctx context.Context, r organization.PermissionCheckRequest) (authorization.Decision, error)
CheckPermission evaluates only the authenticated native member's effective custom roles at the exact organization epoch. Static management roles grant no implicit application access; selected team bindings and deny precedence remain native-owned. This selects no HTTP permission endpoint.
func (*OrganizationService) Create ¶
func (f *OrganizationService) Create(ctx context.Context, r organization.CreateOperationRequest, network string) (organization.StoreResult, error)
Create preserves the native original initiating key and current authority.
func (*OrganizationService) CreateDynamicRole ¶
func (f *OrganizationService) CreateDynamicRole(ctx context.Context, r organization.CreateDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
CreateDynamicRole delegates original-key role creation and immutable catalog validation to the native owner. Graph tenant, cancellation and drain guards apply before current native authorization and atomic effects.
func (*OrganizationService) CreateTeam ¶
func (f *OrganizationService) CreateTeam(ctx context.Context, r organization.CreateTeamOperationRequest, network string) (organization.StoreResult, error)
CreateTeam delegates original-key creation of an empty native team. It grants no organization roles, and does not select an HTTP team-creation route. Configured tenant, initialization, bounded context and graph shutdown guards apply before the native current-authority and atomic transaction owners.
func (*OrganizationService) DeleteDynamicRole ¶
func (f *OrganizationService) DeleteDynamicRole(ctx context.Context, r organization.DeleteDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
DeleteDynamicRole delegates natural terminal deletion and current-authorized original recovery. Absence never proves success; role IDs cannot revive.
func (*OrganizationService) DeleteTeam ¶
func (f *OrganizationService) DeleteTeam(ctx context.Context, r organization.DeleteTeamOperationRequest, network string) (organization.StoreResult, error)
DeleteTeam delegates naturally repeated exact-version terminal deletion. Only native original history proves prior success; retired IDs and bindings cannot revive. Current authority and graph guards apply to every recovery.
func (OrganizationService) Format ¶
func (OrganizationService) Format(s fmt.State, _ rune)
Format redacts borrowed graph and custody configuration.
func (*OrganizationService) Get ¶
func (f *OrganizationService) Get(ctx context.Context, r organization.ReadRequest) (organization.View, error)
Get reads current explicitly scoped organization metadata.
func (*OrganizationService) GetDynamicRole ¶
func (f *OrganizationService) GetDynamicRole(ctx context.Context, r organization.DynamicRoleReadRequest) (organization.View, error)
GetDynamicRole returns the selected current manager-only native snapshot, retaining native policy/session and graph lifetime/tenant guards.
func (*OrganizationService) GetLifecycle ¶
func (f *OrganizationService) GetLifecycle(ctx context.Context, r organization.ReadRequest) (organization.View, error)
GetLifecycle discovers current active/archived metadata only under the actual native owner's current-session/owner policy; ordinary reads still deny archive.
func (*OrganizationService) GetTeam ¶
func (f *OrganizationService) GetTeam(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
GetTeam returns the selected exact manager-only native snapshot. It exposes no HTTP route or reusable authority. Native team-read/session/lifecycle policy and graph initialization, tenant, cancellation and drain guards apply.
func (*OrganizationService) LeaveMember ¶
func (f *OrganizationService) LeaveMember(ctx context.Context, r organization.LeaveMemberOperationRequest, network string) (organization.StoreResult, error)
LeaveMember delegates naturally repeatable self-leave at the exact original organization version. Native current authority, last-owner safety and original outcome recovery remain native-owned; graph tenant/drain guards apply.
func (*OrganizationService) ListDynamicRoles ¶
func (f *OrganizationService) ListDynamicRoles(ctx context.Context, r organization.DynamicRoleReadRequest) (organization.View, error)
ListDynamicRoles returns a bounded current native role page. No snapshot or cursor extends authority; failures disclose no partial page.
func (*OrganizationService) ListMembers ¶
func (f *OrganizationService) ListMembers(ctx context.Context, r organization.ReadRequest) (organization.View, error)
ListMembers reads the native bounded current membership page.
func (*OrganizationService) ListMyTeams ¶
func (f *OrganizationService) ListMyTeams(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
ListMyTeams returns the authenticated human's current bounded native page. It accepts no alternate subject and grants no cached authorization lease. Calls join graph tenant, initialization, cancellation and shutdown guards.
func (*OrganizationService) ListOrganizations ¶
func (f *OrganizationService) ListOrganizations(ctx context.Context, r organization.ListOrganizationsRequest) (organization.ListOrganizationsResult, error)
ListOrganizations returns the current authenticated subject's bounded native page. The native owner retains membership/policy filtering, explicit limit and cursor semantics; graph initialization, tenant and drain guards apply.
func (*OrganizationService) ListTeamMembers ¶
func (f *OrganizationService) ListTeamMembers(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
ListTeamMembers delegates current native team authorization and exact organization-admission filtering, retaining bounded pagination and graph lifetime/tenant guards. Failures return no page and never extend freshness.
func (*OrganizationService) ListTeams ¶
func (f *OrganizationService) ListTeams(ctx context.Context, r organization.TeamReadRequest) (organization.View, error)
ListTeams returns a bounded current manager-only native page, not a cached authorization lease. Current team-read policy and graph tenant/lifetime guards remain required; failures disclose no partial page.
func (OrganizationService) MarshalJSON ¶
func (OrganizationService) MarshalJSON() ([]byte, error)
MarshalJSON prevents serialization of an owning service handle.
func (OrganizationService) MarshalText ¶
func (OrganizationService) MarshalText() ([]byte, error)
MarshalText prevents serialization of an owning service handle.
func (*OrganizationService) OwnerTransfer ¶
func (f *OrganizationService) OwnerTransfer(ctx context.Context, r organization.OwnerTransferOperationRequest, network string) (organization.StoreResult, error)
OwnerTransfer delegates the selected native password-proof transfer. Original keyed history is recovery, never another grant; graph lifetime/tenant guards apply before reaching the native current-authority and atomic effect owners.
func (*OrganizationService) RecoverOperation ¶
func (f *OrganizationService) RecoverOperation(ctx context.Context, r organization.OperationRecoveryRequest) (organization.StoreResult, error)
RecoverOperation reads the exact original native command, never resubmits.
func (*OrganizationService) RemoveMember ¶
func (f *OrganizationService) RemoveMember(ctx context.Context, r organization.RemoveMemberOperationRequest, network string) (organization.StoreResult, error)
RemoveMember delegates repeat removal and native last-owner protection.
func (*OrganizationService) RemoveTeamMember ¶
func (f *OrganizationService) RemoveTeamMember(ctx context.Context, r organization.RemoveTeamMemberOperationRequest, network string) (organization.StoreResult, error)
RemoveTeamMember delegates naturally repeated exact-binding removal. Only original correlated native history establishes success; missing bindings do not. Organization readmission cannot revive old team authority. The graph retains its tenant, initialization and lifetime guards on every call.
func (*OrganizationService) Restore ¶
func (f *OrganizationService) Restore(ctx context.Context, r organization.LifecycleOperationRequest, network string) (organization.StoreResult, error)
Restore delegates distinct-proof native restore, never reviving terminal grants.
func (*OrganizationService) RevokeDynamicRole ¶
func (f *OrganizationService) RevokeDynamicRole(ctx context.Context, r organization.RevokeDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
RevokeDynamicRole delegates natural exact-binding revocation and original recovery without caller commands or keys. DirectRoleBindings installs the optional native lookup history; absence alone never proves prior success. Native current authority and graph tenant/lifetime guards remain mandatory.
func (*OrganizationService) RevokeTeamDynamicRole ¶
func (f *OrganizationService) RevokeTeamDynamicRole(ctx context.Context, r organization.RevokeTeamDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
RevokeTeamDynamicRole delegates natural exact-binding revocation and original recovery without caller commands, keys or team impersonation. TeamRoleBindings selects its independent native lookup history; current human/query authority and graph lifetime/tenant guards remain mandatory. Absence is not success.
func (*OrganizationService) SlugAvailable ¶
func (f *OrganizationService) SlugAvailable(ctx context.Context, r organization.SlugAvailableRequest) (organization.SlugAvailableResult, error)
SlugAvailable reads advisory tenant-local occupancy through the actual native owner, preserving graph initialization, tenant and drain guards. It requires no membership and reserves no name; create/update uniqueness remains final.
func (*OrganizationService) Update ¶
func (f *OrganizationService) Update(ctx context.Context, r organization.UpdateOperationRequest, network string) (organization.StoreResult, error)
Update replaces exact-version metadata under native current administrator authority, preserving original-key recovery and graph lifetime guards.
func (*OrganizationService) UpdateDynamicRole ¶
func (f *OrganizationService) UpdateDynamicRole(ctx context.Context, r organization.UpdateDynamicRoleOperationRequest, network string) (organization.StoreResult, error)
UpdateDynamicRole delegates original-key replacement at exact role and organization epochs. Native catalog, deny precedence and history remain owned by the native service, not a second Reference policy engine.
func (*OrganizationService) UpdateMember ¶
func (f *OrganizationService) UpdateMember(ctx context.Context, r organization.UpdateMemberOperationRequest, network string) (organization.StoreResult, error)
UpdateMember delegates exact-version static-role replacement and native last-owner protection without renewing original command or authority custody.
func (*OrganizationService) UpdateTeam ¶
func (f *OrganizationService) UpdateTeam(ctx context.Context, r organization.UpdateTeamOperationRequest, network string) (organization.StoreResult, error)
UpdateTeam delegates original-key exact-epoch rename without changing team bindings. Native current action/session/query authority and transaction ownership remain authoritative; calls retain graph tenant/lifetime guards.
type PasskeyConfiguration ¶
type PasskeyConfiguration struct {
// TOTP explicitly selects enrolled-factor challenge/completion. Nil keeps
// known-empty signin only. Selection does not enable HTTP or enrollment.
TOTP *PasskeyTOTPConfiguration
// Standalone selects a passkey-only graph without password, OTP or delivery
// workflows. It disables password-proof enrollment and management, not UV,
// native authority, risk or session checks. Nil retains the existing graph.
Standalone *PasskeyStandaloneConfiguration
// Signup independently selects prospective-account registration. Nil keeps
// existing-account enrollment/signin only; it enables no HTTP capability.
Signup *PasskeySignupConfiguration
// KeyedOptions explicitly selects native original-key admission for both
// enrollment and signin options. Nil preserves existing keyless behavior.
KeyedOptions *PasskeyKeyedOptionsConfiguration
// Management independently selects keyed self-label rename. It requires
// KeyedOptions for the same kernel request-key owner, not another journal.
Management *PasskeyManagementConfiguration
// SessionManagement independently selects fresh action-bound UV rename
// under a current passkey session. It requires KeyedOptions, not password
// verification, and enables no HTTP routes. Nil retains existing behavior.
SessionManagement *PasskeySessionManagementConfiguration
// SessionEnrollment independently selects additional resident-key enrollment
// under current passkey-session UV. It requires KeyedOptions and enables no
// HTTP routes. Native owners retain original intent, expiry and atomicity.
SessionEnrollment *PasskeySessionEnrollmentConfiguration
// SessionDeletion independently selects current-session UV removal while
// another resident key remains. It requires KeyedOptions and enables no HTTP.
SessionDeletion *PasskeySessionDeletionConfiguration
// Deletion independently selects signed-proof self-removal backed by this
// graph's actual configured PasswordReset owner. It requires KeyedOptions;
// enabling label management is not a prerequisite.
Deletion *PasskeyDeletionConfiguration
Protocol webauthn.Config
RPNamespace string
OptionsPrimary, RegistrationPrimary passwordpg.ActionPrimaryConfig
Protected riskpg.Config
Flow session.PreAuthIssuerConfig
Issuer session.IssuerConfig
CSRF session.CSRFKey
Risk risk.AuthenticationAdmissionCustodyConfig
IdentifierKey []byte
// SessionPredecessor pins the actual installed issuance CHECK lineage.
// Retain it for this deployment; incompatible later feature histories deny
// instead of rewriting an already installed passkey migration checksum.
SessionPredecessor string
}
PasskeyConfiguration explicitly selects existing-account resident UV enrollment and identified signin with Protocol's ES256/Ed25519 profile. Nil algorithms retain ES256; explicit selections preserve order. Identifier-free signin additionally requires the authentication risk policy's PasskeyDiscovery opt-in; no HTTP or signup capability is selected. With Standalone nil the graph supplies its actual password proof, authorization, coordinator, counted risk, session reader and cookie-CSRF logout owners. Both primary selections need distinct exact enrollment actions and signed proof targets in PasswordVerification. Flow and Issuer clocks and Risk.Evaluation must be absent for graph injection. Standalone instead selects signup/discovery with native session authority and no password proof or enrollment owner. Protected selects retained encryption/evidence keys and a native command counter policy matching the protected command's revision; it is distinct from anonymous authentication admission and accepts no caller store. Issuance keys/cookie must match Session read/logout policy. All borrowed configuration must remain immutable during construction.
func (PasskeyConfiguration) MarshalJSON ¶
func (PasskeyConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prohibits implicit export of retained startup secrets.
func (PasskeyConfiguration) MarshalText ¶
func (PasskeyConfiguration) MarshalText() ([]byte, error)
MarshalText prohibits text/map-key export of retained startup secrets.
type PasskeyDeletionConfiguration ¶
type PasskeyDeletionConfiguration struct {
Primary passwordpg.ActionPrimaryConfig
}
PasskeyDeletionConfiguration selects an exact identity.passkey.delete proof. Primary CSRF keys must be absent for graph injection. Native cookie and bearer profiles remain explicit; HTTP selection separately requires cookie transport. The graph supplies its concrete PasswordReset recovery owner, not a callback asserting recovery eligibility. No signup or browser capability is enabled.
func (PasskeyDeletionConfiguration) Format ¶
func (PasskeyDeletionConfiguration) Format(s fmt.State, _ rune)
func (PasskeyDeletionConfiguration) MarshalJSON ¶
func (PasskeyDeletionConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prohibits implicit proof/deployment configuration export.
func (PasskeyDeletionConfiguration) MarshalText ¶
func (PasskeyDeletionConfiguration) MarshalText() ([]byte, error)
MarshalText prohibits implicit proof/deployment configuration export.
type PasskeyKeyedOptionsConfiguration ¶
type PasskeyKeyedOptionsConfiguration struct {
// contains filtered or unexported fields
}
PasskeyKeyedOptionsConfiguration selects the existing kernel request-key owner once for passkey options. Its namespace and lookup key must remain stable while original mappings are retained. Token and CSRF keys are dedicated independent input-correlation keys, not live session/CSRF keys. The graph injects its current command-query authorization/clock/revision; applications supply no alternate store, journal or request-admission implementation. Zero is invalid. Copies share immutable opaque startup-key custody.
func NewPasskeyKeyedOptionsConfiguration ¶
func NewPasskeyKeyedOptionsConfiguration(namespace string, lookupKey [32]byte, tokenKey session.DigestKey, csrfKey session.CSRFKey) (PasskeyKeyedOptionsConfiguration, error)
NewPasskeyKeyedOptionsConfiguration copies original-key configuration without IO or policy callbacks. Keys must be dedicated nonzero native values. The graph subsequently validates namespace/policy through the kernel owner. A closure keeps lookup material opaque even when fmt bypasses methods through an unexported caller field; configuration never grants execution authority.
func (PasskeyKeyedOptionsConfiguration) Format ¶
func (PasskeyKeyedOptionsConfiguration) Format(s fmt.State, _ rune)
func (PasskeyKeyedOptionsConfiguration) MarshalJSON ¶
func (PasskeyKeyedOptionsConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prohibits implicit startup-key export.
func (PasskeyKeyedOptionsConfiguration) MarshalText ¶
func (PasskeyKeyedOptionsConfiguration) MarshalText() ([]byte, error)
MarshalText prohibits implicit startup-key export.
type PasskeyManagementConfiguration ¶
type PasskeyManagementConfiguration struct {
Primary passwordpg.ActionPrimaryConfig
}
PasskeyManagementConfiguration selects an exact signed update proof for password-session self management. Configure its target in PasswordVerification. Primary.Action must be identity.passkey.update; CSRF keys must be absent for graph injection. Cookie and bearer native profiles remain explicit. Selection does not enable HTTP, deletion, passkey-first signup or MFA fallback.
func (PasskeyManagementConfiguration) Format ¶
func (PasskeyManagementConfiguration) Format(s fmt.State, _ rune)
func (PasskeyManagementConfiguration) MarshalJSON ¶
func (PasskeyManagementConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prohibits implicit deployment/proof-owner export.
func (PasskeyManagementConfiguration) MarshalText ¶
func (PasskeyManagementConfiguration) MarshalText() ([]byte, error)
MarshalText prohibits implicit deployment/proof-owner export.
type PasskeyService ¶
type PasskeyService struct {
// contains filtered or unexported fields
}
PasskeyService is the guarded native existing-account reference profile. It owns no pool, transaction, protocol verifier or session store. Calls use the graph's initialized tenant and lifetime; retained handles deny after Close, including historical recovery. Browser parsing/origin/CSRF transport remains the caller's responsibility until HTTP is separately selected. Methods preserve original command custody and never remint ambiguous output.
func (*PasskeyService) AuthenticationOptions ¶
func (f *PasskeyService) AuthenticationOptions(ctx context.Context, r native.SigninRequest) (webauthn.AssertionOptions, error)
AuthenticationOptions returns account-independent real resident UV options bound to the original identified browser attempt, never an account allowlist.
func (*PasskeyService) ConditionalAuthenticationOptions ¶
func (f *PasskeyService) ConditionalAuthenticationOptions(ctx context.Context, r native.DiscoverableSigninRequest) (passkey.ConditionalAssertionOptions, error)
ConditionalAuthenticationOptions selects outer conditional presentation of genuine discoverable options. Original native discovery policy, browser flow, risk, remember choice and expiry remain authoritative. Graph startup, tenant and lifetime guards are unchanged; completion uses DiscoverableSignin. This does not enable HTTP or prove browser support or actual mediation.
func (*PasskeyService) Delete ¶
func (f *PasskeyService) Delete(ctx context.Context, r passkey.DeleteRequest) (passkey.DeleteResult, error)
Delete delegates explicitly selected self-removal to the real signed-proof, recovery and original-key owner under graph tenant/lifetime admission. The original password session is retained for metadata-only retries; no credential or replacement recovery projection is returned, including after ambiguity.
func (*PasskeyService) DiscoverableAuthenticationOptions ¶
func (f *PasskeyService) DiscoverableAuthenticationOptions(ctx context.Context, r native.DiscoverableSigninRequest) (webauthn.AssertionOptions, error)
DiscoverableAuthenticationOptions starts identifier-free resident UV signin only when the graph's trusted authentication risk policy enables discovery. Tenant, RP and browser-flow authority remain fixed by the selected owners.
func (*PasskeyService) DiscoverableSignin ¶
func (f *PasskeyService) DiscoverableSignin(ctx context.Context, r native.DiscoverableSigninCompletion) (native.SigninResult, error)
DiscoverableSignin resolves identity only through the genuine verified credential/handle pair and atomically finalizes the original browser flow and session. It never falls back to identified or another method's signin.
func (*PasskeyService) DiscoverableSigninRateSource ¶
func (f *PasskeyService) DiscoverableSigninRateSource(ctx context.Context, r passkey.DiscoverableCeremonyRateRequest) (passkey.CeremonyRateSource, error)
DiscoverableSigninRateSource returns the genuine original anonymous-flow rate dimension without turning a flow into a user or selecting an account.
func (*PasskeyService) Get ¶
func (f *PasskeyService) Get(ctx context.Context, r session.GetRequest) (session.GetResult, error)
Get reads this profile's actual issued session with current owner authority. No other reader is tried after denial and no authentication is renewed.
func (*PasskeyService) IssueFlow ¶
func (f *PasskeyService) IssueFlow(ctx context.Context, p session.PreparedPreAuthIssuance) (session.PreAuthIssueResult, error)
IssueFlow commits the original browser initiation, not authentication. Native preparation custody fixes the tenant; another preparation cannot replace it.
func (*PasskeyService) IssueSignupFlow ¶
func (f *PasskeyService) IssueSignupFlow(ctx context.Context, p session.PreparedPreAuthIssuance) (session.PreAuthIssueResult, error)
IssueSignupFlow persists only the original anonymous browser initiation. It creates no account or authenticated session; copies cannot renew custody.
func (*PasskeyService) KeyedAuthenticationOptions ¶
func (f *PasskeyService) KeyedAuthenticationOptions(ctx context.Context, r passkey.KeyedSigninOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
KeyedAuthenticationOptions retains the original identified browser command. Matching retries cannot reveal another challenge or renew original custody.
func (*PasskeyService) KeyedConditionalAuthenticationOptions ¶
func (f *PasskeyService) KeyedConditionalAuthenticationOptions(ctx context.Context, r passkey.KeyedDiscoverableOptionsRequest) (passkey.KeyedConditionalOptionsResult, error)
KeyedConditionalAuthenticationOptions preserves the same original keyed discoverable command across ordinary/conditional presentation. Only the fresh acknowledged winner can reveal options; retries/recovery return native metadata without a challenge or session. No new durable mode is introduced.
func (*PasskeyService) KeyedDiscoverableAuthenticationOptions ¶
func (f *PasskeyService) KeyedDiscoverableAuthenticationOptions(ctx context.Context, r passkey.KeyedDiscoverableOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
KeyedDiscoverableAuthenticationOptions selects identifier-free original-key custody explicitly. It never tries identified signin after a denial.
func (*PasskeyService) KeyedRegistrationOptions ¶
func (f *PasskeyService) KeyedRegistrationOptions(ctx context.Context, r passkey.KeyedRegistrationOptionsRequest) (passkey.KeyedRegistrationOptionsResult, error)
KeyedRegistrationOptions delegates original request custody to the selected native request-key owner. Only its fresh committed winner can reveal options; retained retries return metadata and never recreate a challenge or proof.
func (*PasskeyService) KeyedSignupOptions ¶
func (f *PasskeyService) KeyedSignupOptions(ctx context.Context, r passkey.KeyedSignupOptionsRequest) (passkey.KeyedRegistrationOptionsResult, error)
KeyedSignupOptions preserves the actual native request-key mapping. Only a freshly committed winner reveals options; matching retries are metadata-only.
func (*PasskeyService) List ¶
func (f *PasskeyService) List(ctx context.Context, r native.InventoryRequest) (native.InventoryPage, error)
List returns bounded safe metadata authenticated by this selected passkey reader, not a fallback across password or other authentication methods.
func (*PasskeyService) PrepareFlow ¶
func (f *PasskeyService) PrepareFlow(ctx context.Context, r session.PreAuthPrepareInput) (session.PreparedPreAuthIssuance, error)
PrepareFlow delegates entropy and remember custody to the session owner. Retain this original preparation for IssueFlow and any metadata recovery.
func (*PasskeyService) PrepareSignupFlow ¶
func (f *PasskeyService) PrepareSignupFlow(ctx context.Context, r session.PreAuthPrepareInput) (session.PreparedPreAuthIssuance, error)
PrepareSignupFlow prepares the signup session owner's original entropy and remember choice. Tenant and live graph admission precede native preparation.
func (*PasskeyService) RecoverEnrollment ¶
func (f *PasskeyService) RecoverEnrollment(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (identity.CommandResult, error)
RecoverEnrollment returns original outcome metadata, never a fresh challenge, credential, signed proof or permission to rerun an ambiguous command.
func (*PasskeyService) RecoverSignOut ¶
func (f *PasskeyService) RecoverSignOut(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (kernel.CommandRecord, error)
RecoverSignOut delegates exact historical revocation metadata and current disclosure policy to the original native coordinator, not another journal.
func (*PasskeyService) RecoverSignin ¶
func (f *PasskeyService) RecoverSignin(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (identity.CommandResult, error)
RecoverSignin returns current-authorized original metadata only. It neither repeats verification nor redelivers a challenge, session or synchronizer.
func (*PasskeyService) RecoverSignup ¶
func (f *PasskeyService) RecoverSignup(ctx context.Context, r passkey.SignupRequest, ceremony string, caller authorization.DecisionContext) (identity.CommandResult, error)
RecoverSignup reconciles the original completion without reexecuting it or disclosing credentials. Consumed/expired flow possession is historical only.
func (*PasskeyService) RecoverSignupOptions ¶
func (f *PasskeyService) RecoverSignupOptions(ctx context.Context, r passkey.SignupRequest, caller authorization.DecisionContext) (identity.CommandResult, error)
RecoverSignupOptions returns original durability metadata under original browser-cookie custody and current query policy, never another challenge.
func (*PasskeyService) Register ¶
func (f *PasskeyService) Register(ctx context.Context, r native.RegistrationCompletion) (webauthn.VerifiedRegistration, error)
Register verifies the raw authenticator response and commits all enrollment effects through the native owner's sole Work before exposing verification.
func (*PasskeyService) RegistrationOptions ¶
func (f *PasskeyService) RegistrationOptions(ctx context.Context, r native.RegistrationRequest) (webauthn.RegistrationOptions, error)
RegistrationOptions consumes an exact fresh options proof in its real native command. Retain the resulting ceremony and obtain a distinct completion proof.
func (*PasskeyService) RegistrationRateSource ¶
func (f *PasskeyService) RegistrationRateSource(ctx context.Context, r passkey.RegistrationCeremonyRateRequest) (passkey.CeremonyRateSource, error)
RegistrationRateSource authenticates original enrollment custody for rate metadata only. It grants no permission to consume a proof or ceremony.
func (*PasskeyService) SessionDeletion ¶
func (f *PasskeyService) SessionDeletion() (*PasskeySessionDeletionService, error)
SessionDeletion returns only the explicitly selected native removal profile. A pre-initialization handle cannot execute; nil/unselected/closed graphs deny without IO. Existing password-proof Deletion remains a separate selection.
func (*PasskeyService) SessionEnrollment ¶
func (f *PasskeyService) SessionEnrollment() (*PasskeySessionEnrollmentService, error)
SessionEnrollment returns the explicitly selected native enrollment profile. A handle may be obtained before initialization, but cannot execute until startup succeeds. Nil/unselected/closed graphs deny without IO; no HTTP is selected.
func (*PasskeyService) SessionManagement ¶
func (f *PasskeyService) SessionManagement() (*PasskeySessionManagementService, error)
SessionManagement returns the explicitly selected session-assertion profile. Nil selection and closed graphs deny without IO. Like Passkeys, a handle may be retained before initialization; it cannot execute until startup succeeds. The existing PasskeyService.Update remains password-proof management.
func (*PasskeyService) SignOut ¶
func (f *PasskeyService) SignOut(ctx context.Context, r session.SignOutRequest, csrf session.CSRFToken) (session.SignOutResult, error)
SignOut performs same-transaction cookie-CSRF self-revocation. Bearer input is not enabled by this profile. Transport clearing follows native outcomes.
func (*PasskeyService) Signin ¶
func (f *PasskeyService) Signin(ctx context.Context, r native.SigninCompletion) (native.SigninResult, error)
Signin returns a usable credential only after genuine protocol verification and atomic native ceremony/flow/mapping/session finalization.
func (*PasskeyService) SigninRateSource ¶
func (f *PasskeyService) SigninRateSource(ctx context.Context, r passkey.SigninCeremonyRateRequest) (passkey.CeremonyRateSource, error)
SigninRateSource returns only the authenticated original identified rate dimension, original ceremony and immutable duration; it authenticates no user.
func (*PasskeyService) Signup ¶
func (f *PasskeyService) Signup(ctx context.Context, r passkey.SignupCompletion) (passkey.SignupResult, error)
Signup verifies the actual authenticator response and atomically creates the account, credential, initial authorities, session and required lifecycle events. Only fresh acknowledged commitment permits bearer/CSRF delivery.
func (*PasskeyService) SignupOptions ¶
func (f *PasskeyService) SignupOptions(ctx context.Context, r passkey.SignupRequest) (webauthn.RegistrationOptions, error)
SignupOptions prepares genuine resident registration without creating an account. Retain the original cookie/flow and distinct completion command.
func (*PasskeyService) SignupRateSource ¶
func (f *PasskeyService) SignupRateSource(ctx context.Context, r passkey.SignupCeremonyRateRequest) (passkey.CeremonyRateSource, error)
SignupRateSource reads genuine original-flow/create-ceremony rate metadata through current graph admission. It authenticates no user and creates, consumes or renews no authority. Signup independently revalidates and commits.
func (*PasskeyService) Update ¶
func (f *PasskeyService) Update(ctx context.Context, r passkey.UpdateRequest) (passkey.UpdateResult, error)
Update delegates explicitly selected self-label management to the native signed-proof/request-key owner. Incoming command and record overrides deny; historical retries return original metadata, not a fresh credential projection. Tenant, initialization and lifetime/drain guards match other graph operations.
type PasskeySessionDeletionConfiguration ¶
type PasskeySessionDeletionConfiguration struct {
Transport session.CredentialKind
// TOTP admits only completed passkey/TOTP sessions through the selected
// native owner. False preserves the ordinary known-empty profile.
TOTP bool
}
PasskeySessionDeletionConfiguration selects genuine current-session UV removal while an independently usable resident key in the selected algorithm profile remains. Transport must be bearer or cookie; the graph injects original CSRF keys for cookies. KeyedOptions is required. Selection enables no HTTP or password/OTP recovery fallback.
func (PasskeySessionDeletionConfiguration) Format ¶
func (PasskeySessionDeletionConfiguration) Format(f fmt.State, _ rune)
Format redacts deployment selection.
func (PasskeySessionDeletionConfiguration) MarshalJSON ¶
func (PasskeySessionDeletionConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment export.
func (PasskeySessionDeletionConfiguration) MarshalText ¶
func (PasskeySessionDeletionConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment export.
type PasskeySessionDeletionService ¶
type PasskeySessionDeletionService struct {
// contains filtered or unexported fields
}
PasskeySessionDeletionService borrows the graph's selected native removal owner without exposing its stores or bypassing initialized graph lifetime. Calls preserve actual current-session/policy/CSRF, original-key/intent/expiry, genuine UV, transaction and recovery authority. Retained handles deny after Close. It owns no resource, proof, goroutine or automatic retry.
func (*PasskeySessionDeletionService) Delete ¶
func (f *PasskeySessionDeletionService) Delete(ctx context.Context, r passkey.SessionDeleteCompletion) (passkey.SessionDeleteResult, error)
Delete delegates genuine UV consumption, exact key removal and affected session invalidation to the sole native Work. Success acknowledges only the original invocation; it cannot make its deliberately invalidated session usable.
func (*PasskeySessionDeletionService) DeleteOptions ¶
func (f *PasskeySessionDeletionService) DeleteOptions(ctx context.Context, r passkey.SessionDeleteOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
DeleteOptions delegates original-key admission and genuine action-bound UV options. Retries return metadata, never another challenge or renewed lease.
func (PasskeySessionDeletionService) Format ¶
func (PasskeySessionDeletionService) Format(f fmt.State, _ rune)
Format excludes graph and native-owner custody.
func (PasskeySessionDeletionService) MarshalJSON ¶
func (PasskeySessionDeletionService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit graph export.
func (PasskeySessionDeletionService) MarshalText ¶
func (PasskeySessionDeletionService) MarshalText() ([]byte, error)
MarshalText rejects implicit graph export.
func (*PasskeySessionDeletionService) RecoverDelete ¶
func (f *PasskeySessionDeletionService) RecoverDelete(ctx context.Context, r passkey.SessionDeleteRequest, q identity.RecoveryQuery) (passkey.SessionDeleteResult, error)
RecoverDelete delegates original command/target durability lookup under a currently valid same-user passkey session and delete policy. After removal, sign in with the surviving key. Recovery repeats no mutation or assertion, returns no credential and never renews original authority or options.
type PasskeySessionEnrollmentConfiguration ¶
type PasskeySessionEnrollmentConfiguration struct {
Transport session.CredentialKind
// TOTP requires the selected native passkey/TOTP owner and admits only
// completed passkey/TOTP sessions. False preserves known-empty admission.
TOTP bool
}
PasskeySessionEnrollmentConfiguration selects genuine current-session UV for adding a resident key, without password proofs. Transport must be exactly bearer or cookie; the graph supplies original synchronizer keys for cookies. KeyedOptions is required for original A/B custody. Native selection enables no HTTP, rename, deletion or fallback. Borrowed runtime resources remain graph-owned.
func (PasskeySessionEnrollmentConfiguration) Format ¶
func (PasskeySessionEnrollmentConfiguration) Format(f fmt.State, _ rune)
Format redacts deployment selection.
func (PasskeySessionEnrollmentConfiguration) MarshalJSON ¶
func (PasskeySessionEnrollmentConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment export.
func (PasskeySessionEnrollmentConfiguration) MarshalText ¶
func (PasskeySessionEnrollmentConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment export.
type PasskeySessionEnrollmentService ¶
type PasskeySessionEnrollmentService struct {
// contains filtered or unexported fields
}
PasskeySessionEnrollmentService is a guarded view of the graph's selected native additional-enrollment owner. It owns no resources or proof. Calls retain initialized fixed-tenant graph lifetime and the earlier caller/native deadlines. Actual session, self-user intent, CSRF, genuine UV, original expiry, transaction and retry authority remain native-owned. Retained handles deny after Close.
func (*PasskeySessionEnrollmentService) EnrollmentAssertionOptions ¶
func (f *PasskeySessionEnrollmentService) EnrollmentAssertionOptions(ctx context.Context, r passkey.SessionEnrollmentOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
EnrollmentAssertionOptions delegates A's original-key options to the native owner. Only fresh committed output reveals a challenge; retries are metadata.
func (PasskeySessionEnrollmentService) Format ¶
func (PasskeySessionEnrollmentService) Format(f fmt.State, _ rune)
Format excludes graph and native-owner custody.
func (PasskeySessionEnrollmentService) MarshalJSON ¶
func (PasskeySessionEnrollmentService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit graph export.
func (PasskeySessionEnrollmentService) MarshalText ¶
func (PasskeySessionEnrollmentService) MarshalText() ([]byte, error)
MarshalText rejects implicit graph export.
func (*PasskeySessionEnrollmentService) Register ¶
func (f *PasskeySessionEnrollmentService) Register(ctx context.Context, r passkey.SessionEnrollmentCompletion) (passkey.SessionEnrollmentResult, error)
Register delegates C's genuine registration and original command ID, without an idempotency key or replacement session. The native owner atomically creates protocol/kernel/mapping/lifecycle effects and recovers only original metadata.
func (*PasskeySessionEnrollmentService) RegistrationOptions ¶
func (f *PasskeySessionEnrollmentService) RegistrationOptions(ctx context.Context, r passkey.SessionEnrollmentAuthorization) (passkey.KeyedRegistrationOptionsResult, error)
RegistrationOptions delegates B's genuine assertion and distinct original key. Native consumption and registration creation commit together, issuing no reusable proof or session. Preserve original intent and metadata-only retries.
func (*PasskeySessionEnrollmentService) RegistrationOptionsForDelivery ¶
func (f *PasskeySessionEnrollmentService) RegistrationOptionsForDelivery(ctx context.Context, r passkey.SessionEnrollmentAuthorization) (passkey.KeyedRegistrationOptionsResult, time.Time, error)
RegistrationOptionsForDelivery delegates the same B operation and returns the native owner's original A delivery ceiling alongside fresh options. Buffered transports check it after hooks with actual session/request/B validity; it is not proof or a refreshed lease. Replay/error returns zero expiry/no options.
func (*PasskeySessionEnrollmentService) SessionRegistrationRateSource ¶
func (f *PasskeySessionEnrollmentService) SessionRegistrationRateSource(ctx context.Context, r passkey.SessionEnrollmentRequest, ceremonyID string) (passkey.CeremonyRateSource, error)
SessionRegistrationRateSource authenticates original native completion custody before challenge-rate admission. It returns metadata, not a validity lease or permission to consume. It creates/renews nothing and retains graph lifetime.
type PasskeySessionManagementConfiguration ¶
type PasskeySessionManagementConfiguration struct {
Transport session.CredentialKind
TOTP bool
}
PasskeySessionManagementConfiguration selects native action-bound UV label rename under a current passkey session. Transport must be exactly bearer or cookie; the graph supplies original CSRF keys for cookies. KeyedOptions is required. This selects neither a password proof nor HTTP, deletion, recovery or enrollment. TOTP explicitly selects completed passkey/TOTP sessions and requires Passkey.TOTP; false retains the ordinary known-empty profile. The sole existing graph owns all native stores and policies.
func (PasskeySessionManagementConfiguration) Format ¶
func (PasskeySessionManagementConfiguration) Format(s fmt.State, _ rune)
Format redacts selected runtime configuration.
func (PasskeySessionManagementConfiguration) MarshalJSON ¶
func (PasskeySessionManagementConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment configuration export.
func (PasskeySessionManagementConfiguration) MarshalText ¶
func (PasskeySessionManagementConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment configuration export.
type PasskeySessionManagementService ¶
type PasskeySessionManagementService struct {
// contains filtered or unexported fields
}
PasskeySessionManagementService is a guarded view of the graph's selected native session-assertion rename owner. It owns no resources and grants no authority. Calls require graph initialization, the fixed tenant's actual current session and original intent; retained handles deny after Close. It implements the native UpdateOptions/Update contract without bypassing the graph's bounded lifetime or exposing a raw adapter handle.
func (PasskeySessionManagementService) Format ¶
func (PasskeySessionManagementService) Format(s fmt.State, _ rune)
Format redacts graph and native owner custody.
func (PasskeySessionManagementService) MarshalJSON ¶
func (PasskeySessionManagementService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit graph export.
func (PasskeySessionManagementService) MarshalText ¶
func (PasskeySessionManagementService) MarshalText() ([]byte, error)
MarshalText rejects implicit graph export.
func (*PasskeySessionManagementService) Update ¶
func (f *PasskeySessionManagementService) Update(ctx context.Context, r passkey.SessionUpdateCompletion) (passkey.UpdateResult, error)
Update delegates genuine assertion verification and atomic rename to the native owner. It issues no session or reusable proof. Retain the original body/key for metadata-only retry and uncertain-outcome reconciliation.
func (*PasskeySessionManagementService) UpdateOptions ¶
func (f *PasskeySessionManagementService) UpdateOptions(ctx context.Context, r passkey.SessionUpdateOptionsRequest) (passkey.KeyedAssertionOptionsResult, error)
UpdateOptions delegates original-key admission and fresh UV options to the native owner. Matching retries return metadata only, never another challenge. Calls are bounded by the earlier caller, graph and native operation budgets.
type PasskeySignupConfiguration ¶
type PasskeySignupConfiguration struct {
Flow session.PreAuthIssuerConfig
Risk risk.ProtectedProviderAdmissionCustodyConfig
}
PasskeySignupConfiguration selects native prospective-account signup without an email, password or caller-supplied account. Flow is a distinct original browser intent for identity.passkey.register-verify; its Clock and Risk's Evaluation must be absent for graph injection. Flow policy matches Session's execution policy. Protocol, RP, issuer, CSRF, protected counters and optional request-key custody come from the enclosing PasskeyConfiguration. Startup borrows immutable configuration; enabling signup exposes no HTTP routes.
func (PasskeySignupConfiguration) Format ¶
func (PasskeySignupConfiguration) Format(f fmt.State, _ rune)
func (PasskeySignupConfiguration) MarshalJSON ¶
func (PasskeySignupConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration and key export.
func (PasskeySignupConfiguration) MarshalText ¶
func (PasskeySignupConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration and key export.
type PasskeyStandaloneConfiguration ¶
type PasskeyStandaloneConfiguration struct {
BootstrapTenantIDs []identity.TenantID
RiskTimeout, AuditTimeout time.Duration
RiskPolicyID string
}
PasskeyStandaloneConfiguration selects the passkey-only deployment graph. The directory's bootstrap set is explicit and immutable; it is never inferred from configured rate scopes. Bounds retain the same native risk/audit owners as the existing deployment. AuditTimeout and RiskTimeout are 1ms..5s, with audit inside risk and risk inside Session.Native.MaximumDuration. The session operation retains its native 1ms..30s bounds. Password, OTP, delivery and password-proof management are not selected.
func (PasskeyStandaloneConfiguration) Format ¶
func (PasskeyStandaloneConfiguration) Format(f fmt.State, _ rune)
func (PasskeyStandaloneConfiguration) MarshalJSON ¶
func (PasskeyStandaloneConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment-scope export.
func (PasskeyStandaloneConfiguration) MarshalText ¶
func (PasskeyStandaloneConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment-scope export.
type PasskeyTOTPConfiguration ¶
type PasskeyTOTPConfiguration struct {
Challenge native.SigninMFAConfig
Completion MagicLinkTOTPConfiguration
}
PasskeyTOTPConfiguration selects native UV-passkey primary plus independent confirmed TOTP, not factor enrollment, recovery codes or HTTP. Challenge owns its original issuer/preparation keys, lifetime and attempts; its Envelope must be nil so the graph supplies its configured envelope owner. Completion retains the bounded counter/comparison/encryption semantics of native TOTP completion. Its envelope key must match Challenge.EnvelopeKeyID. Inputs remain borrowed, immutable and concurrency-safe; construction performs no IO or callbacks.
func (PasskeyTOTPConfiguration) Format ¶
func (PasskeyTOTPConfiguration) Format(s fmt.State, _ rune)
func (PasskeyTOTPConfiguration) LogValue ¶
func (PasskeyTOTPConfiguration) LogValue() slog.Value
LogValue emits only a fixed redacted configuration marker.
func (PasskeyTOTPConfiguration) MarshalJSON ¶
func (PasskeyTOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit signing, comparison and encryption-key export.
func (PasskeyTOTPConfiguration) MarshalText ¶
func (PasskeyTOTPConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit textual startup-key export.
type PasswordChangeConfiguration ¶
type PasswordChangeConfiguration struct {
Native passwordpg.PasswordChangeConfig
Keyed passwordpg.KeyedPasswordChangeConfig
Counters riskpg.Config
}
PasswordChangeConfiguration selects native keyed credential replacement, not HTTP. Verification must already be selected in this graph. Native.Counters must be absent: Counters configures the actual protected PostgreSQL owner in this graph's risk namespace. Native.Screening.Now must be absent: the source verification owner supplies its authority clock. Keyed retains the native retry/envelope/intent profile; there is no unkeyed fallback. The verification selection's CSRFKeys also selects protected cookie change. Default native session disposition revokes all sessions; preservation requires explicit native policy. Borrowed resources and bounded callbacks must outlive calls.
func (PasswordChangeConfiguration) Format ¶
func (PasswordChangeConfiguration) Format(s fmt.State, _ rune)
Format redacts native key and screening configuration.
func (PasswordChangeConfiguration) MarshalJSON ¶
func (PasswordChangeConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (PasswordChangeConfiguration) MarshalText ¶
func (PasswordChangeConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type PasswordOTPConfiguration ¶
type PasswordOTPConfiguration struct {
MaximumDuration time.Duration
ConfigurationID, CompletionConfigurationID string
PolicyID string
RequestKeys kernel.RequestKeyConfig
IntentKey [32]byte
ActiveEnvelopeKeyID string
Counters riskpg.Config
RiskKeys []risk.EvidenceKey
Policy otp.AttemptPolicy
AttemptKeyVersion uint32
TemplateID string
TemplateVersion uint32
LocaleChain []string
}
PasswordOTPConfiguration selects native password-origin secondary OTP send and completion, not HTTP or enrollment. The graph supplies the actual primary, child issuer, session, OTP codec/store and encrypted delivery owners. Policy must be a consuming MFA OTP policy. TemplateID/Version select an existing delivery template; LocaleChain is copied by the native owner.
RequestKeys, IntentKey and envelope/counter/evidence keys retain their native independence and rotation contracts. Both actions use the selected durable counter namespace/policy. Configuration IDs pin immutable send/completion semantics. The existing OTP store's cookie keys must match every retained password-flow key: shared storage cannot authenticate the same browser with a different key binding. Construction performs no IO or callbacks.
func (PasswordOTPConfiguration) Format ¶
func (PasswordOTPConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment secrets and correlated configuration.
func (PasswordOTPConfiguration) LogValue ¶
func (PasswordOTPConfiguration) LogValue() slog.Value
LogValue emits only a fixed redacted marker.
func (PasswordOTPConfiguration) MarshalJSON ¶
func (PasswordOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit secret-bearing configuration export.
func (PasswordOTPConfiguration) MarshalText ¶
func (PasswordOTPConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text or map-key export.
type PasswordOTPLoginCompletionConfig ¶
type PasswordOTPLoginCompletionConfig struct {
Sender *PasswordOTPLoginSendService
ConfigurationID string
SessionIssuer session.IssuerConfig
CSRF session.CSRFKey
AttemptKeyVersion uint32
}
PasswordOTPLoginCompletionConfig selects the actual sender's native password, original OTP, browser, risk and transaction owners plus session issuance. ConfigurationID pins immutable session/CSRF/callback semantics; change it when those semantics change. AttemptKeyVersion selects retained native OTP custody. Borrowed owners and clock remain immutable and outlive concurrent calls.
func (PasswordOTPLoginCompletionConfig) Format ¶
func (PasswordOTPLoginCompletionConfig) Format(s fmt.State, _ rune)
func (PasswordOTPLoginCompletionConfig) MarshalJSON ¶
func (PasswordOTPLoginCompletionConfig) MarshalJSON() ([]byte, error)
func (PasswordOTPLoginCompletionConfig) MarshalText ¶
func (PasswordOTPLoginCompletionConfig) MarshalText() ([]byte, error)
type PasswordOTPLoginCompletionService ¶
type PasswordOTPLoginCompletionService struct {
// contains filtered or unexported fields
}
PasswordOTPLoginCompletionService supplies complete native secondary OTP send/verification/recovery, not ordinary OTP signin or enrollment. It owns no pool, transaction, cache or goroutine. Only a fresh known commit may reveal session/CSRF credentials; retries and recovery return historical metadata.
func NewPasswordOTPLoginCompletionService ¶
func NewPasswordOTPLoginCompletionService(c PasswordOTPLoginCompletionConfig) (*PasswordOTPLoginCompletionService, error)
NewPasswordOTPLoginCompletionService freezes concrete native composition without IO, callbacks, migrations or issuance. Install selected OTP completion counter/session histories before serving. Missing owners or invalid issuance configuration deny; applications provide no missing domain orchestration.
func (PasswordOTPLoginCompletionService) Format ¶
func (PasswordOTPLoginCompletionService) Format(s fmt.State, _ rune)
func (PasswordOTPLoginCompletionService) MarshalJSON ¶
func (PasswordOTPLoginCompletionService) MarshalJSON() ([]byte, error)
func (PasswordOTPLoginCompletionService) MarshalText ¶
func (PasswordOTPLoginCompletionService) MarshalText() ([]byte, error)
func (*PasswordOTPLoginCompletionService) OtpSend ¶
func (s *PasswordOTPLoginCompletionService) OtpSend(ctx context.Context, r mfa.OtpSendRequest) (mfa.OtpSendResult, error)
OtpSend delegates only to the selected original native sender. It cannot consume the child, change a factor or issue a session.
func (*PasswordOTPLoginCompletionService) OtpSendingRateSource ¶
func (s *PasswordOTPLoginCompletionService) OtpSendingRateSource(ctx context.Context, r mfa.OtpSendRequest) (string, error)
OtpSendingRateSource borrows the same native sender without new disclosure, correlation or freshness ownership.
func (*PasswordOTPLoginCompletionService) OtpVerificationRateSource ¶
func (s *PasswordOTPLoginCompletionService) OtpVerificationRateSource(ctx context.Context, r mfa.OtpVerifyRequest) (user identity.UserID, child string, lifetime time.Duration, err error)
OtpVerificationRateSource authenticates original issuance and exact retained code/browser intent before returning the immutable subject, child and signed lifetime for HTTP quotas. Matching historical results precede mutable factor and continuation reads, including counted denial and consumed-child success. Changed historical intent fails closed. New requests require current native primary/factor/recipient/browser admission, without code comparison, attempt debit, reservation, session issuance or freshness renewal. This metadata grants no completion authority. Expired proofs use code-free RecoverOtpVerify. All errors, panics and cancellation return zero metadata; calls are bounded by the configured duration and earlier inbound deadline.
func (*PasswordOTPLoginCompletionService) OtpVerify ¶
func (s *PasswordOTPLoginCompletionService) OtpVerify(ctx context.Context, r mfa.OtpVerifyRequest) (out mfa.OtpVerifyResult, err error)
OtpVerify authenticates original code/browser intent before mutable source reads. It restores the exact committed send and one retained native attempt, admits current password/factor/recipient/policy/risk, then atomically commits OTP, child, shared budget and session effects through the sole coordinator. Failure/unknown/replay withholds credentials. Original remember and password freshness cannot be replaced. This profile rejects enrollment/trusted devices.
func (*PasswordOTPLoginCompletionService) RecoverOtpSend ¶
func (s *PasswordOTPLoginCompletionService) RecoverOtpSend(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (mfa.OtpSendResult, error)
RecoverOtpSend performs code/proof-free original send reconciliation and never queues another message or renews its provenance.
func (*PasswordOTPLoginCompletionService) RecoverOtpVerify ¶
func (s *PasswordOTPLoginCompletionService) RecoverOtpVerify(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (out mfa.OtpVerifyResult, err error)
RecoverOtpVerify reconciles only exact original command scope under current query policy, without code, proof, cookie, generation or credential delivery.
type PasswordOTPLoginSendConfig ¶
type PasswordOTPLoginSendConfig struct {
ConfigurationID, PolicyID, IssuerURL string
MaximumDuration time.Duration
Primary *passwordpg.SigninService
Issuance *otppg.MFALoginIssuer
Issuer capabilitypg.IssuerConfig
Session sessionpg.Config
Profile sessionpg.IdentifierAdmissionConfig
CookieKeys map[uint32]session.DigestKey
Coordinator kernel.CoordinatorConfig
RequestKeys kernel.RequestKeyConfig
Risk risk.ProtectedProviderAdmissionCustodyConfig
Counters riskpg.Config
AllowedOrigins []string
ActiveEnvelopeKeyID string
// contains filtered or unexported fields
}
PasswordOTPLoginSendConfig selects concrete password-primary, secondary OTP, browser, policy, risk/counter and encryption owners. It selects neither TOTP, enrollment, session issuance nor HTTP. All borrowed owners/callbacks must be immutable and outlive calls. ConfigurationID pins callback/signing semantics: change it whenever those semantics change. AllowedOrigins are exact HTTPS origins, copied at construction. Construct intent custody with NewPasswordOTPLoginSendConfig, then fill the public composition fields.
func NewPasswordOTPLoginSendConfig ¶
func NewPasswordOTPLoginSendConfig(keys kernel.RequestKeyConfig, intent [32]byte, envelopeKey string) (PasswordOTPLoginSendConfig, error)
NewPasswordOTPLoginSendConfig retains an independent nonzero request-intent key without IO. Keep it independent of cookie/envelope/fingerprint keys and stable while original requests need restoration. Zero/literal custody denies.
func (PasswordOTPLoginSendConfig) Format ¶
func (PasswordOTPLoginSendConfig) Format(s fmt.State, _ rune)
func (PasswordOTPLoginSendConfig) MarshalJSON ¶
func (PasswordOTPLoginSendConfig) MarshalJSON() ([]byte, error)
func (PasswordOTPLoginSendConfig) MarshalText ¶
func (PasswordOTPLoginSendConfig) MarshalText() ([]byte, error)
type PasswordOTPLoginSendService ¶
type PasswordOTPLoginSendService struct {
// contains filtered or unexported fields
}
PasswordOTPLoginSendService composes actual native owners through the existing request-key, preparation and transaction journals. Sending cannot consume the original primary/child, reset its budget, confirm a factor or issue a session. It owns no pool, goroutine, cache or independent transaction. Concurrent calls require immutable inputs; errors never contain submitted proof or cookie.
func NewPasswordOTPLoginSendService ¶
func NewPasswordOTPLoginSendService(pool *database.Pool, c PasswordOTPLoginSendConfig, keys *keyring.Provider) (*PasswordOTPLoginSendService, error)
NewPasswordOTPLoginSendService freezes selected native composition without IO, callbacks, generation or bootstrap. Install all selected migration/key histories before serving, including the anonymous MFA-send counter upgrade, and initialize the actual OTP issuer. No application-written domain store or TOTP/session-issuance dependency is accepted. Pool/keyring remain caller-owned.
func (PasswordOTPLoginSendService) Format ¶
func (PasswordOTPLoginSendService) Format(s fmt.State, _ rune)
func (PasswordOTPLoginSendService) MarshalJSON ¶
func (PasswordOTPLoginSendService) MarshalJSON() ([]byte, error)
func (PasswordOTPLoginSendService) MarshalText ¶
func (PasswordOTPLoginSendService) MarshalText() ([]byte, error)
func (*PasswordOTPLoginSendService) OtpSend ¶
func (s *PasswordOTPLoginSendService) OtpSend(ctx context.Context, r mfa.OtpSendRequest) (out mfa.OtpSendResult, err error)
OtpSend retains the original native input before risk or entropy, then queues one purpose-bound challenge in the sole coordinator transaction. Matching retries restore original input/output and never select another destination or code. Queue status is not provider delivery, factor proof or login completion.
func (*PasswordOTPLoginSendService) OtpSendingRateSource ¶
func (s *PasswordOTPLoginSendService) OtpSendingRateSource(ctx context.Context, r mfa.OtpSendRequest) (destination string, err error)
OtpSendingRateSource returns only the native authenticated canonical recipient for internal HTTP delivery quotas. Exact retained-key custody precedes current primary/child/factor reads so an original send remains observable after login. Only authorized absence uses current source selection. No command allocation, code generation, comparison, counter debit, queue or session effect occurs. This sensitive tuple must never enter HTTP responses, logs or diagnostics and grants no sending authority. Native OtpSend independently owns its protected checks and effects. Errors/panics/cancellation return an empty destination.
func (*PasswordOTPLoginSendService) RecoverOtpSend ¶
func (s *PasswordOTPLoginSendService) RecoverOtpSend(ctx context.Context, q identity.RecoveryQuery, caller authorization.DecisionContext) (out mfa.OtpSendResult, err error)
RecoverOtpSend returns only the exact historical code/proof-free outcome after current result-access authorization. It never generates, redelivers, authenticates a factor or renews the original primary/child/browser.
type PasswordPreAuthConfiguration ¶
type PasswordPreAuthConfiguration struct {
ActorID identity.ActorID
Origin, CallbackURL string
FlowKeyIndex uint32
AuditRetentionVersion uint64
FlowTTL time.Duration
TokenSize int
Cookie session.CookiePolicy
}
PasswordPreAuthConfiguration selects a fixed password original-flow profile. Origin and CallbackURL must be allowed by the consuming native workflow owner. FlowKeyIndex selects its retained Native.FlowKeys, including original version; action, policy and revision come from that owner. ActorID is a service identity, not the future authenticated user. Lifetime, token size and secure cookie obey session.PreAuthIssuerConfig. Construction performs no IO or entropy; borrowed configuration must not be mutated concurrently.
func (PasswordPreAuthConfiguration) Format ¶
func (PasswordPreAuthConfiguration) Format(s fmt.State, _ rune)
Format hides trusted deployment configuration.
func (PasswordPreAuthConfiguration) MarshalJSON ¶
func (PasswordPreAuthConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON prevents implicit deployment custody export.
func (PasswordPreAuthConfiguration) MarshalText ¶
func (PasswordPreAuthConfiguration) MarshalText() ([]byte, error)
MarshalText prevents implicit deployment custody export.
type PasswordRecoveryConfiguration ¶
type PasswordRecoveryConfiguration struct {
MaximumDuration time.Duration
ConfigurationID, PolicyID string
Counters riskpg.Config
RiskKeys []risk.EvidenceKey
VerificationKeys map[uint32][32]byte
ActiveEnvelopeKeyID string
}
PasswordRecoveryConfiguration selects original password-primary recovery completion, not HTTP or enrollment. VerificationKeys must retain every live recovery-set key version; missing keys fail closed. ConfigurationID pins the retained completion semantics. The graph supplies actual primary/browser, issuer and counted risk owners. Construction copies keys and performs no IO.
func (PasswordRecoveryConfiguration) Format ¶
func (PasswordRecoveryConfiguration) Format(s fmt.State, _ rune)
Format redacts all configuration and key custody.
func (PasswordRecoveryConfiguration) LogValue ¶
func (PasswordRecoveryConfiguration) LogValue() slog.Value
LogValue emits a fixed redacted marker.
func (PasswordRecoveryConfiguration) MarshalJSON ¶
func (PasswordRecoveryConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit key/configuration export.
func (PasswordRecoveryConfiguration) MarshalText ¶
func (PasswordRecoveryConfiguration) MarshalText() ([]byte, error)
MarshalText rejects text/map-key export.
type PasswordResetConfiguration ¶
type PasswordResetConfiguration struct {
Native passwordpg.ResetConfig
}
PasswordResetConfiguration selects native request/completion/recovery. Native supplies immutable keys, typed password/HIBP policy, normalization, callbacks, issuer and command profiles, not domain stores. Native.Request is mandatory. Native.Risk.Evaluation and Request.Delivery.Owner/Renderer must be zero: the graph composes counted risk and encrypted delivery from its selected owners. The current reference profile shares OTP's risk/delivery graph and an already selected session namespace; independent reset-only deployment remains pending. Query, admission and request-key policies must use this graph's exact service. EnvelopeKeys must be the local keyring required by native reset lock custody. Construction is side-effect free and preserves the native borrowed-callback and retained-key contracts; do not mutate inputs concurrently.
func (PasswordResetConfiguration) Format ¶
func (PasswordResetConfiguration) Format(s fmt.State, _ rune)
Format hides keys and provider/policy internals for every formatting verb.
func (PasswordResetConfiguration) MarshalJSON ¶
func (PasswordResetConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit export of native secret-bearing composition.
func (PasswordResetConfiguration) MarshalText ¶
func (PasswordResetConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit textual export of native composition.
type PasswordSigninConfiguration ¶
type PasswordSigninConfiguration struct {
Native passwordpg.SigninConfig
// PreAuth optionally selects the native original password-flow issuer.
// It does not enable HTTP. The selected key index comes from Native.FlowKeys,
// so initiation cannot introduce a second independently configured key set.
PreAuth *PasswordPreAuthConfiguration
// MFA opts into password-first continuations using the native issuer and
// encrypted child custody. Nil preserves the existing single-factor profile.
MFA *passwordpg.MFAChallengeConfig
// TOTP selects the graph-owned second-factor completion pipeline, not HTTP.
// MFA must be selected too; a magic-link request owner is not required.
TOTP *PasswordTOTPConfiguration
// Recovery selects password-origin recovery completion, independently of
// TOTP completion or HTTP. MFA must also be selected.
Recovery *PasswordRecoveryConfiguration
// OTP independently selects native secondary OTP send/completion, not HTTP.
// MFA must explicitly allow otp; the graph supplies all native owners.
OTP *PasswordOTPConfiguration
}
PasswordSigninConfiguration opts into the native password-login owner without enabling HTTP. Native supplies password policy, keys and exact original-flow bindings. Native.Risk.Evaluation must be zero: this graph injects its counted evaluator. Native policies must match the selected graph's authorization and revision. The current profile requires OTP's selected consuming session base; this reuses storage, not OTP authentication or its original flow action. Inputs and borrowed callbacks must remain immutable/concurrency-safe during construction. The native owner freezes retained keys and closes no borrowed IO.
func (PasswordSigninConfiguration) Format ¶
func (PasswordSigninConfiguration) Format(s fmt.State, _ rune)
Format redacts secret-bearing native configuration for all formatting verbs.
func (PasswordSigninConfiguration) MarshalJSON ¶
func (PasswordSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit export of configuration custody.
func (PasswordSigninConfiguration) MarshalText ¶
func (PasswordSigninConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export of configuration custody.
type PasswordSignupConfiguration ¶
type PasswordSignupConfiguration struct {
Native passwordpg.SignupConfig
Issuer issuerpg.IssuerConfig
Preparation issuerpg.IssuancePreparationConfig
Counters riskpg.Config
// PreAuth selects fixed signup initiation using Native's keys and policy.
// Nil disables initiation, without disabling direct signup/confirmation.
PreAuth *PasswordPreAuthConfiguration
// VerificationSignin independently selects original-browser registration
// confirmation followed by native email-possession signin. Nil preserves
// verification-only behavior. It enables no HTTP route; Session must select
// compatible primary read/logout. Enrolled MFA requires explicit TOTP
// selection; unknown factor authority always denies.
VerificationSignin *passwordpg.VerificationSigninConfig
// VerificationTOTP selects completion of the explicitly TOTP-enabled
// verification-signin primary. It enables no HTTP route or other MFA method.
VerificationTOTP *VerificationTOTPConfiguration
// VerificationSessionLineage pins the installed session-migration order,
// not an authentication policy. Pin it when enabling verification TOTP and
// retain it through later feature selection. Zero preserves legacy selection
// only; new verification-TOTP composition requires an explicit lineage.
VerificationSessionLineage VerificationSessionLineage
}
PasswordSignupConfiguration selects required-email-verification registration and confirmation without HTTP. Native supplies immutable policy and keys; its evaluator, verification issuer/codec/counters and delivery owner/renderer must be absent. This graph constructs those actual owners together, retaining the same issuer for preparation and confirmation. Counters owns protected command admission, not the external velocity projection. Borrowed callbacks must be bounded and concurrent-safe; construction performs no IO.
func (PasswordSignupConfiguration) Format ¶
func (PasswordSignupConfiguration) Format(s fmt.State, _ rune)
Format redacts native secret-bearing configuration.
func (PasswordSignupConfiguration) MarshalJSON ¶
func (PasswordSignupConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (PasswordSignupConfiguration) MarshalText ¶
func (PasswordSignupConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type PasswordTOTPConfiguration ¶
type PasswordTOTPConfiguration MagicLinkTOTPConfiguration
PasswordTOTPConfiguration selects password-first native TOTP completion. Fields retain MagicLinkTOTPConfiguration's bounded counter, encryption and comparison-key semantics, but do not select or depend on magic-link login. The graph injects the actual password primary, browser, policy and issuer. Neither construction nor selecting this configuration enables HTTP or IO.
func (PasswordTOTPConfiguration) Format ¶
func (PasswordTOTPConfiguration) Format(s fmt.State, _ rune)
func (PasswordTOTPConfiguration) LogValue ¶
func (PasswordTOTPConfiguration) LogValue() slog.Value
LogValue redacts configuration in structured logs.
func (PasswordTOTPConfiguration) MarshalJSON ¶
func (PasswordTOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit secret-bearing configuration export.
func (PasswordTOTPConfiguration) MarshalText ¶
func (PasswordTOTPConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type PasswordVerificationConfiguration ¶
type PasswordVerificationConfiguration struct {
Native passwordpg.ReauthenticationConfig
CSRFKeys []session.CSRFKey
}
PasswordVerificationConfiguration selects native password reauthentication, not HTTP or password replacement. Native supplies signing custody and exact purpose/action/audience targets. Native.Risk.Evaluation and Verifier.Now must be absent: the graph injects counted risk and its session authority clock. Session and PasswordSignin must be selected with the same primary profile, verifier primitive and current lookup key. CSRFKeys optionally selects the distinct cookie workflow; absent keys never enable cookie-to-bearer fallback. Borrowed callbacks must be bounded/concurrent-safe and outlive graph calls.
func (PasswordVerificationConfiguration) Format ¶
func (PasswordVerificationConfiguration) Format(s fmt.State, _ rune)
Format redacts native signing and key custody.
func (PasswordVerificationConfiguration) MarshalJSON ¶
func (PasswordVerificationConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (PasswordVerificationConfiguration) MarshalText ¶
func (PasswordVerificationConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type PhoneChangeConfiguration ¶
type PhoneChangeConfiguration struct {
Policy *phone.NumberPolicy
SendPrimary, UpdatePrimary passwordpg.ActionPrimaryConfig
Native passwordpg.PhoneChangeConfig
Issuance PhoneIssuanceConfiguration
}
PhoneChangeConfiguration independently selects native verified-phone replacement, not enrollment or HTTP. The graph injects its genuine password proof, email signin/reset, session, OTP, risk and delivery owners. Native.Issuer, both risk Evaluation/Keys and Notice.Delivery/Templates must be zero. Cookie primary CSRFKeys must be zero for injection from PasswordVerification. Sending and consuming primaries select distinct actions/audiences on the same owner.
func (PhoneChangeConfiguration) Format ¶
func (PhoneChangeConfiguration) Format(s fmt.State, _ rune)
Format redacts retained native configuration and key custody.
func (PhoneChangeConfiguration) MarshalJSON ¶
func (PhoneChangeConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit native configuration export.
func (PhoneChangeConfiguration) MarshalText ¶
func (PhoneChangeConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit native configuration/map-key export.
type PhoneChangeService ¶
type PhoneChangeService struct {
// contains filtered or unexported fields
}
PhoneChangeService borrows the selected native replacement owner. All calls retain graph tenant, initialization, deadline and shutdown guards. It owns no resources; zero and handles retained after graph Close deny. Concurrent calls share only the native owners' documented synchronization and custody.
func (*PhoneChangeService) Format ¶
func (*PhoneChangeService) Format(s fmt.State, _ rune)
Format redacts the complete borrowed graph and native custody.
func (*PhoneChangeService) MarshalJSON ¶
func (*PhoneChangeService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit graph export.
func (*PhoneChangeService) MarshalText ¶
func (*PhoneChangeService) MarshalText() ([]byte, error)
MarshalText rejects implicit graph and map-key export.
func (*PhoneChangeService) PhoneChangeDestination ¶
func (s *PhoneChangeService) PhoneChangeDestination(ctx context.Context, r phone.ChangeRequest) (phone.Number, error)
PhoneChangeDestination reads exact authenticated original sending rate input without mapping creation, challenge issuance or protected mutation.
func (*PhoneChangeService) PhoneChangeSession ¶
func (s *PhoneChangeService) PhoneChangeSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
PhoneChangeSession authenticates original possession for transport mapping, not current executable session authority or permission for disclosure.
func (*PhoneChangeService) PhoneUpdateLifetime ¶
func (s *PhoneChangeService) PhoneUpdateLifetime(ctx context.Context, r phone.UpdateRequest) (time.Duration, error)
PhoneUpdateLifetime reads only the authenticated immutable issued interval; it neither compares code nor grants current admission or renewed validity.
func (*PhoneChangeService) RecoverUpdate ¶
func (s *PhoneChangeService) RecoverUpdate(ctx context.Context, r phone.UpdateRecoveryRequest) (phone.UpdateResult, error)
RecoverUpdate delegates original code-free current-authorized observation.
func (*PhoneChangeService) SendChange ¶
func (s *PhoneChangeService) SendChange(ctx context.Context, r phone.ChangeRequest) (identity.CommandResult, error)
SendChange delegates original keyed new-number SMS with no identifier change.
func (*PhoneChangeService) Update ¶
func (s *PhoneChangeService) Update(ctx context.Context, r phone.UpdateRequest) (phone.UpdateResult, error)
Update delegates the distinct fresh-proof/OTP atomic native replacement.
type PhoneConfiguration ¶
type PhoneConfiguration struct {
Policy *phone.NumberPolicy
Primary passwordpg.ActionPrimaryConfig
Native passwordpg.PhoneVerificationConfig
Issuance PhoneIssuanceConfiguration
}
PhoneConfiguration selects native existing-account enrollment and consuming SMS verification, not HTTP or login. The graph supplies its actual proof, pool, counted risk, OTP codec/session, encrypted delivery and migration owners. Primary.Action must be identity.phone.send-verification. Native.Issuer and Native.Risk.Evaluation must be zero for graph injection. RequestKeys must use a distinct namespace under the graph's same authoritative policy. Every retention/key/cooldown policy stays explicit in its native configuration.
func (PhoneConfiguration) Format ¶
func (PhoneConfiguration) Format(s fmt.State, _ rune)
Format redacts retained native configuration and session key custody.
func (PhoneConfiguration) MarshalJSON ¶
func (PhoneConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit configuration export.
func (PhoneConfiguration) MarshalText ¶
func (PhoneConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key configuration export.
type PhoneIssuanceConfiguration ¶
type PhoneIssuanceConfiguration struct {
Policy otp.AttemptPolicy
SessionKeys map[uint32][]byte
FreshnessLimit time.Duration
TemplateID string
TemplateVersion uint32
ProviderVersion uint64
LocaleChain []string
}
PhoneIssuanceConfiguration selects an existing SMS template/provider and consuming phone-verification OTP policy. SessionKeys must match the graph's current password issuer and retained session readers. FreshnessLimit can only shorten native source validity. Locale/key inputs are copied by native owners.
func (PhoneIssuanceConfiguration) Format ¶
func (PhoneIssuanceConfiguration) Format(s fmt.State, _ rune)
Format redacts retained session issuance keys.
func (PhoneIssuanceConfiguration) MarshalJSON ¶
func (PhoneIssuanceConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit issuance configuration export.
func (PhoneIssuanceConfiguration) MarshalText ¶
func (PhoneIssuanceConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit issuance configuration export.
type PhoneOTPSigninConfiguration ¶
type PhoneOTPSigninConfiguration struct {
Policy *phone.NumberPolicy
CodePolicy otp.AttemptPolicy
RequestKeys kernel.RequestKeyConfig
TemplateID string
TemplateVersion uint32
ProviderVersion uint64
LocaleChain []string
}
PhoneOTPSigninConfiguration independently selects verified-phone SMS-code signin, never phone/password login or enrollment. OTP.Signin and OTP.PreAuth supply the common session, authority and original-flow policies. CodePolicy explicitly selects a consuming-only signin code profile. The selected native owner always requires known-empty current factor authority. RequestKeys needs its own namespace and the same authorization/revision as OTP; SMS template/provider/locales are explicit, not the email defaults. Construction freezes configuration without IO; dependencies remain borrowed.
func (PhoneOTPSigninConfiguration) Format ¶
func (PhoneOTPSigninConfiguration) Format(s fmt.State, _ rune)
Format redacts deployment keys and borrowed policy.
func (PhoneOTPSigninConfiguration) MarshalJSON ¶
func (PhoneOTPSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (PhoneOTPSigninConfiguration) MarshalText ¶
func (PhoneOTPSigninConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export and map-key use.
type PhoneOTPSigninService ¶
type PhoneOTPSigninService interface {
phone.SigninService
otp.SigninSourceService
}
PhoneOTPSigninService adds original code-free source resolution for trusted rate admission to the native phone workflow. Resolution grants no login authority and its sensitive projection must never be returned to a client.
type PhonePasswordResetConfiguration ¶
type PhonePasswordResetConfiguration struct {
Policy *phone.NumberPolicy
Request passwordpg.PhonePasswordResetRequestConfig
Completion passwordpg.PhonePasswordResetCompletionConfig
Issuance PhoneIssuanceConfiguration
PreAuth PasswordPreAuthConfiguration
ComparisonKey [32]byte
ComparisonKeyVersion uint32
}
PhonePasswordResetConfiguration independently selects the native SMS plus confirmed independent-TOTP recovery profile, not HTTP or phone signin. Both native carrier-risk enablement flags remain mandatory. This initial reference profile requires DurableAdmission; it reuses that exact durable counter state.
The graph supplies Request.SMS, Request.Delivery.Owner/Renderer, both risk key lists, Risk.Issuer.Evaluation/Executor, Risk.Store.UseIssuer/UseCounters and Completion.TOTP; those fields must be zero. Risk.Coordinator must retain the graph's authoritative query/admission policy. Other native configuration, canonical issuer/key custody, external carrier evaluator and bounded HIBP collector remain explicit. PreAuth uses actual retained password-flow keys, exact origin/callback and zero Remember. Issuance selects the SMS template and OTP policy; its session-key/freshness fields are unused and must be zero. If email password reset is also selected, it must use the same session schema; mixed reset stores are rejected rather than rewriting installed email history. No fake store, accepted factor or caller-selected account can be supplied.
func (PhonePasswordResetConfiguration) Format ¶
func (PhonePasswordResetConfiguration) Format(s fmt.State, _ rune)
func (PhonePasswordResetConfiguration) MarshalJSON ¶
func (PhonePasswordResetConfiguration) MarshalJSON() ([]byte, error)
func (PhonePasswordResetConfiguration) MarshalText ¶
func (PhonePasswordResetConfiguration) MarshalText() ([]byte, error)
type PhonePasswordResetService ¶
type PhonePasswordResetService struct {
// contains filtered or unexported fields
}
PhonePasswordResetService is a borrowed selected-native workflow handle. Calls retain graph initialization, tenant, deadline and shutdown admission; zero or retained-after-Close handles deny. The pool, native services and providers remain graph-owned/borrowed under their original contracts.
func (*PhonePasswordResetService) EvaluatePasswordResetCompletionRisk ¶
func (s *PhonePasswordResetService) EvaluatePasswordResetCompletionRisk(ctx context.Context, r phone.PasswordResetCompletionRiskRequest) (risk.PhoneEvidenceResult, error)
EvaluatePasswordResetCompletionRisk resolves distinct original evidence before new live admission, preserving terminal retries without provider work.
func (*PhonePasswordResetService) EvaluatePasswordResetRequestRisk ¶
func (s *PhonePasswordResetService) EvaluatePasswordResetRequestRisk(ctx context.Context, r phone.PasswordResetInitiationRiskRequest) (risk.PhoneEvidenceResult, error)
EvaluatePasswordResetRequestRisk derives current account/phone/factor scope from the actual original browser and canonical number, never body identity.
func (*PhonePasswordResetService) Format ¶
func (*PhonePasswordResetService) Format(s fmt.State, _ rune)
func (*PhonePasswordResetService) MarshalJSON ¶
func (*PhonePasswordResetService) MarshalJSON() ([]byte, error)
func (*PhonePasswordResetService) MarshalText ¶
func (*PhonePasswordResetService) MarshalText() ([]byte, error)
func (*PhonePasswordResetService) PasswordResetComplete ¶
func (s *PhonePasswordResetService) PasswordResetComplete(ctx context.Context, r phone.PasswordResetCompleteRequest) (phone.PasswordResetCompleteResult, error)
PasswordResetComplete delegates the actual joint capability/SMS/TOTP/risk transaction, required password screening and all-session invalidation.
func (*PhonePasswordResetService) PasswordResetCompletionRateSource ¶
func (s *PhonePasswordResetService) PasswordResetCompletionRateSource(ctx context.Context, p capability.Proof, f otp.SendFlow, c authorization.DecisionContext) (identity.UserID, identity.CredentialID, string, time.Duration, error)
PasswordResetCompletionRateSource returns authenticated original rate input, not executable admission. It neither renews lifetime nor spends any budget.
func (*PhonePasswordResetService) PasswordResetRequest ¶
func (s *PhonePasswordResetService) PasswordResetRequest(ctx context.Context, r phone.PasswordResetRequestRequest) (phone.PasswordResetRequestResult, error)
PasswordResetRequest queues original SMS/link intents, never a session.
func (*PhonePasswordResetService) RecoverPasswordResetComplete ¶
func (s *PhonePasswordResetService) RecoverPasswordResetComplete(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (phone.PasswordResetCompleteResult, error)
RecoverPasswordResetComplete cannot compare codes, rehash, reissue or renew validity; it delegates current-authorized original native outcome resolution.
func (*PhonePasswordResetService) RecoverPasswordResetRequest ¶
func (s *PhonePasswordResetService) RecoverPasswordResetRequest(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (phone.PasswordResetRequestResult, error)
RecoverPasswordResetRequest reads only actual scoped original history.
type PhoneRemovalConfiguration ¶
type PhoneRemovalConfiguration struct {
Policy *phone.NumberPolicy
Primary passwordpg.ActionPrimaryConfig
Native passwordpg.PhoneRemovalConfig
}
PhoneRemovalConfiguration independently selects native self-removal. The graph injects actual password verification, email/password signin/reset, risk and delivery owners. Native.Risk.Evaluation/Keys and Notice.Delivery/Templates must be zero; Primary selects the exact removal action and audience. Cookie CSRF keys must match this graph's verification owner. Enrollment is not required.
func (PhoneRemovalConfiguration) Format ¶
func (PhoneRemovalConfiguration) Format(s fmt.State, _ rune)
Format redacts native configuration and key custody.
func (PhoneRemovalConfiguration) MarshalJSON ¶
func (PhoneRemovalConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (PhoneRemovalConfiguration) MarshalText ¶
func (PhoneRemovalConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit configuration export.
type PhoneRemovalService ¶
type PhoneRemovalService struct {
// contains filtered or unexported fields
}
PhoneRemovalService borrows a selected graph's native removal owner. All calls retain tenant, startup, deadline and shutdown guards; it owns no resources. Zero denies and nested diagnostics cannot traverse retained graph secrets.
func (*PhoneRemovalService) Format ¶
func (*PhoneRemovalService) Format(s fmt.State, _ rune)
Format redacts the complete borrowed graph.
func (*PhoneRemovalService) MarshalJSON ¶
func (*PhoneRemovalService) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit graph export.
func (*PhoneRemovalService) MarshalText ¶
func (*PhoneRemovalService) MarshalText() ([]byte, error)
MarshalText denies implicit graph/map-key export.
func (*PhoneRemovalService) RecoverRemoval ¶
func (s *PhoneRemovalService) RecoverRemoval(ctx context.Context, q identity.RecoveryQuery, c authorization.DecisionContext) (identity.CommandResult, error)
RecoverRemoval observes the original code-free outcome, never new mutation.
func (*PhoneRemovalService) RemovalRateSource ¶
func (s *PhoneRemovalService) RemovalRateSource(ctx context.Context, r phone.RemoveRequest) (identity.UserID, error)
RemovalRateSource authenticates original keyed input without granting removal.
func (*PhoneRemovalService) Remove ¶
func (s *PhoneRemovalService) Remove(ctx context.Context, r phone.RemoveRequest) (identity.CommandResult, error)
Remove delegates the sole native atomic removal, proof and required effects.
type PhoneService ¶
type PhoneService struct {
// contains filtered or unexported fields
}
PhoneService borrows the selected native existing-account enrollment owner. Every invocation obeys graph startup, tenant, deadline and drain/Close bounds. It owns no pool, journal, provider, timer or goroutine. Zero always denies. Closure custody prevents nested diagnostics from traversing native secrets.
func (*PhoneService) Format ¶
func (*PhoneService) Format(s fmt.State, _ rune)
Format redacts the entire borrowed graph.
func (*PhoneService) MarshalJSON ¶
func (*PhoneService) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit graph export.
func (*PhoneService) MarshalText ¶
func (*PhoneService) MarshalText() ([]byte, error)
MarshalText rejects implicit text/map-key graph export.
func (*PhoneService) PhoneEnrollmentDestination ¶
func (s *PhoneService) PhoneEnrollmentDestination(ctx context.Context, r phone.EnrollmentRequest) (phone.Number, error)
PhoneEnrollmentDestination preserves native read-only original keyed custody before shared rate admission; it does not create delivery or mutate identity.
func (*PhoneService) PhoneVerificationLifetime ¶
func (s *PhoneService) PhoneVerificationLifetime(ctx context.Context, r phone.VerificationRequest) (time.Duration, error)
PhoneVerificationLifetime returns authenticated immutable original issuance metadata without code comparison, debit, renewal or verification authority.
func (*PhoneService) PhoneVerificationSession ¶
func (s *PhoneService) PhoneVerificationSession(ctx context.Context, tenant identity.TenantID, flow otp.SendFlow) (session.Session, error)
PhoneVerificationSession authenticates original session possession for trusted transport mapping, not current session authority or renewed freshness.
func (*PhoneService) RecoverVerification ¶
func (s *PhoneService) RecoverVerification(ctx context.Context, r phone.VerificationRecoveryRequest) (phone.VerificationResult, error)
RecoverVerification observes original code-free durability under current native historical disclosure policy. No code is compared or phone disclosed.
func (*PhoneService) SendVerification ¶
func (s *PhoneService) SendVerification(ctx context.Context, r phone.EnrollmentRequest) (phone.EnrollmentResult, error)
SendVerification delegates atomic pending enrollment and queued encrypted SMS; it never verifies a phone or signs the user in.
func (*PhoneService) Verify ¶
func (s *PhoneService) Verify(ctx context.Context, r phone.VerificationRequest) (phone.VerificationResult, error)
Verify delegates one native counted attempt and atomic pending-phone effect.
type PhoneSigninConfiguration ¶
type PhoneSigninConfiguration struct {
Policy *phone.NumberPolicy
// TOTP explicitly selects original phone comparison and confirmed TOTP
// completion. Nil retains known-empty-factor signin. This enables no
// additional HTTP route or alternative factor method.
TOTP *PhoneTOTPConfiguration
}
PhoneSigninConfiguration opts into native verified-phone/password signin, independently of phone enrollment or HTTP. The graph copies PasswordSignin's native keys/policy, substitutes this fixed NumberPolicy and owns its distinct original pre-auth issuer. Without TOTP, enrolled or unavailable factor authority denies. Explicit TOTP selection requires the independent confirmed factor before issuing a session. Policy must remain immutable during construction. Both native owners freeze their retained configuration.
func (PhoneSigninConfiguration) Format ¶
func (PhoneSigninConfiguration) Format(s fmt.State, _ rune)
Format hides retained deployment policy for all formatting verbs.
func (PhoneSigninConfiguration) MarshalJSON ¶
func (PhoneSigninConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment-policy export.
func (PhoneSigninConfiguration) MarshalText ¶
func (PhoneSigninConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment-policy export.
type PhoneTOTPConfiguration ¶
type PhoneTOTPConfiguration struct {
Challenge passwordpg.MFAChallengeConfig
Completion PasswordTOTPConfiguration
}
PhoneTOTPConfiguration selects the existing native TOTP challenge/completion owners with phone-specific primary provenance. Only TOTP is supported; no recovery-code, secondary SMS or trusted-device fallback follows selection.
func (PhoneTOTPConfiguration) MarshalJSON ¶
func (PhoneTOTPConfiguration) MarshalJSON() ([]byte, error)
func (PhoneTOTPConfiguration) MarshalText ¶
func (PhoneTOTPConfiguration) MarshalText() ([]byte, error)
type PreAuthService ¶
type PreAuthService interface {
Prepare(context.Context, session.PreAuthPrepareInput) (session.PreparedPreAuthIssuance, error)
Issue(context.Context, session.PreparedPreAuthIssuance) (session.PreAuthIssueResult, error)
Recover(context.Context, session.PreAuthIssueCommand) (session.PreAuthIssueResult, error)
}
PreAuthService is the selected original-flow preparation, issuance and outcome-only recovery API. All calls require initialized graph and explicit tenant admission and deny after shutdown. Prepare performs no durable work; retain its unchanged Command after Issue ambiguity. Issue delivers a cookie only for the original new commitment. Recovery never reveals or renews one. Calls are concurrent-safe and bounded by the graph/caller lifetime. No HTTP route, listener or automatic retry is enabled. Remember is already resolved through the shared session policy before Prepare; action/origin/callback are trusted configuration, never request choices.
type ProviderConfig ¶
ProviderConfig describes an explicitly selected provider. Names are unique 1..128 UTF-8 bytes; issuer/reference bounds are 2048/4096 bytes. Unsupported enabled providers are rejected, never silently omitted or defaulted.
type ProviderSet ¶
type ProviderSet struct {
// contains filtered or unexported fields
}
ProviderSet is the sealed selected deployment-provider owner. Copies share one graph; no sender, key service or native feature owner is exported.
func ComposeProviders ¶
func ComposeProviders(stores StoreSet) (ProviderSet, error)
ComposeProviders consumes this graph's selected providers once, without IO, callbacks, migrations or goroutines. Zero/recovery-only/closed graphs deny.
func (ProviderSet) MarshalJSON ¶
func (ProviderSet) MarshalJSON() ([]byte, error)
func (ProviderSet) MarshalText ¶
func (ProviderSet) MarshalText() ([]byte, error)
type Readiness ¶
type Readiness struct {
Ready bool
Failures []ReadinessCode
Degraded []DegradationCode
}
Readiness is a detached instantaneous observation, not admission authority.
type ReadinessCode ¶
type ReadinessCode string
ReadinessCode is a stable opaque blocking label, never an endpoint or error.
type ReferenceConfig ¶
type ReferenceConfig struct {
Profile DeploymentProfile
Policies identity.PolicySet
HTTP identityhttp.TransportPolicy
ProviderConfiguration []ProviderConfig
Migration MigrationPolicy
Workers WorkerPolicy
Bootstrap BootstrapPolicy
Tenant TenantPolicy
}
ReferenceConfig is copied during construction. Callbacks/resources remain borrowed, bounded and concurrency-safe; callers must not mutate inputs during construction. All five PolicySet members are mandatory and remain unchanged. Authorize must be the same comparable service handle already bound into the sealed graph (use a pointer for services with noncomparable value fields). Secrets and callback internals are never exported by formatting/serialization.
func (ReferenceConfig) Format ¶
func (ReferenceConfig) Format(s fmt.State, _ rune)
Format redacts deployment policies and resource/callback internals.
func (ReferenceConfig) MarshalJSON ¶
func (ReferenceConfig) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit deployment export.
func (ReferenceConfig) MarshalText ¶
func (ReferenceConfig) MarshalText() ([]byte, error)
MarshalText rejects implicit deployment export.
type ReferenceDependencies ¶
type ReferenceDependencies struct {
PostgreSQL *database.Pool
EnvelopeKeys envelope.KeyProvider
DeliverySender delivery.Sender
}
ReferenceDependencies supplies deployment resources, never domain stores or workflow callbacks. PostgreSQL remains caller-owned, including after Close. Its pool configuration and callbacks must satisfy go-postgres's contract. EnvelopeKeys and DeliverySender are required only for selected OTP/delivery. They remain caller-owned, cooperative bounded, concurrency-safe dependencies.
func (ReferenceDependencies) MarshalJSON ¶
func (ReferenceDependencies) MarshalJSON() ([]byte, error)
func (ReferenceDependencies) MarshalText ¶
func (ReferenceDependencies) MarshalText() ([]byte, error)
type ReferenceMigrationApplyRequest ¶
type ReferenceMigrationApplyRequest struct {
CommandID identity.CommandID
Plan MigrationPlan
IdempotencyKey identity.IdempotencyKey
}
ReferenceMigrationApplyRequest supplies the complete immutable original plan, a globally unique command ID and an owned retry key. This operation's command grammar is 16..128 ASCII letters, digits, underscore or hyphen (not the kernel command generator's narrower encoding). Concurrent input mutation is invalid.
type ReferenceMigrationApplyResult ¶
type ReferenceMigrationApplyResult struct{ Result MigrationApplyResult }
ReferenceMigrationApplyResult contains one immutable bounded projection.
type ReferenceMigrationCheckRequest ¶
type ReferenceMigrationCheckRequest struct{ Modules []ModuleID }
ReferenceMigrationCheckRequest selects 1..128 unique canonical module IDs, each at most 128 bytes. Current versions are never supplied by the caller.
type ReferenceMigrationCheckResult ¶
type ReferenceMigrationCheckResult struct{ Statuses []ModuleMigrationStatus }
ReferenceMigrationCheckResult returns independently owned statuses sorted by canonical module ID. Different ledgers are separately discovered snapshots.
type ReferenceMigrationPlanRequest ¶
type ReferenceMigrationPlanRequest struct{ Modules []ModuleID }
ReferenceMigrationPlanRequest selects 1..128 unique selected canonical IDs. Pending prerequisites must be explicitly selected; completed prerequisites are discovered, never supplied or silently reapplied by the caller.
type ReferenceMigrationPlanResult ¶
type ReferenceMigrationPlanResult struct{ Plan MigrationPlan }
ReferenceMigrationPlanResult contains one detached complete canonical plan.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server owns one immutable router/document over the selected sealed graph. It acquires no listener, pool, worker, migration or native startup ownership. Initialize/recovery, migration deployment and StoreSet.Close remain explicit. The current profile supports probes and selected original-flow initiation; remaining OTP/browser routes and full lifecycle readiness remain in progress.
func NewServer ¶
func NewServer(c ReferenceConfig, d ReferenceDependencies, f FeatureSet) (*Server, error)
NewServer validates the selected graph, callbacks, deployment profile and transport before exposing a handler. It performs no IO, callbacks, entropy, startup, migrations or goroutine creation; failure returns no partial server. Router failure preserves InvalidInputError's reference_server_router field through errors.As. errors.Is additionally distinguishes canceled, deadline and identityhttp.ErrInvalidInput failures; other causes are redacted to identity.UnavailableError. The original error/configuration is not retained.
func (Server) MarshalJSON ¶
MarshalJSON rejects implicit export of the owned server graph.
func (Server) MarshalText ¶
MarshalText rejects implicit export of the owned server graph.
func (*Server) OpenAPI ¶
func (s *Server) OpenAPI() identityhttp.OpenAPIDocument
OpenAPI returns the native document's detached public snapshots; zero is empty.
func (*Server) Readiness ¶
Readiness never substitutes a listener or initialized flag for native health. Before startup it performs no IO. Initialized selected graphs require fresh complete migration compatibility and every selected tenant's original native custody. One server budget bounds the observation; closure joins/cancels it. Success is momentary, not cached admission or permission to skip workflow checks. No counter, marker, TTL, evidence or health authority is renewed.
type SessionConfiguration ¶
type SessionConfiguration struct {
Native sessionpg.SignOutServiceConfig
CSRFKeys []session.CSRFKey
// Passkey admits the explicitly configured native passkey issuer into common
// reads and signout. False retains the separate Passkeys handle only.
Passkey bool
}
SessionConfiguration selects native primary reads and self signout, without HTTP. Native freezes the authority profile, lookup keys, clock, policy and transaction bounds. Validation.Clock must be absent so the graph supplies Execution.Clock to both reading and mutation. CSRFKeys selects cookie signout; an empty slice disables it, never enables legacy cookie mutation. Bearer signout has no cookie fallback. Resources/callbacks remain borrowed, bounded and concurrent-safe. Construction performs no IO. The retained deployment selects its verified profile; configured OTP and magic-link consuming issuers add their own native read and revoke profiles. Explicit passkey-only composition admits only its native passkey provenance. Selected MagicLink.TOTP additionally composes current confirmed factor authority into both paths; MFA never falls back to a single-factor profile. Every selected issuer shares the store, deployment, policy namespace, audience and readable lookup custody. Cookie-producing issuers also share the cookie policy and their optional signout CSRF keys. Explicit native password bearer issuance instead requires zero cookie and CSRF configuration.
func (SessionConfiguration) Format ¶
func (SessionConfiguration) Format(s fmt.State, _ rune)
Format redacts native key and authority configuration.
func (SessionConfiguration) MarshalJSON ¶
func (SessionConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON denies implicit configuration export.
func (SessionConfiguration) MarshalText ¶
func (SessionConfiguration) MarshalText() ([]byte, error)
MarshalText denies implicit text/map-key export.
type SessionService ¶
type SessionService interface {
Get(context.Context, session.GetRequest) (session.GetResult, error)
SignOut(context.Context, session.SignOutRequest, session.CSRFToken) (session.SignOutResult, error)
RecoverSignOut(context.Context, identity.RecoveryQuery, authorization.DecisionContext) (kernel.CommandRecord, error)
}
SessionService is this graph's narrow read/self-signout/recovery port. Calls require initialized graph custody and an allowed tenant. Cookie signout requires the selected native CSRF profile; bearer signout rejects CSRF and never falls back to cookie authority. Recovery returns historical metadata, not a session, credential, renewed validity or permission to retry execution. Implementations honor earlier deadlines and are concurrent-safe.
type StoreConfiguration ¶
type StoreConfiguration struct {
// OAuthWorkload selects the configured machine-only native OAuth graph.
// Nil preserves existing profiles; HTTP selection remains independent.
OAuthWorkload *OAuthWorkloadConfiguration
// HTTPOAuthWorkload opts into only the selected workload protocol routes.
HTTPOAuthWorkload *HTTPOAuthWorkloadConfiguration
// APIKey selects native modern issuance and optional legacy human-owned keys.
APIKey *APIKeyConfiguration
// HTTPAPIKey independently selects strict-bearer management routes.
HTTPAPIKey *HTTPAPIKeyConfiguration
// Organization selects explicit verified-password bearer organization owners.
Organization *OrganizationConfiguration
// HTTPOrganization independently selects organization routes and metadata.
HTTPOrganization *HTTPOrganizationConfiguration
// Passkey explicitly selects native existing-account passkey workflows.
// Nil exposes no passkey handle, route or method; HTTP stays independent.
Passkey *PasskeyConfiguration
// HTTPPasskey opts into selected existing-account passkey HTTP operations.
HTTPPasskey *HTTPPasskeyConfiguration
Velocity VelocityStoreConfiguration
// DurableAdmission selects durable PostgreSQL-only risk admission. It is
// mutually exclusive with Velocity and enables no HTTP feature by itself.
DurableAdmission *DurableAdmissionConfiguration
// OTP selects public Send and its mandatory delivery owner. Nil preserves
// the recovery-only profile. No caller evaluator or domain store is accepted.
OTP *OTPSendConfiguration
Delivery *DeliveryConfiguration
// Migrations enables explicit operator Apply; nil keeps Check/Plan only.
Migrations *MigrationApplyPolicy
// HTTPRate selects the owned strong HTTP admission backend and its native
// migration history. Nil leaves both disabled without changing legacy history.
HTTPRate *HTTPRateConfiguration
// HTTPPreAuth explicitly selects the original-flow route for NewServer.
HTTPPreAuth *HTTPPreAuthConfiguration
// HTTPEmailSignin explicitly selects email OTP Send/signin/recovery routes.
HTTPEmailSignin *HTTPEmailSigninConfiguration
// HTTPEmailOTPVerification independently selects authenticated email OTP.
HTTPEmailOTPVerification *HTTPEmailOTPVerificationConfiguration
// HTTPPhoneVerification selects only cookie enrollment/confirmation/recovery.
HTTPPhoneVerification *HTTPPhoneVerificationConfiguration
// HTTPEmailOTPChange independently selects genuine-primary email OTP routes.
HTTPEmailOTPChange *HTTPEmailOTPChangeConfiguration
// PasswordReset selects native request/completion/recovery over this graph's
// existing primary risk, delivery and session owners. Nil selects none.
PasswordReset *PasswordResetConfiguration
// PhonePasswordReset independently selects the explicitly carrier-risk-
// accepted SMS plus independent-TOTP recovery profile, not HTTP or signin.
PhonePasswordReset *PhonePasswordResetConfiguration
// HTTPPhonePasswordReset opts into its two routes and named recovery flow.
HTTPPhonePasswordReset *HTTPPhonePasswordResetConfiguration
// MagicLink selects native request and optional consumption/original flow,
// not HTTP. It shares this graph's risk, delivery and primary authority.
MagicLink *MagicLinkConfiguration
// PasswordSignin selects native login/recovery using graph-owned counted
// risk and the selected session base, without enabling any HTTP route.
PasswordSignin *PasswordSigninConfiguration
// PasswordSignup selects native registration and confirmation, not HTTP.
PasswordSignup *PasswordSignupConfiguration
// Username independently selects native username owners; nil leaves all
// username handles and migrations disabled without changing email profiles.
Username *UsernameConfiguration
// Phone selects native existing-account phone enrollment, not HTTP or login.
Phone *PhoneConfiguration
// PhoneRemoval independently selects authenticated self-removal and its
// required old-number notice, not enrollment, login or HTTP.
PhoneRemoval *PhoneRemovalConfiguration
// PhoneChange independently selects verified-phone replacement and original
// recovery. Enrollment, removal and HTTP are not silently enabled.
PhoneChange *PhoneChangeConfiguration
// HTTPPhoneChange selects replacement only, independently of enrollment.
HTTPPhoneChange *HTTPPhoneChangeConfiguration
// HTTPPhoneRemoval opts into cookie self-removal only, independently of
// enrollment and the HTTP signin/password-verification selections.
HTTPPhoneRemoval *HTTPPhoneRemovalConfiguration
// PhoneSignin independently selects existing verified-phone/password login.
// Enrollment and its HTTP routes are not dependencies of this selection.
PhoneSignin *PhoneSigninConfiguration
// HTTPPhoneSignin enables only phone/password signin and its bound original
// pre-auth method; the native owner and shared browser admission are required.
HTTPPhoneSignin *HTTPPasswordSigninConfiguration
// PhoneOTPSignin independently selects verified-phone SMS-code login.
PhoneOTPSignin *PhoneOTPSigninConfiguration
// HTTPPhoneOTPSignin opts into SMS request/signin/recovery and its bound
// original-flow method. Nil exposes no phone OTP route or metadata.
HTTPPhoneOTPSignin *HTTPPhoneOTPSigninConfiguration
// Session selects native primary reads and self-signout, not HTTP.
Session *SessionConfiguration
// PasswordVerification selects native reauthentication/proof recovery, not HTTP.
PasswordVerification *PasswordVerificationConfiguration
// Email selects native management and/or address queries without HTTP.
Email *EmailConfiguration
// HTTPEmailAddresses independently selects safe address reads, not mutations.
HTTPEmailAddresses *HTTPEmailAddressesConfiguration
// HTTPEmailRequests independently selects keyed request/confirmation routes.
HTTPEmailRequests *HTTPEmailRequestsConfiguration
// MFAEnrollment selects native first-factor enrollment management, not HTTP.
MFAEnrollment *MFAEnrollmentConfiguration
// MFAOTPEnrollment independently selects native OTP enrollment, not HTTP or login.
MFAOTPEnrollment *MFAOTPEnrollmentConfiguration
// HTTPMFAEnrollment independently selects native cookie enrollment HTTP.
HTTPMFAEnrollment *HTTPMFAEnrollmentConfiguration
// HTTPMFAActiveStepUp independently selects authenticated TOTP proof HTTP.
HTTPMFAActiveStepUp *HTTPMFAActiveStepUpConfiguration
// HTTPMFARecoveryRegeneration independently selects whole-set replacement HTTP.
HTTPMFARecoveryRegeneration *HTTPMFARecoveryRegenerationConfiguration
// HTTPMFAFactorUpdate independently selects native TOTP rename HTTP.
HTTPMFAFactorUpdate *HTTPMFAFactorUpdateConfiguration
// HTTPMFADisable independently selects native disable HTTP, never implicitly.
HTTPMFADisable *HTTPMFADisableConfiguration
// HTTPMFAList independently selects cookie-only safe factor metadata.
HTTPMFAList *HTTPMFAListConfiguration
// PasswordChange selects native keyed replacement over selected verification.
PasswordChange *PasswordChangeConfiguration
// HTTPPasswordVerification explicitly selects native reauthentication HTTP.
HTTPPasswordVerification *HTTPPasswordProtectionConfiguration
// HTTPPasswordChange independently selects native keyed replacement HTTP.
HTTPPasswordChange *HTTPPasswordProtectionConfiguration
// HTTPSession explicitly selects native session read/self-signout routes.
HTTPSession *HTTPSessionConfiguration
// HTTPPasswordReset independently selects request/completion routes. Native
// reset, strict HTTP rate and the original browser-device issuer are required.
HTTPPasswordReset *HTTPPasswordResetConfiguration
// HTTPPasswordSignin explicitly selects browser login and its named original
// flow method. Native signin/PreAuth, rate and device owners are required.
HTTPPasswordSignin *HTTPPasswordSigninConfiguration
// HTTPPasswordSignup explicitly selects browser signup, not confirmation.
HTTPPasswordSignup *HTTPPasswordSignupConfiguration
// HTTPUsername independently selects native username routes and flow methods.
HTTPUsername *HTTPUsernameConfiguration
// HTTPRegistrationVerification explicitly selects confirmation, not signup.
HTTPRegistrationVerification *HTTPRegistrationVerificationConfiguration
// HTTPMagicLink independently selects native magic-link routes and the named
// original-flow method, requiring real strict rate and signed device custody.
HTTPMagicLink *HTTPMagicLinkConfiguration
// HTTPMFA explicitly selects native TOTP completion transport, not other MFA
// routes. Original pre-auth/device, TOTP and strict rate owners are required.
HTTPMFA *HTTPMFAConfiguration
// Anonymous selects native unprivileged guest owners, not HTTP.
Anonymous *AnonymousConfiguration
// HTTPAnonymous independently opts into selected guest routes and read.
HTTPAnonymous *HTTPAnonymousConfiguration
}
StoreConfiguration contains selected adapter configuration exactly once. Select exactly one of Velocity and DurableAdmission. OTP and Delivery must be selected together. Zero is invalid. Construction copies configuration. Concurrent input mutation during construction is forbidden. No optional feature is silently enabled.
func (StoreConfiguration) MarshalJSON ¶
func (StoreConfiguration) MarshalJSON() ([]byte, error)
func (StoreConfiguration) MarshalText ¶
func (StoreConfiguration) MarshalText() ([]byte, error)
type StoreSet ¶
type StoreSet struct {
// contains filtered or unexported fields
}
StoreSet is sealed deployment composition. Copies share one lifetime and immutable configuration. RecoverVelocity is concurrent-safe across tenants; concurrent same-tenant attempts fail rather than queue unbounded work. The caller owns Close. Zero grants no authority and can be safely closed.
func ComposeStores ¶
func ComposeStores(c StoreConfiguration, d ReferenceDependencies) (StoreSet, error)
ComposeStores validates/copies deployment configuration without network IO, migrations or goroutines. It creates exactly one native custody graph and configures the concrete primary adapter with that graph's paired authorities. It does not enable traffic: RecoverVelocity must establish real covered journal history and native-confirmed activation. Invalid input is redacted.
Example ¶
package main
import (
"fmt"
"github.com/faustbrian/go-identity/reference"
)
func main() {
// Incomplete deployment resources never silently construct healthy stores.
_, err := reference.ComposeStores(reference.StoreConfiguration{}, reference.ReferenceDependencies{})
fmt.Println(err)
}
Output: risk: invalid policy
func (StoreSet) BootstrapOAuthWorkloads ¶
BootstrapOAuthWorkloads explicitly initializes only the configured machine authority scopes at epoch one in one transaction, before Initialize. It is a trusted offline operator operation, never an HTTP handler or startup repair. Migrations and the public composition stages must already be complete. Existing epochs return Conflict and are never reset, even when greater than one. Missing/unavailable directory authority denies without initialization.
A commit error returns Unavailable, not success. The operator can reconcile by calling Initialize, which reads every actual scope without creating one. Requests are bounded by native MaximumDuration and StoreSet's lifetime; concurrent bootstrap/Initialize and calls after Close are denied.
func (StoreSet) Close ¶
Close permanently denies new recovery, cancels active primary/native work, closes owned native connections and joins recovery within ctx. It never closes the caller's pool. A timeout leaves closure permanent; repeat Close may finish waiting. No lock spans IO or waiting. Nil ctx is invalid.
func (StoreSet) MarshalJSON ¶
func (StoreSet) MarshalText ¶
func (StoreSet) MigrationSource ¶
func (s StoreSet) MigrationSource() migrations.Source
MigrationSource returns this selected store graph's immutable upstream-owned histories for the existing go-migrations runner. It performs no IO or apply. Kernel versions remain 1..9; reference reserves 1000..1011 permanently for the velocity authority chain. Existing adapter deployments using other allocations are not silently adopted. This partial development profile does not implement the complete reference Check/Plan/Apply migration coordinator. Selected OTP/delivery appends permanent allocations after that existing prefix: kernel 1012..1018 (1019 additionally for selected native TOTP), OTP 1100..1103, pre-auth sessions 1200..1201, distinct authenticated sessions 1210, delivery 1250..1260 and authorization authority 1300. All SQL is supplied by its owner. Shared session schemas reuse the same base; unselected profiles contribute no schema. Optional consuming Signin appends OTP 1400 and session 1411..1416, plus 1410 only when its session schema is distinct from the selected session bases. Selected original-flow initiation contributes its independent identity_preauth history through reference Check/Plan/Apply, not this shared source. Selected HTTP rate admission likewise contributes the native rate-limit identity_http_rate history through Check/Plan/Apply, not this shared source. Audit and outbox independent histories are not part of this shared source; their installation remains required before enabling the selected workflow.
func (StoreSet) RecoverVelocity ¶
func (s StoreSet) RecoverVelocity(ctx context.Context, tenant string) (store risk.CounterStore, err error)
RecoverVelocity performs one explicit bounded recovery, never background retry or an implicit debit. It starts a fresh primary-owned generation and restores original authenticated terminal history from zero. Unknown/pending history, lost acknowledgements, incomplete coverage, concurrent ownership or exhausted budgets return no store. Empty fresh storage is unavailable for a genuine full hour of journal coverage; no timestamp is backdated here. Success returns the exact activated pair's CounterStore, whose later calls recheck primary/native eligibility without resetting original expiry. There is no healthy-lease renewal. After expiry another explicit recovery is needed. A newly composed owner cannot adopt a predecessor's opaque native marker; cross-process reconciliation remains unimplemented and fails closed.
func (StoreSet) ReferenceMigrationApply ¶
func (s StoreSet) ReferenceMigrationApply(ctx context.Context, input ReferenceMigrationApplyRequest) (out ReferenceMigrationApplyResult, failure error)
ReferenceMigrationApply executes only an exact independently rebuilt plan. It holds one native global lock/connection from discovery through every namespace and checkpoint. Before any write it validates all current histories, selected guards, original sources and the full plan, not merely its digest. Only native transactional receipts explain a same-command prefix; externally matching schema/history is never adopted. Each batch commits native SQL, ledger and attribution together. Audit fresh preflight/history is one batch.
Apply is disabled without an explicit operator policy. It never starts during construction/Check/Plan. Calls join Close's cancellation/drain lifetime and share no in-memory execution authority. Retry the exact original request to reconcile unknown outcomes; no new command/key/plan can claim that progress. The borrowed pool remains open. Cleanup uses its finite independent budget.
func (StoreSet) ReferenceMigrationCheck ¶
func (s StoreSet) ReferenceMigrationCheck(ctx context.Context, req ReferenceMigrationCheckRequest) (ReferenceMigrationCheckResult, error)
ReferenceMigrationCheck discovers selected native histories without preparing ledgers, acquiring apply locks, migrating, baselining or initializing features. Each requested owner's complete physical history participates in validation, including shared-ledger prerequisites; only requested statuses are returned. Missing history with owned objects is incompatible, never permission for silent adoption.
One PrimaryTimeout bounds the whole check. Calls are concurrent-safe and join the store lifetime: Close cancels/drains them. The borrowed PostgreSQL pool remains open. Invalid inputs, cancellation and dependency failures return no partial statuses; errors redact database diagnostics. A discovered dirty or incompatible history returns explicit status, not healthy readiness. This store operation supports the future ReferenceService/server facade; it does not implement the complete service, Apply or command recovery.
func (StoreSet) ReferenceMigrationPlan ¶
func (s StoreSet) ReferenceMigrationPlan(ctx context.Context, req ReferenceMigrationPlanRequest) (ReferenceMigrationPlanResult, error)
ReferenceMigrationPlan plans native migration work without preparing ledgers, acquiring apply ownership or changing schema. It is bounded by PrimaryTimeout and the store lifetime. This operation does not implement Apply or recovery.
type TenantPolicy ¶
type TenantPolicy struct{ Resolver TenantResolver }
TenantPolicy requires one trusted tenant resolver; nil and typed nil deny.
type TenantResolver ¶
TenantResolver resolves only trusted context/deployment custody, honors the bounded caller context, and supports concurrent calls. Server checks its result against actual configured network facts before any workflow dispatch.
type UsernameConfiguration ¶
type UsernameConfiguration struct {
Policy *username.Policy
Signup, Signin bool
Availability *passwordpg.UsernameAvailabilityConfig
Rename *UsernameRenameConfiguration
// TOTP selects the complete username-origin challenge/completion profile.
// Signin must be selected; no recovery, OTP or trusted-device fallback follows.
TOTP *UsernameTOTPConfiguration
}
UsernameConfiguration independently selects native username operations, not HTTP. Signup and Signin reuse the configured password owners' immutable keys/policies with distinct username actions; the email owners stay selected unchanged. Policy is frozen by each native owner. Without TOTP, username signin requires authoritative known-empty MFA; it never bypasses enrolled factors. Availability and Rename supply native configuration, not consumer stores. The graph supplies its pool, counted evaluator and original proof source. Borrowed callbacks must be bounded/concurrent-safe and outlive graph calls.
func (UsernameConfiguration) Format ¶
func (UsernameConfiguration) Format(s fmt.State, _ rune)
Format redacts policy and native key custody.
func (UsernameConfiguration) LogValue ¶
func (UsernameConfiguration) LogValue() slog.Value
LogValue redacts policy and native key custody.
func (UsernameConfiguration) MarshalJSON ¶
func (UsernameConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON refuses implicit configuration export.
func (UsernameConfiguration) MarshalText ¶
func (UsernameConfiguration) MarshalText() ([]byte, error)
MarshalText refuses implicit configuration export.
type UsernameRenameConfiguration ¶
type UsernameRenameConfiguration struct {
Primary passwordpg.ActionPrimaryConfig
Native passwordpg.UsernameRenameConfig
}
UsernameRenameConfiguration selects the existing action-specific password proof owner and atomic native rename. Primary.Action must be exactly identity.username.update; Native.Risk.Evaluation must be zero for injection from this graph. Counters.CommandCounters must retain the exact policy value selected by Velocity.Native.Policy or DurableAdmission.Policy, not a newly constructed equivalent. Transport and retained CSRF keys remain explicit.
func (UsernameRenameConfiguration) Format ¶
func (UsernameRenameConfiguration) Format(s fmt.State, _ rune)
Format redacts action proof and native key custody.
func (UsernameRenameConfiguration) LogValue ¶
func (UsernameRenameConfiguration) LogValue() slog.Value
LogValue redacts action proof and native key custody.
func (UsernameRenameConfiguration) MarshalJSON ¶
func (UsernameRenameConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON refuses implicit configuration export.
func (UsernameRenameConfiguration) MarshalText ¶
func (UsernameRenameConfiguration) MarshalText() ([]byte, error)
MarshalText refuses implicit configuration export.
type UsernameRenameService ¶
type UsernameRenameService interface {
username.RenameService
username.RenameRateSource
}
UsernameRenameService retains original native mutation/recovery and custody authentication for callers composing shared transport rate admission.
type UsernameTOTPConfiguration ¶
type UsernameTOTPConfiguration struct {
Challenge passwordpg.MFAChallengeConfig
Completion PasswordTOTPConfiguration
}
UsernameTOTPConfiguration explicitly composes genuine username/password comparison with confirmed TOTP through the existing native owners. Challenge only allows totp and Completion retains PasswordTOTPConfiguration's bounded counter, envelope and key custody. Neither selection enables HTTP by itself.
func (UsernameTOTPConfiguration) Format ¶
func (UsernameTOTPConfiguration) Format(s fmt.State, _ rune)
Format redacts challenge and completion keys for every formatting verb.
func (UsernameTOTPConfiguration) LogValue ¶
func (UsernameTOTPConfiguration) LogValue() slog.Value
LogValue redacts challenge and completion configuration.
func (UsernameTOTPConfiguration) MarshalJSON ¶
func (UsernameTOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON refuses implicit secret-bearing configuration export.
func (UsernameTOTPConfiguration) MarshalText ¶
func (UsernameTOTPConfiguration) MarshalText() ([]byte, error)
MarshalText refuses implicit textual configuration export.
type VelocityStoreConfiguration ¶
type VelocityStoreConfiguration struct {
Native riskvalkey.VelocityRecoveryConfig
Schema string
Tenants []string
PrimaryTimeout time.Duration
LeaseDuration time.Duration
RecoveryTimeout time.Duration
Batch int
MaxRecords int
}
VelocityStoreConfiguration selects one primary/native recovery pair. Native owns namespace, replay secret, policy, key history and transport configuration; the primary uses those exact values rather than separately selected custody. Tenants is a unique allowlist of 1..128 deployment scopes. Schema must satisfy the PostgreSQL adapter. PrimaryTimeout is positive and at most one minute. LeaseDuration is positive, microsecond-representable and at most one minute. RecoveryTimeout is positive and less than LeaseDuration. Batch is 1..1000 (reference default 100); MaxRecords is 1..100000. Bounds are explicit: zero never silently enables defaults, retries or a healthy initial state.
func (VelocityStoreConfiguration) Format ¶
func (VelocityStoreConfiguration) Format(s fmt.State, _ rune)
func (VelocityStoreConfiguration) MarshalJSON ¶
func (VelocityStoreConfiguration) MarshalJSON() ([]byte, error)
func (VelocityStoreConfiguration) MarshalText ¶
func (VelocityStoreConfiguration) MarshalText() ([]byte, error)
type VerificationSessionLineage ¶
type VerificationSessionLineage uint8
VerificationSessionLineage identifies immutable shipped session history. Choosing the wrong lineage fails migration compatibility; it never rewrites an applied checksum or infers history from current authentication toggles.
const ( // VerificationBeforeMFA retains the verification-only v7 issuance prefix, // then adds a new forward MFA session suffix. Use for verification-first DBs. VerificationBeforeMFA VerificationSessionLineage = iota + 1 // MFABeforeVerification retains the shipped MFA v6 then verification v7 // sequence. Use only for databases originally installed in that order. MFABeforeVerification )
type VerificationTOTPConfiguration ¶
type VerificationTOTPConfiguration MagicLinkTOTPConfiguration
VerificationTOTPConfiguration selects original-browser TOTP completion after separately committed registration verification and challenge issuance. Fields retain the bounded counters, envelope and comparison-key contracts of native TOTP completion. The graph supplies the actual verification primary, risk, original signup cookie keys and session authority. No HTTP route, password/ magic-link primary, recovery method or trusted-device policy is selected.
func (VerificationTOTPConfiguration) Format ¶
func (VerificationTOTPConfiguration) Format(s fmt.State, _ rune)
Format redacts secret-bearing startup configuration.
func (VerificationTOTPConfiguration) LogValue ¶
func (VerificationTOTPConfiguration) LogValue() slog.Value
LogValue redacts structured diagnostics.
func (VerificationTOTPConfiguration) MarshalJSON ¶
func (VerificationTOTPConfiguration) MarshalJSON() ([]byte, error)
MarshalJSON rejects implicit startup custody export.
func (VerificationTOTPConfiguration) MarshalText ¶
func (VerificationTOTPConfiguration) MarshalText() ([]byte, error)
MarshalText rejects implicit textual custody export.
type WorkerPolicy ¶
WorkerPolicy bounds cross-worker capacity, lease and shutdown drain. Workers remain explicitly scheduled through the graph; construction starts none.
type WorkerSet ¶
type WorkerSet struct {
// contains filtered or unexported fields
}
WorkerSet retains actual delivery workers and their concurrency ceilings. ProcessDeliveryOne is explicitly scheduled: construction starts no worker. Copies share the exact owners; indexes are fixed by ComposeWorkers input.
func ComposeWorkers ¶
func ComposeWorkers(stores StoreSet, providers ProviderSet, configs ...deliverypg.WorkerConfig) (WorkerSet, error)
ComposeWorkers requires zero configs when delivery is unselected; otherwise it composes 1..128 real bounded native delivery workers from the selected provider and store graph. Each selected tenant must have a worker for the OTP provider and any independently selected phone provider. Duplicate tenant/provider pairs deny. Native scope and current authorization policy requirements are validated by the owning adapter. All construction is pure; unsuccessful validation leaves the stage retryable.
func (WorkerSet) MarshalJSON ¶
func (WorkerSet) MarshalText ¶
func (WorkerSet) ProcessDeliveryOne ¶
func (w WorkerSet) ProcessDeliveryOne(ctx context.Context, index int) (delivery.ProcessResult, error)
ProcessDeliveryOne performs one selected native worker step. No polling loop or automatic retry is created. Startup and shutdown apply to retained handles; the original native result preserves unknown sends and committed checkpoints.
Source Files
¶
- anonymous.go
- anonymous_configuration.go
- anonymous_migrations.go
- apikey.go
- apikey_configuration.go
- apikey_migrations.go
- counter_router.go
- durable_admission.go
- email.go
- email_configuration.go
- email_migrations.go
- email_otp.go
- email_otp_change.go
- email_otp_change_configuration.go
- email_otp_configuration.go
- email_otp_migrations.go
- email_removal.go
- email_requests.go
- features.go
- http_rate.go
- magiclink.go
- magiclink_configuration.go
- magiclink_migrations.go
- magiclink_preauth.go
- magiclink_signup_migrations.go
- mfa_active_step_up.go
- mfa_active_step_up_migrations.go
- mfa_disable.go
- mfa_enrollment_configuration.go
- mfa_enrollment_feature.go
- mfa_enrollment_migrations.go
- mfa_factor_management.go
- mfa_list.go
- mfa_otp_active.go
- mfa_otp_active_configuration.go
- mfa_otp_active_migrations.go
- mfa_otp_disable.go
- mfa_otp_enrollment_configuration.go
- mfa_otp_enrollment_feature.go
- mfa_recovery_execute.go
- mfa_recovery_feature.go
- mfa_recovery_input.go
- mfa_recovery_migrations.go
- mfa_recovery_phase.go
- mfa_totp.go
- mfa_totp_configuration.go
- mfa_totp_execute.go
- mfa_totp_feature.go
- mfa_totp_migrations.go
- mfa_totp_phase.go
- mfa_totp_preparation.go
- mfa_totp_rate.go
- migration_catalog.go
- migration_guards.go
- migrations.go
- migrations_apply.go
- migrations_check.go
- migrations_plan.go
- oauth_workload.go
- oauth_workload_migrations.go
- oauth_workload_service.go
- organization.go
- organization_configuration.go
- organization_lifecycle_migrations.go
- organization_migrations.go
- organization_role_bindings.go
- organization_role_migrations.go
- organization_roles.go
- organization_team_role_bindings.go
- organization_teams.go
- otp_signin.go
- passkey.go
- passkey_conditional.go
- passkey_configuration.go
- passkey_migrations.go
- passkey_session_deletion.go
- passkey_session_enrollment.go
- passkey_session_management.go
- passkey_signup.go
- passkey_signup_migrations.go
- passkey_standalone.go
- passkey_totp_configuration.go
- passkey_totp_migrations.go
- passkey_totp_primary.go
- password_change.go
- password_change_configuration.go
- password_change_migrations.go
- password_otp_completion.go
- password_otp_completion_phase.go
- password_otp_completion_preparation.go
- password_otp_completion_source.go
- password_otp_configuration.go
- password_otp_feature.go
- password_otp_migrations.go
- password_otp_rate.go
- password_otp_send.go
- password_otp_send_input.go
- password_otp_send_phase.go
- password_otp_send_rate.go
- password_preauth.go
- password_recovery_configuration.go
- password_reset.go
- password_reset_configuration.go
- password_reset_migrations.go
- password_signin.go
- password_signin_configuration.go
- password_signup.go
- password_signup_configuration.go
- password_signup_migrations.go
- password_signup_preauth.go
- password_totp_configuration.go
- password_totp_migrations.go
- password_verification.go
- password_verification_configuration.go
- phone.go
- phone_change.go
- phone_change_configuration.go
- phone_change_migrations.go
- phone_configuration.go
- phone_migrations.go
- phone_otp_configuration.go
- phone_otp_migrations.go
- phone_password_reset.go
- phone_password_reset_configuration.go
- phone_password_reset_migrations.go
- phone_removal.go
- phone_removal_migrations.go
- phone_signin_configuration.go
- phone_signin_migrations.go
- preauth.go
- server.go
- server_anonymous.go
- server_apikey.go
- server_email_addresses.go
- server_email_otp.go
- server_email_otp_change.go
- server_email_requests.go
- server_magiclink.go
- server_mfa.go
- server_mfa_disable.go
- server_mfa_enrollment.go
- server_mfa_factor_update.go
- server_mfa_list.go
- server_mfa_regeneration.go
- server_mfa_step_up.go
- server_oauth_workload.go
- server_organization.go
- server_otp.go
- server_passkey.go
- server_passkey_configuration.go
- server_password_protection.go
- server_password_reset.go
- server_password_signin.go
- server_password_signup.go
- server_phone.go
- server_phone_change.go
- server_phone_otp.go
- server_phone_password_reset.go
- server_phone_removal.go
- server_phone_signin.go
- server_preauth.go
- server_readiness.go
- server_registration_verification.go
- server_session.go
- server_username.go
- session.go
- session_configuration.go
- stores.go
- username.go
- username_configuration.go
- username_migrations.go
- verification_signin_migrations.go
- verification_totp_configuration.go