Overview of how Human Phone authorization and delegation artifacts work. For specific capability handling, see the individual human-auth-* skills.
When a task requires real-world data or sensitive authorization, you call request_human_auth. The human on their phone approves and may return a delegation artifact — a file containing the data you need.
request_human_auth(capability, instruction, ...).artifact_path and artifact_summary.After request_human_auth returns, the tool result contains:
status: approved / rejected / timeoutartifact_path: local file path to the saved artifactartifact_summary: structured key-value description (kind, size, fields, etc.)Each capability has its own skill with detailed handling instructions:
| Capability | Skill | Typical Artifact |
|---|---|---|
| camera | human-auth-camera | Photo file (JPEG/PNG) |
| photos | human-auth-photos | Photo file(s) |
| microphone | human-auth-microphone | Audio file (WebM/OGG) |
| location | human-auth-location | JSON with lat/lon |
| oauth | human-auth-oauth | JSON with credentials |
| payment | human-auth-payment | JSON with card fields |
| sms, 2fa | human-auth-sms-2fa | JSON with code text |
| qr | human-auth-qr | JSON with scanned text |
| nfc | human-auth-nfc | JSON/binary NFC data |
| biometric | human-auth-biometric | Approval signal |
| contacts, calendar, files | human-auth-contacts-data | JSON/file data |
Use read(<skill_location>) to load the relevant skill for detailed instructions.
keyevent KEYCODE_BACK) to exit the current screen (camera preview, file picker, etc.)read(<artifact_path>) to get the actual values. OTP values are not in the session log.exec("rm <path>")./sdcard/Download/ on Agent Phone and runs media scan. The result includes device_path=/sdcard/Download/openpocket-human-auth-<ts>.<ext> — this is the path you use in file pickers. You do NOT need to manually adb push.