@scrt-link/client
v0.0.11
Published
Client module for scrt.link
Maintainers
Readme
@scrt-link/client
Client module for scrt.link. This package allows you to create end-to-end encrypted secrets directly from your JavaScript/TypeScript applications.
Features
- Client-Side Encryption: Secrets are encrypted in the browser/client before being sent to the server.
- Easy Integration: Simple API for creating secrets.
- TypeScript Support: Full type definitions included.
Installation
npm install @scrt-link/clientor
pnpm add @scrt-link/clientQuick Start
import { scrtLink, SecretType } from '@scrt-link/client';
// Initialize the client with your API key (Get an API key on https://scrt.link)
const client = scrtLink('your-api-key-here');
// Create a secret
const result = await client.createSecret('This is a secret message!', {
secretType: SecretType.TEXT,
publicNote: 'Optional public note',
expiresIn: 3600000 // 1 hour in ms
});
console.log('Secret Link:', result.secretLink);API Reference
scrtLink(apiKey: string)
Initializes the scrt.link client.
apiKey: Your API key from scrt.link.
Returns an object with:
createSecret(content: string, options?: Options): A function to create a new secret.
createSecret(content: string, options?: Options)
Creates a new secret.
content: The string content to encrypt and share.options(optional):secretType:SecretType.TEXTorSecretType.REDIRECTorSecretType.NEOGRAM.password: Optional password to further protect the secret.publicNote: Optional note visible to anyone with the link.expiresIn: Expiration time in ms (default: 7 days).viewLimit: Number of times the secret can be viewed before it self-destructs (default:1). Requires a paid plan for values greater than1.host: Custom host (needs to be configured on scrt.link).
Security
This client uses the Web Crypto API to perform AES-GCM encryption on the client side. A master password is generated locally and used to encrypt the content. Only the encrypted content and a hash of a portion of the master password are sent to the server. The full master password is included in the URL fragment (#), which is never sent to the server by the browser.
License
MIT
