Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

safe-encrypted-storage

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

safe-encrypted-storage

An easy-to-use, encrypted web storage utility for securely storing and managing sensitive data in localStorage and sessionStorage.

  • 0.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source

safe-encrypted-storage

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.

Table of Contents

  • Introduction
  • Installation
  • Usage
  • API
  • Development
  • Testing
  • Contributing
  • License

Introduction

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.

Installation

You can install the package via npm:

npm install safe-encrypted-storage

Usage

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();
})();

API

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.

Development

To contribute to safe-encrypted-storage, clone the repository and start adding new features or fixing issues.

Scripts

  • Install dependencies:

    npm install
    
  • Run the project in development mode:

    npm run dev
    

Testing

Run the test cases using:

npm test

Contributing

Contributions are welcome! If you have suggestions, bug reports, or improvements, feel free to open an issue or submit a pull request on GitHub.

License

This project is licensed under the MIT License.

Keywords

FAQs

Package last updated on 29 Sep 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc