Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
safe-encrypted-storage
Advanced tools
An easy-to-use, encrypted web storage utility for securely storing and managing sensitive data in localStorage and sessionStorage.
safe-encrypted-storage
is an easy-to-use, encrypted web storage utility for JavaScript. It supports both localStorage
and sessionStorage
, ensuring your data is securely stored by encrypting keys and values. The package utilizes AES-GCM encryption and IndexedDB to keep sensitive data safe and manageable across web sessions.
safe-encrypted-storage
simplifies the process of storing encrypted data in either localStorage
or sessionStorage
. It uses IndexedDB to securely store encryption keys and ensures that all data stored is both encrypted and decrypted seamlessly in the background. This package is perfect for applications requiring sensitive data storage, adding an extra layer of security without the need for complex encryption management.
You can install the package via npm:
npm install safe-encrypted-storage
Here's an example of how to use safe-encrypted-storage
:
import { SafeStorage } from 'safe-encrypted-storage';
(async () => {
const mechanism = 'localStorage'; // Or 'sessionStorage'
const safeStorage = SafeStorage.init(mechanism);
// Storing encrypted data
await safeStorage.setItem('username', 'john_doe');
// Retrieving decrypted data
const username = await safeStorage.getItem('username');
console.log(username); // Outputs: john_doe
// Removing data
await safeStorage.removeItem('username');
// Clearing all storage
safeStorage.clear();
})();
init(type: string)
Initializes the SafeStorage
class with the given storage type. The type can be either localStorage
or sessionStorage
.
setItem(key: string, value: any): Promise<void>
Encrypts and stores the specified value under the provided key.
getItem(key: string): Promise<any>
Retrieves and decrypts the value associated with the specified key.
removeItem(key: string): Promise<void>
Removes the value associated with the specified key from storage.
clear()
Clears all data from the selected storage mechanism.
To contribute to safe-encrypted-storage
, clone the repository and start adding new features or fixing issues.
Install dependencies:
npm install
Run the project in development mode:
npm run dev
Run the test cases using:
npm test
Contributions are welcome! If you have suggestions, bug reports, or improvements, feel free to open an issue or submit a pull request on GitHub.
This project is licensed under the MIT License.
0.1.5
Changes in this version:
FAQs
An easy-to-use, encrypted web storage utility for securely storing and managing sensitive data in localStorage and sessionStorage.
The npm package safe-encrypted-storage receives a total of 0 weekly downloads. As such, safe-encrypted-storage popularity was classified as not popular.
We found that safe-encrypted-storage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.