GaitAuth

  • A GaitAuth module session.

    Each instance must be created from a UnifyID instance and should not be initialized directly. GaitAuth may be used to create and manage GaitModel instances as well as collect GaitFeature objects for use with the model scoring and training capabilities. See GaitModel for additional usage details.

    See more

    Declaration

    Swift

    public class GaitAuth : NSObject, UnifyIDModule
  • A GaitModel can be be trained and subsequently used to score gait features.

    Warning: GaitModel posesses an unowned reference to GaitAuth. Invoking any methods on a GaitModel belonging to a released session may cause a crash.

    The model lifecycle looks like the following:

    1. Create a model using the GaitAuth.createModel(completion:) function.
    2. Persist the created model’s id so that you may load it by reference in future invocations.
    3. Continue to collect features using the GaitAuth.startFeatureUpdates(to:with:) function. Data should periodically be added to the model with the GaitModel.add(features:completion:) function.
    4. After enough training data has been added, call the GaitModel.train(completion:) function to initiate the training process.
    5. Training happens in the background and may take several hours to complete. You may periodically call GaitModel.refresh(completion:) to update the model status.
    6. After the model training process has completed, the model status should be in the GaitModel.Status.ready state indicating that it is ready to score with.
    7. You may now use GaitAuth.startFeatureUpdates(to:with:) to generate GaitFeature objects to pass to the GaitModel.score(_:completion:) function.
    See more

    Declaration

    Swift

    public class GaitModel
  • Error returned by GaitAuth module.

    See more

    Declaration

    Swift

    public enum GaitAuthError : LocalizedError
  • Represents an object that is capable both of being used as training data and for scoring.

    See more

    Declaration

    Swift

    public protocol GaitFeature
  • Represents a score generated by a GaitModel.

    • A value above 0.0 means that it is more likely the user than an attacker.
    • A value below 0.0 means that it is more likely an attacker than the user.

    The threshold that you choose to base authentication decisions on depends on your use case. Each business may have different considerations as it relates to false positives and negatives, but as a general principle:

    • Scores between 0.8 and 1.0 reflect a very high level of confidence that this is the user.
    • Scores between 0.6 and 0.8 continue to show high confidence that this is the user, but have a slightly increased likelihood that a potential attacker could have produced this score.

    Scores below 0.6 (and above 0.0) are still more likely to be the user than an attacker, but continue to increase the possibility of letting an attacker through.

    See more

    Declaration

    Swift

    public struct GaitScore : Hashable
  • Represents an object that is able to asynchronously provide authentication status.

    See more

    Declaration

    Swift

    public protocol Authenticator
  • Configuration for a gait-based authenticator.

    See more

    Declaration

    Swift

    public struct GaitQuantileConfig : Equatable
  • Configuration for an authenticator based on device unlock state.

    See more

    Declaration

    Swift

    public struct DeviceAuthenticationConfig
  • Structure representing the result of an authentication attempt, including the overall authentication status and context about how that status was determined.

    See more

    Declaration

    Swift

    @frozen
    public struct AuthenticationResult : Equatable
  • Analytics for internal UnifyID usage; not intended for public use.

    See more

    Declaration

    Swift

    public class Analytics