a simple rust terminal ui (tui) for setting up alternative plc rotation keys driven by: secure enclave hardware (not synced) or software-based keys (synced to icloud)
plc
secure-enclave
touchid
icloud
atproto
1[package]
2name = "plc-touch"
3version = "0.1.0"
4edition = "2021"
5description = "AT Protocol PLC identity manager with macOS Secure Enclave"
6
7[dependencies]
8# TUI
9ratatui = "0.29"
10tui-textarea = "0.7"
11
12# Apple Security framework
13security-framework = "3.7"
14security-framework-sys = "2.17"
15core-foundation = "0.10"
16core-foundation-sys = "0.8"
17
18# Cryptography
19sha2 = "0.10"
20p256 = { version = "0.13", features = ["ecdsa"] }
21ecdsa = "0.16"
22
23# Encoding
24serde = { version = "1", features = ["derive"] }
25serde_json = "1"
26serde_ipld_dagcbor = "0.6"
27base64 = "0.22"
28bs58 = "0.5"
29unsigned-varint = "0.8"
30
31# Async / HTTP
32tokio = { version = "1", features = ["full"] }
33reqwest = { version = "0.12", features = ["json"] }
34
35# Clipboard
36arboard = "3"
37
38# Misc
39chrono = { version = "0.4", features = ["serde"] }
40dirs = "6"
41anyhow = "1"
42block = "0.1"
43thiserror = "2"