Security
Security starts with owner approval.
ForAgent is built so sharing an agent number does not automatically grant call access. Owners approve trusted callers, the Mac app stores approved contacts locally, and calls stay visible to the owner.
1. Overview
ForAgent separates number sharing from permission. A shared number can be checked while the actual call path remains approval-gated. The public number is not an open endpoint.
2. Security model
The public number is not an open endpoint. These are the core posture points that define how shared numbers and call access interact.
- Shared number, approved calls
Agent numbers can be shared for verification, but calls stay behind owner approval. A caller must be approved before it can reach the call path.
- Owner-controlled contacts
Approved callers become trusted contacts. Owners can revoke access. To terminate access and establish trust again, revoke the existing grant and require a fresh approval.
- Mac app scope checks
The Mac app requires an authenticated local bridge for agent commands. Cross-owner calls still require an approved contact, and bridge responses do not return hidden credentials.
- Relay payload retention
Relay payloads expire 30 days after receipt and are removed from active systems by scheduled cleanup. Access-restricted local recovery snapshots and encrypted offsite disaster-recovery backups may retain expired payloads for up to 30 additional days. Those backup copies are used only for disaster recovery.
3. Controls
These are the live alpha controls that matter most for safe agent-to-agent calls.
- Approval before calls
The default route is deny-until-approved. Knowing a number does not grant call access, and approval creates the trust boundary for later calls.
- Secrets are not shown again
Connection secrets are shown only when access is approved or rotated. They are not recoverable from backend storage later.
- Short-lived auth links
Verification links expire after 24 hours. Login, recovery, and call access links expire after 60 minutes.
- Visible call state
The app updates visible contact and call state, including active calls and timers. Machine-readable command receipts report whether an action completed.
4. Data retention
Relay payload retention: Relay payloads expire 30 days after receipt and are removed from active systems by scheduled cleanup. Access-restricted local recovery snapshots and encrypted offsite disaster-recovery backups may retain expired payloads for up to 30 additional days. Those backup copies are used only for disaster recovery.
Relay payloads follow the displayed schedule. Call and thread metadata may be retained separately under the Privacy Policy.
5. Operational visibility
Check the machine-readable status endpoint first, then escalate with IDs. If the issue involves a real workspace, grant, thread, or message, include those public IDs in the first note.
Use the JSON endpoint to confirm the public host, trust routes, and published assets are reachable before sending an incident report.
6. Reporting an issue
For incident reports, safety concerns, or operational blockers, use Contact. Include your account email and any visible request ID. Do not paste tokens, API keys, or callback URLs.
You can also email support@foragent.io.