TrustFlow SDK is financial transaction software. Security is critical. Please report security vulnerabilities responsibly.
Do not open public GitHub issues for security vulnerabilities. Instead:
-
Email security@trustflow.xyz with:
- Vulnerability description
- Affected SDK version(s)
- Steps to reproduce (if possible)
- Proof of concept or exploit code
- Potential impact (severity)
- Your contact information and preferred communication method
-
Allow the maintainers at least 90 days to investigate, patch, and prepare a release before public disclosure.
-
Once a patch is released, coordinate your public disclosure with the maintainers.
If you prefer, you can also report via GitHub's private vulnerability reporting feature:
- Navigate to the Security tab
- Click "Report a vulnerability"
- Fill in the vulnerability details
Both channels are monitored and we aim to respond within 7 days.
This security policy applies to:
-
In scope:
- Signing and key handling code (
src/wallet/, signature validation insrc/auth/) - Cryptographic operations and their use of
@stellar/stellar-sdk - XDR encoding/decoding in
src/contract/build.tsand contract interaction - Session token storage and retrieval (
src/auth/session.ts) - Validation logic for user inputs (
src/utils/validation.ts) - Dependencies: any vulnerability in direct or transitive dependencies
- Signing and key handling code (
-
Out of scope:
- Vulnerabilities in the Stellar network, Soroban runtime, or Horizon/RPC servers
- Social engineering or phishing
- Physical security
- Vulnerabilities in your own application's integration of the SDK
- DoS attacks not specific to this SDK
Current release: 0.2.1
| Version | Supported |
|---|---|
| 0.2.x | ✅ Yes |
| 0.1.x | ✅ Yes |
| < 0.1.x | ❌ No |
Security patches are applied to supported versions only. Users are encouraged to upgrade regularly.
- Validate all external input — Use the exported Zod schemas (
StellarAddressSchema,ContractIdSchema, etc.) before passing to SDK functions - Protect private keys — Never embed secret keys in source code; use environment variables or secure key management
- Verify contract IDs — Always use a contractId from a trusted source (e.g., official docs or a trusted registry)
- Session token protection — Treat session tokens like passwords; use HTTPS, secure cookies (
HttpOnly,Secureflags), and clear on logout - Update regularly — Keep the SDK and its dependencies up to date
- Review dependencies — Use
npm auditand considernpm ciwith apackage-lock.jsonto prevent accidental dependency updates - Test error handling — Ensure your application handles all three error patterns (thrown, SDKResult, PipelineResult) correctly
- Critical (e.g. signing bypass, key leak): Response within 24 hours; patch release within 3 days
- High (e.g. unauthorized transaction): Response within 3 days; patch release within 7 days
- Medium (e.g. validation bypass): Response within 7 days; patch release within 14 days
- Low (e.g. denial of service): Response within 14 days; patch release at next regular release
The SDK uses npm ci for deterministic builds. Dependencies are pinned to exact versions in package-lock.json.
The main direct dependencies are:
@stellar/stellar-sdk— Stellar JavaScript SDK (cryptography, XDR, Soroban RPC)axios+axios-retry— HTTP client for backend APIzod— Runtime schema validationreact(peer dependency, optional) — React integration
If a vulnerability is disclosed in any transitive dependency, we will:
- Assess the impact on this SDK
- Prepare a patch (bump the dependency or patch the SDK if needed)
- Release a new version with notes in the CHANGELOG
- Notify users via a GitHub Security Advisory
- Security issues: security@trustflow.xyz
- Maintainers: See CONTRIBUTORS.md
- GitHub Issues: For non-security bugs and feature requests only: https://github.com/trustflow-protocol/trustflow-sdk/issues
Thank you for helping keep TrustFlow Protocol secure.