{"id":19665533,"url":"https://github.com/geeklearningio/gl-ionic-secure-file-storage","last_synced_at":"2025-04-28T22:31:13.713Z","repository":{"id":69663302,"uuid":"73805087","full_name":"geeklearningio/gl-ionic-secure-file-storage","owner":"geeklearningio","description":"A service using two encryption plugins to encrypt data on iOS and Android","archived":false,"fork":false,"pushed_at":"2017-10-02T12:44:06.000Z","size":78,"stargazers_count":3,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T11:34:14.214Z","etag":null,"topics":["cordova","cryptography","ionic","security","storage"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geeklearningio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-15T10:58:46.000Z","updated_at":"2017-09-07T13:24:03.000Z","dependencies_parsed_at":"2023-06-29T10:01:37.806Z","dependency_job_id":null,"html_url":"https://github.com/geeklearningio/gl-ionic-secure-file-storage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeklearningio%2Fgl-ionic-secure-file-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeklearningio%2Fgl-ionic-secure-file-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeklearningio%2Fgl-ionic-secure-file-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeklearningio%2Fgl-ionic-secure-file-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geeklearningio","download_url":"https://codeload.github.com/geeklearningio/gl-ionic-secure-file-storage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251397577,"owners_count":21583034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cordova","cryptography","ionic","security","storage"],"created_at":"2024-11-11T16:23:22.277Z","updated_at":"2025-04-28T22:31:13.687Z","avatar_url":"https://github.com/geeklearningio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\nThis is a secure file storage package for Ionic apps.\nIt allows you to transparently use Cordova encryption plugins to encrypt and store safely your data on the phone.\n\n# Requirements\n- npm\n- ionic\n- cordova\n\n#Installation\n1) In your project folder, install this plugin using npm\n```\nnpm install git+https://git@github.com/geeklearningio/gl-ionic-secure-file-storage.git --save\n```\n\n2) Install the [Intel Security Cordova Plugin](https://github.com/AppSecurityApi/com-intel-security-cordova-plugin)\n```\ncordova plugin add com-intel-security-cordova-plugin --save\n```\n\n3) Install the [Crypho Cordova Plugin Secure Storage](https://github.com/Crypho/cordova-plugin-secure-storage)\n```\ncordova plugin add https://github.com/crypho/cordova-plugin-secure-storage.git --save\n```\n\nNote:\nWe need both plugins, because the Intel plugin does not work on iOS9 and more. As specified in this issue: https://github.com/AppSecurityApi/com-intel-security-cordova-plugin/issues/9\nAnd the Android version of the Crypho Plugin uses a system that does not work with big files to encrypt (several hundred kilos).\n\nHere is the Intel api documentation: https://software.intel.com/en-us/node/506834\n\n\n# How to configure\n1) You can use the Typescript (`package/src/SecureFileStorageService.ts`) or the Javascript ((`package/dist/SecureFileStorageService.js`)) version of the Service.\n\n2) In your application's main module, inject the dependency `gl-ionic-secure-file-storage` in order to use the service.\n```\nangular.module('mainModuleName', ['ionic', 'gl-ionic-secure-file-storage']){\n\n}\n```\n\n3) Specify a namespace for the service. It will create a secure directory with this name on the device. In the angular configm inject the `SecureFileStorageServiceConfigProvider`and set the namespace like this:\n```\nsecureFileStorageServiceConfigProvider.setNamespace('test-app');\n```\n\n# How to use\nThis service has a simple Key/Value System.\nThe service usage is pretty straightforward after that. Just use `write`, `read` and `delete` to write, read and delete your data.\n\n# How to use the test app\nthe test app does not have the package as a dependency. It allows you to make changes directly to the package and use it in your test app.\n\nYou need to link the package locally.\nAt the root of the project (containing the `package` and the `test-app` folders) type this in the terminal:\n```\nnpm link\n```\nIt will add `gl-ionic-secure-file-storage` as a global npm module.\n\nThen go in the test-app folder and type this:\n```\nnpm link gl-ionic-secure-file-storage\n```\nIt will link it to the test-app.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeklearningio%2Fgl-ionic-secure-file-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeeklearningio%2Fgl-ionic-secure-file-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeklearningio%2Fgl-ionic-secure-file-storage/lists"}