{"id":14068316,"url":"https://github.com/jeroen/agent","last_synced_at":"2025-03-19T23:31:18.335Z","repository":{"id":66206241,"uuid":"71239628","full_name":"jeroen/agent","owner":"jeroen","description":"Store sensitive data such as API tokens","archived":false,"fork":false,"pushed_at":"2018-05-11T15:17:49.000Z","size":11,"stargazers_count":20,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-17T12:21:53.622Z","etag":null,"topics":["agent","data-security","key-value-store","r","r-package","rstats","security","security-tools","sensitive-data"],"latest_commit_sha":null,"homepage":"https://docs.ropensci.org/agent","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeroen.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-10-18T11:06:51.000Z","updated_at":"2025-03-03T19:51:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"471871bd-3130-40fa-9101-222466f99acb","html_url":"https://github.com/jeroen/agent","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":0.09999999999999998,"last_synced_commit":"1284c421c699d9628dc29ce83adc11335f5e6d23"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeroen%2Fagent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeroen%2Fagent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeroen%2Fagent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeroen%2Fagent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeroen","download_url":"https://codeload.github.com/jeroen/agent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244524898,"owners_count":20466525,"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":["agent","data-security","key-value-store","r","r-package","rstats","security","security-tools","sensitive-data"],"created_at":"2024-08-13T07:06:05.595Z","updated_at":"2025-03-19T23:31:18.084Z","avatar_url":"https://github.com/jeroen.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"# agent\n\n##### *Encrypted Key-Value Store for Sensitive Data*\n\n[![Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.](http://www.repostatus.org/badges/latest/concept.svg)](http://www.repostatus.org/#concept)\n[![Build Status](https://travis-ci.org/ropensci/agent.svg?branch=master)](https://travis-ci.org/ropensci/agent)\n[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/ropensci/agent?branch=master\u0026svg=true)](https://ci.appveyor.com/project/jeroen/agent)\n[![Coverage Status](https://codecov.io/github/ropensci/agent/coverage.svg?branch=master)](https://codecov.io/github/ropensci/agent?branch=master)\n[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/agent)](http://cran.r-project.org/package=agent)\n[![CRAN RStudio mirror downloads](http://cranlogs.r-pkg.org/badges/agent)](http://cran.r-project.org/web/packages/agent/index.html)\n\n\u003e Cross platform solution for securely storing sensitive data. This \n  can either be used directly by the user or by other packages for storing \n  e.g. web tokens or other secrets. The degree of security is detemined by \n  the strength of the password as set by the user.\n\n## Hello World\n\nThe agent works like a simple key-value store. The value can be any object that can be serialized by R such as a token or data frame. This API can either be called by the user or by other packages.\n\n```r\nlibrary(agent)\nagent_set(\"my_secret_token\", \"ABCXYZ\")\nagent_get(\"my_secret_token\")\n## \"ABCXYZ\"\nagent_has(\"my_secret_token\")\n## TRUE\nagent_del(\"my_secret_token\")\n```\n\nIt is up to the user to protect the keystore with a password:\n\n\n```r\nupdate_password()\n```\n\nThe user will automatically be prompted for a password when the keystore needs to be unlocked, for example when a package needs to retrieve a secured token.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeroen%2Fagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeroen%2Fagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeroen%2Fagent/lists"}