This document explains the security profile of the package, including how your data and API keys are handled.
TL;DR: The package follows the same security practices as trusted packages like esbuild, @swc/core, prisma, and puppeteer. Your API keys and data are handled securely with no telemetry or data collection.
Your API keys are:
- Read only from environment variables (e.g.,
DIRE_CLAUDE_API_KEY,DIRE_OPENAI_API_KEY) - Never logged to disk or console
- Kept in memory only during translation operations
- Not transmitted anywhere except directly to your configured AI provider (Claude, OpenAI, Gemini, or Mistral)
- Only translation strings and context are sent to AI providers
- No file paths, system information, or metadata are transmitted
- All connections use HTTPS directly to official AI provider APIs
- No third-party analytics or telemetry - the application never "phones home"
The application's file system access is limited and transparent:
- Only reads/writes locale JSON files in directories specified in your
.dire.tomlconfiguration - Never accesses files outside your project directory
- Does not read sensitive files (SSH keys, credentials, browser data, etc.)
- No persistent logging of translations or API interactions
- No local caching of API responses beyond the current session
- All sensitive configuration (API keys) must be stored in environment variables
- The
.dire.tomlconfiguration file contains only non-sensitive project settings (locale paths, provider selection, etc.) - You should add
.envfiles to your.gitignoreif storing environment variables in files
All Windows executables are digitally signed using a trusted certificate authority.
Code signing provides additional security guarantees:
- Authenticity - Verifies the binary was published by the author
- Integrity - Ensures the binary hasn't been tampered with or modified after signing
- Trust - Windows Defender and SmartScreen recognize the signature and don't flag the executable as potentially unwanted software
- Transparency - You can verify the signature by right-clicking the executable and viewing its "Digital Signatures" tab
On Windows:
- After installation, navigate to
node_modules/dire/bin/ - Right-click on
dire-cli.exe - Select "Properties" → "Digital Signatures" tab
- You should see a valid signature from the author
Why This Matters:
- Unsigned executables often trigger Windows Defender warnings
- Code signing demonstrates we take distribution security seriously
- It provides an additional layer of verification beyond just trusting the npm package
Like esbuild, @swc/core, prisma, and puppeteer, this package downloads platform-specific binaries during installation. Security scanners may flag this process with warnings about install scripts, network access, file system access, shell access, and external URLs.
These warnings are expected and standard for packages that download native binaries.
The installation process:
- Detects your platform (OS and architecture)
- Downloads only the matching binary from our GitHub releases
- Extracts it to the package's
bin/directory - Sets executable permissions (Unix/Mac)
- Cleans up temporary files
The install script is fully transparent and auditable in our repository. It only writes to the package directory and downloads from pinned release URLs.