> For the complete documentation index, see [llms.txt](https://docs.cotter.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cotter.app/features/passwordless-login.md).

# Sign In with Device

## What is a Trusted Device?

![Cotter's Trusted Device SDK](/files/-M14Xwy2Vq-ECRII3PXW)

A Trusted Device is a mobile device that you trust, where you can access your account without needing a password. When you try to access your account from a Non-Trusted Device, it will require an approval from the app installed in the Trusted Device.

Usually, your first Trusted Device will be the mobile phone you used to register to an app. You can then add other devices to be a Trusted Device for your account.

## How it's Secure

![How It Works](/files/-M85aPVXclped6ySpTsB)

Cotter's SDK follows the [FIDO Protocol](https://fidoalliance.org/how-fido-works/) to implement Trusted Devices. The way it works is that Cotter's SDK will generate cryptographic key pair that replaces your password. This key will be stored securely in your device. Because of this, your device is called a Trusted Device, because your device is the only one who knows this keys.

Because of the way asymmetric cryptography works, your secret key is never sent over the internet to any server, not even Cotter's server. We only need to verify that requests are actually made with the key using cryptographic functions, to ensure that it is actually coming from your Trusted Device.&#x20;

## Quickstarts

{% content-ref url="/pages/-M6Eb1vLZRs1\_0ZAMKrR" %}
[React Native – Sign in with Device](/quickstart-guides/react-native-quickstart.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M6EaO2M9ot00du8W\_bR" %}
[iOS – Sign in with Device](/quickstart-guides/ios-quickstart.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M9aaGUmTZYju\_sjd17x" %}
[Flutter – Sign in with Device](/quickstart-guides/flutter-sign-in-with-device.md)
{% endcontent-ref %}

## Guides

#### React Native

{% content-ref url="/pages/-M2kTuM6W90CT9IpIxHq" %}
[Sign In with Device](/sdk-reference/react-native/react-native-sdk-passwordless-login.md)
{% endcontent-ref %}

#### Flutter

{% content-ref url="/pages/-M9angupK73fWUZjM7fe" %}
[Sign In with Device](/sdk-reference/flutter/sign-in-with-device.md)
{% endcontent-ref %}

#### iOS

{% content-ref url="/pages/-M4q-LjGBIcIq3PgnYt6" %}
[Sign In with Device](/sdk-reference/ios/ios-sdk-passwordless-login.md)
{% endcontent-ref %}

#### Android

{% content-ref url="/pages/-M14g3WtD4o3ZG9N2j9G" %}
[Sign In with Device](/sdk-reference/android/older-sdk-version/android-sdk.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cotter.app/features/passwordless-login.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
