# セキュリティとアプリロック

## アプリロック

**設定 → セキュリティ** の **ロック解除にデバイス所有者の認証を要求** は、アプリ
全体を Face ID（だめならデバイスのパスコード）の背後に置きます。作動する
タイミングは選べます:

- 有効にしている限り、起動時、
- **バックグラウンドに移ったらロック** — これをオンにすると所有者認証の要求も
  同時に有効になるため、設定が中途半端な状態になることはありません、
- **一定時間操作がないと自動でロック** — しない、1 分、5 分、15 分、または
  1 時間。

ロック中は、Tessera は [Handoff](https://bambouville.com/docs/ja/continuity/) セッションのブロードキャストも
停止し、受信した継続は Face ID を待ちます。

ロック画面には「— ロック中 —」と表示されます。タップすると Face ID または
デバイスのパスコードでロックを解除できます。

ロックは見た目だけのものではありません。キャッシュされたキー利用の認可を
すべて取り消し、進行中の SSH ハンドシェイクを中止します。アプリロックがオフ
でも、アプリをバックグラウンドに移すと 30 秒の
[キーの連続認可](https://bambouville.com/docs/ja/keys/#連続接続の認可)は必ず無効になります。

## キー

秘密鍵は iOS のキーチェーンに保存されます。P-256 Secure Enclave キーが Secure
Enclave の外に出ることはなく、使用のたびに生体認証を要求できます。
[キー](https://bambouville.com/docs/ja/keys/)を参照してください。さらに詳しい内容は、公開されている
[秘密鍵のセキュリティ監査](https://github.com/bambouville/tessera/blob/main/docs/private-key-security-audit.md)にあります。

## ホストキー

サーバーはすべて初回接触時にピン留めされ、接続のたびに再検証されます。キーが
変わった場合は目立つ警告が出ます。[ホストキーの検証](https://bambouville.com/docs/ja/host-keys/)を参照して
ください。

## プライバシー

Tessera にはバックエンドも、アカウントも、分析もありません。接続はあなたの
デバイスからあなたのマシンへ直接行われます。デバイスをまたぐ機能も同じく
直接的で、[近くのデバイスからのセットアップ](https://bambouville.com/docs/ja/nearby-setup/)は LAN 上での
デバイス間のやりとりであり、[連係](https://bambouville.com/docs/ja/continuity/)が資格情報を移すことは
ありません。詳細は[プライバシーポリシー](https://bambouville.com/docs/ja/privacy/)にあります。

## 診断

**設定 → 診断** では、トラブルシューティングに役立つローカルのログ
（`tessera-diagnostics.log`、上限 20 MB、秘匿処理済み）を書き出せます。より
深く記録するための **詳細な診断** と **スクロールの診断** のトグルもあります。

- **開発者に送る** — 宛先が設定済みのメール（dev@bambouville.com）を、ログを
  添付した状態で開きます。メッセージを確認して送信をタップするまで、何も
  どこにも送られません。デバイスにメールアカウントがない場合、Tessera は
  代わりに書き出しを案内します。
- **ログを書き出す** — iOS の共有シートを通じて、選んだ宛先に送ります。
- **ログをアップロード** — 「ホストにアップロード」のシートを通じて、自分の
  サーバーのいずれかに送ります。
- **更新** / **消去**。

ログが自動的にデバイスの外に出ることはありません。上のどの経路も、あなたが
明示的に送信を選ぶものです。バグ報告は
[GitHub Issues](https://github.com/bambouville/tessera/issues)へお願いします。
