// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/// Defines the protocols used to enroll and interact with user
/// authentication mechanisms.
///
/// New authentication mechanisms may be added to the system by implementing the
/// server side of one or more of these protocols, the core identity system will
/// act as the client.
library fuchsia.identity.authentication;
