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