diff --git a/.gitignore b/.gitignore index 286ab99..cb20776 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ dist/notarization/ *.local *.log dist/ + +# Quarkdown build output +quarkdown-output/ diff --git a/README.md b/README.md index de6c3ce..817b6c8 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ C Platform: iOS Simulator and macOS Latest release + Documentation

# SimEnclave @@ -19,6 +20,10 @@ SimEnclave gives the iOS Simulator a real Secure Enclave. It injects a small int It exists because the iOS Simulator has no Secure Enclave. That means the one thing hardware-backed signing depends on, a key that never leaves the chip, can't run where you develop all day. So every change to a signing path forces you onto a physical device. SimEnclave fixes that without weakening the security property and without ever becoming something that could ship. +

+ +

+ ## How it works Your Mac has a real Secure Enclave. A menubar helper owns a P-256 key inside it. When a simulated app calls `SecKeyCreateSignature`, an injected interposer, loaded only through a debug scheme environment variable, sends the digest to the helper over an authenticated loopback socket. The helper signs in the Mac's SEP and the signature comes back. The private key never leaves the chip. The only things that cross the wire are a handle, a public key, a digest, and a signature, which is exactly what an app on a real device already handles. diff --git a/assets/github/showcase.mp4 b/assets/github/showcase.mp4 new file mode 100644 index 0000000..e1ed973 Binary files /dev/null and b/assets/github/showcase.mp4 differ