Security
Safe enough for AI agents. Cryptographically un-phishable.
GitSafe enforces restrictions at the Solana program level, not at the trust level. Even a fully compromised agent cannot move a single token from the vault.
01
No approve, no drain surface
safeTokens have no transfer or approve instruction. A compromised key has nothing to call.
02
Permanent identity anchoring
Vault bound to GitHub Permanent User ID — immutable, unspoofable, unaffected by username changes.
03
On-chain permission enforcement
The Solana program verifies manager roles before any operation executes. Not application-level.
Identity anchoring
GitHub Permanent User ID
Every GitHub user has a numeric ID assigned at account creation that never changes. This ID is the key used to derive your vault PDA on Solana.
// Vault PDA derived from GitHub User ID
const [vaultPDA] = PublicKey.findProgramAddressSync(
[Buffer.from("vault"), Buffer.from(githubUserId.toString())],
GITSAFE_PROGRAM_ID
);
Webhook security
HMAC-SHA256 verification
Every webhook event from GitHub is verified with HMAC-SHA256 before any action is taken. The sender's GitHub User ID is extracted from the verified payload — not from the comment text — making identity spoofing impossible.
Recovery address
Set a Solana wallet as your recovery address. Recover vault control even if you lose GitHub access.
Key rotation
Rotate your vault signing key anytime through a GitHub comment. Old key invalidated immediately on-chain.
Encrypted execution keypair
Your keypair is encrypted at rest (AES-256) and decrypted only in memory for the duration of a transaction.
Two-step transfers
Vault-to-vault transfers require recipient confirmation. No one can send tokens to your vault without your awareness.
© 2026 GitSafe · All rights reserved.
← Home