{"id":31655051,"url":"https://github.com/championswimmer/twofac","last_synced_at":"2026-04-26T01:05:02.731Z","repository":{"id":299729080,"uuid":"1003354731","full_name":"championswimmer/TwoFac","owner":"championswimmer","description":"2FA Authenticator app that works on mobile, web, desktop, watches and CLI! ","archived":false,"fork":false,"pushed_at":"2026-04-16T01:53:05.000Z","size":44680,"stargazers_count":112,"open_issues_count":5,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-16T03:29:26.041Z","etag":null,"topics":["2fa","2fa-client","2factor-authentication","authenticator","authy","otp-verification","totp-generator","two-factor-authentication"],"latest_commit_sha":null,"homepage":"http://twofac.app/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/championswimmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-06-17T02:58:03.000Z","updated_at":"2026-04-16T01:53:09.000Z","dependencies_parsed_at":"2025-07-06T03:29:30.474Z","dependency_job_id":"3e619abf-37ab-4c67-92d2-1e732cbb5be8","html_url":"https://github.com/championswimmer/TwoFac","commit_stats":null,"previous_names":["championswimmer/twofac"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/championswimmer/TwoFac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/championswimmer%2FTwoFac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/championswimmer%2FTwoFac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/championswimmer%2FTwoFac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/championswimmer%2FTwoFac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/championswimmer","download_url":"https://codeload.github.com/championswimmer/TwoFac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/championswimmer%2FTwoFac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["2fa","2fa-client","2factor-authentication","authenticator","authy","otp-verification","totp-generator","two-factor-authentication"],"created_at":"2025-10-07T12:50:18.471Z","updated_at":"2026-04-26T01:05:02.722Z","avatar_url":"https://github.com/championswimmer.png","language":"Kotlin","readme":"| \u003cimg src=\"docs/twofac-logo.png\" alt=\"TwoFac logo\" width=\"128\" height=\"128\" /\u003e | \u003ch1 align=\"left\"\u003eTwoFac\u003c/h1\u003e \u003cbr\u003e Open Source, Native, Cross-Platform 2FA App for Watch, Mobile, Desktop, Web and CLI! | \n|---|---|\n\n[![Kotlin](https://img.shields.io/badge/kotlin-2.3.10-blue.svg?logo=kotlin)](https://kotlinlang.org/)\n[![Compose Multiplatform](https://img.shields.io/badge/compose-multiplatform-blue.svg?logo=jetbrains)](https://github.com/JetBrains/compose-multiplatform)\n\n[![Android](https://img.shields.io/badge/android-11%2B-3DDC84.svg?logo=android)](https://developer.android.com/)\n[![iOS](https://img.shields.io/badge/iOS-18.2%2B-000000.svg?logo=apple)](https://developer.apple.com/ios/)\n[![watchOS](https://img.shields.io/badge/watchOS-10%2B-000000.svg?logo=apple)](https://developer.apple.com/watchos/)\n[![Wear OS](https://img.shields.io/badge/wearOS-11%2B-4285F4.svg?logo=wearos)](https://wearos.google.com/)\n[![macOS](https://img.shields.io/badge/macOS-16%2B-000000.svg?logo=apple)](https://www.apple.com/macos/)\n[![Windows](https://img.shields.io/badge/Windows-10%2B-0078D4.svg?logo=windows)](https://www.microsoft.com/windows/)\n[![Ubuntu](https://img.shields.io/badge/Ubuntu-22.04%2B-E95420.svg?logo=ubuntu)](https://ubuntu.com/)\n[![Web](https://img.shields.io/badge/platform-web-F7DF1E.svg?logo=webassembly)](https://webassembly.org/)\n[![Chrome Extension](https://img.shields.io/badge/Chrome%20Extension-119%2B-4285F4.svg?logo=googlechrome)](https://developer.chrome.com/docs/extensions/)\n[![Firefox Extension](https://img.shields.io/badge/Firefox%20Extension-120%2B-FF7139.svg?logo=firefoxbrowser)](https://extensionworkshop.com/)\n[![CLI macOS](https://img.shields.io/badge/CLI-macOS-000000.svg?logo=apple)](https://www.apple.com/macos/)\n[![CLI Windows](https://img.shields.io/badge/CLI-Windows-0078D4.svg?logo=windows)](https://www.microsoft.com/windows/)\n[![CLI Linux](https://img.shields.io/badge/CLI-Linux-4EAA25.svg?logo=gnubash)](https://en.wikipedia.org/wiki/Command-line_interface)\n\n![two-fac-demo](https://github.com/user-attachments/assets/b95f3bc8-b27b-42c7-8dce-041ea9465dcb)\n\n## What is TwoFac?\n\nTwoFac is a free, open-source, cross-platform 2FA app for generating one-time codes on the devices you already use. It is built with Kotlin Multiplatform and ships native experiences for mobile, desktop, wearables, web, browser extensions, and the command line.\n\nIt is designed to be practical and privacy-friendly: local code generation, biometric protection on supported platforms, encrypted backups, and no ads or tracking.\n\n## Features\n\n- Native apps for Android, iOS, macOS, Windows, Linux, Wear OS, watchOS, web, browser extensions, and CLI\n- End-to-end encryption and zero-knowledge handling for secrets and backups\n- Biometric unlock on Android and iOS\n- Import support for Authy, 2FAS, Ente Auth, and Google Authenticator exports\n- Companion watch apps with offline access and browser/CLI workflows for fast access\n\n## Download\n\n**Start here:** [twofac.app/download](https://twofac.app/download)\n\n[![Get it on Google Play](docs/google-play-badge.png)](https://play.google.com/store/apps/details?id=tech.arnav.twofac.app)\n\n- **Website:** [twofac.app](https://twofac.app)\n- **Web app:** [web.twofac.app](https://web.twofac.app)\n- **Desktop and CLI releases:** [GitHub Releases](https://github.com/championswimmer/TwoFac/releases)\n\nFor macOS and Linux, the CLI can also be installed with:\n\n```bash\ncurl -fsSL https://twofac.app/install.sh | bash -s --\n```\n\n## Learn more\n\n- **Features:** [twofac.app/features](https://twofac.app/features)\n- **Getting started:** [twofac.app/getting-started](https://twofac.app/getting-started)\n- **FAQ:** [twofac.app/faq](https://twofac.app/faq)\n- **Import guide:** [docs/IMPORTING.md](docs/IMPORTING.md)\n\n## Development\n\nClone the repo, install the toolchains for the targets you want to work on, and run Gradle tasks from the repository root.\n\nFor the current module map, build guidance, and platform routing, read [AGENTS.md](AGENTS.md). It is written to make AI-driven development work smoothly, and it is also the most up-to-date reference for how this codebase is organized.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchampionswimmer%2Ftwofac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchampionswimmer%2Ftwofac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchampionswimmer%2Ftwofac/lists"}