{"id":17913065,"url":"https://github.com/endorama/2ami","last_synced_at":"2026-03-15T20:39:05.280Z","repository":{"id":43256144,"uuid":"138805993","full_name":"endorama/2ami","owner":"endorama","description":"Your easy 2FA companion that keep the secrets secret.","archived":false,"fork":false,"pushed_at":"2024-12-11T22:33:16.000Z","size":387,"stargazers_count":28,"open_issues_count":6,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-19T02:29:10.796Z","etag":null,"topics":["cli","google-authenticator","hacktoberfest","keychain","keyring","secrets","secure","security","totp","two-factor"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/endorama.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":"2018-06-26T23:50:23.000Z","updated_at":"2025-03-11T07:12:45.000Z","dependencies_parsed_at":"2024-06-19T05:35:26.505Z","dependency_job_id":null,"html_url":"https://github.com/endorama/2ami","commit_stats":{"total_commits":203,"total_committers":8,"mean_commits":25.375,"dds":0.5172413793103448,"last_synced_commit":"27825ffb2fec2482696072de21d02a7aecbf2251"},"previous_names":["endorama/two-factor-authenticator"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endorama%2F2ami","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endorama%2F2ami/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endorama%2F2ami/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endorama%2F2ami/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/endorama","download_url":"https://codeload.github.com/endorama/2ami/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245180584,"owners_count":20573692,"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":["cli","google-authenticator","hacktoberfest","keychain","keyring","secrets","secure","security","totp","two-factor"],"created_at":"2024-10-28T19:49:41.004Z","updated_at":"2026-03-15T20:39:05.199Z","avatar_url":"https://github.com/endorama.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e2ami\u003c/h1\u003e\n\u003cp align=\"center\"\u003eYour easy 2FA companion that keep the secrets secret.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Go report score\" src=\"https://goreportcard.com/badge/github.com/endorama/2ami\" \u003e\n  \u003cimg alt=\"GitHub Release Date\" src=\"https://img.shields.io/github/release-date/endorama/2ami?color=blue\"\u003e\n  \u003cimg alt=\"GitHub tag (latest by date)\" src=\"https://img.shields.io/github/v/tag/endorama/2ami?label=latest\"\u003e\n  \u003cimg alt=\"Share on Twitter\" src=\"https://img.shields.io/twitter/url?style=social\u0026url=https%3A%2F%2Fgithub.com%2Fendorama%2F2ami%2F\" \u003e\n\u003c/p\u003e\n\n\u003cimg alt=\"2ami Secure Two Factor Authenticator logo\" src=\"images/logo.svg\" width=\"100%\" /\u003e\n\n`2ami` is a two factor authenticator for the CLI that stores 2FA secrets in system keyring, avoiding storing them in cleartext on your computer.\n\nOTP Secret keys are saved and retrieved from system keyring at each use, so are not being kept in process active memory if not during operation explicitly requiring them.\n\n**Security considerations:** the secrets are still being loaded in memory when adding a new key and generating a new token, even if for a small amount of time.\nI believe this is a safe enough approach (in a normal threat model, please consider yours), and is surely better than plain secrets on file system. \nHappy to discuss security improvements! :)\n\n**Note:** This software has **not** been security reviewed by a third party.\n\nInterested in using it? [Look at the getting started page](https://github.com/endorama/2ami/wiki/Getting-Started).\n\nWhat to dig deeper? Go to the [project wiki](https://github.com/endorama/2ami/wiki).\n\n\n## Known issues\n\nNone.\n\n## Stargazers\n[![Stargazers repo roster for @endorama/2ami](https://reporoster.com/stars/endorama/2ami)](https://github.com/endorama/2ami/stargazers)\n\n## Contributors\n[![Forkers repo roster for @endorama/2ami](https://reporoster.com/forks/endorama/2ami)](https://github.com/endorama/2ami/network/members)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendorama%2F2ami","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fendorama%2F2ami","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendorama%2F2ami/lists"}