Native and encrypted password manager for iOS and macOS.

Overview

Open Sesame

Forks Stars License

Xcode Version SwiftUI Platforms

TestFlight Website

Native and encrypted password manager for iOS and macOS.

OpenSesame

macOS

What is it?

OpenSesame is a free and powerful password manager that lets you manage your passwords with ease.

It syncs with iCloud and encrypts your data to make sure only you get access. No more required subscriptions, no more ram hogs, and no more electron versions.

Why use OpenSesame

Now more than ever, what was previously amazing native apps have become slow and big web apps. Big apps take more control away from the user and push subscriptions and other payment models without much reason. OpenSesame aims to fix that by giving a free and open source password manager that is native and performant. Still get all the great features of other password managers without all the baggage.

Features

  • iCloud Syncing
  • OTP Auth (Two Factor Authentication)
  • Safari Autofill
  • On-Device AES encryption
  • Biometrics unlock
  • Pinned accounts
  • Multiple vaults
  • Multipeer account sharing
  • Import/Export
  • Password generator
  • Credit/Debit card support
  • Notes field
  • Alternate icons
  • Customizable
  • CoreData
  • 100% SwiftUI
  • Native support for macOS and iOS.

Planned Features

  • Better password bulk deleting
  • Menubar access
  • Dropbox, Google Drive, personal server support
  • OTP Autofill
  • OTP QR codes
  • Password suggestions (detect if password is secure)
  • Compromised/breached password notice
  • Chrome & native Windows support

Requirements

  • Xcode 13+
  • macOS 12+
  • iOS 15+

License

OpenSesame is available under the MIT license. See the LICENSE.md file for more info.

Acknowledgements

OpenSesame depends on the following open-source projects:

Comments
  • Extract app identifiers

    Extract app identifiers

    This pull request extracts a number of Apple Developer Account specific values from the pbxproj to a xcconfig file.

    The extracted values include DEVELOPMENT_TEAM, APP_GROUPS and a base for the PRODUCT_BUNDLE_IDENTIFIER. The system includes a method to override them with a fallback to the current values for @EthanLipnik's account.

    Ultimately this change makes it much easier for a contributor to setup OpenSesame in their own Apple Developer Account, including the ability to run app on device.

    This change should be complete - but will require testing to make sure I've caught everything.

    opened by feralbob 7
  • Master password text field not masked

    Master password text field not masked

    Testing on an iPad Pro running iOS 15, on first launch when prompted to enter a new master password, the password field is not properly masked as a password and shows the full text entry.

    question 
    opened by patelhiren 3
  • Made TextField in CreatePasswordView a SecureField

    Made TextField in CreatePasswordView a SecureField

    Inside CreatePasswordView (where you set a new master password), the password wasn't hidden (you could see it as you type). I changed it to a SecureField (in case it wasn't intentional).

    opened by rainloreley 3
  • App keeps crashing in the background

    App keeps crashing in the background

    Describe the bug OpenSesame seems to keep crashing in the background without actually being open. It probably wouldn't matter when the app is on the App Store because there are no alerts for this but on the TestFlight build it's really annoying lol. I don't really know when it happens, but the device seems to be doing something in the background. When I use the device in the morning I get about 10 alerts at the same time about how OpenSesame crashed.

    To Reproduce I have no idea, probably just wait?

    Expected behavior It shouldn't crash

    Screenshots Couldn't get a screen recording of it because you can't open the control center when an alert is shown, I'll try to do that tomorrow morning via my computer. Hopefully it'll work.

    46855D65-349C-433F-A05E-FFC8D3D6E705-min

    iPad (please complete the following information):

    • Device: iPad Air 4th generation
    • OS: iOS 15.0 (19A5337a)
    • Version: 1.0 Build 8

    Additional context It's possible that this is an issue caused by the iOS 15 beta, but I haven't noticed this with any other app. I think I shared a crash report once, but didn't do it again because I don't wanna spam your ASC dashboard lol

    opened by rainloreley 2
  • Question: Are Remote Notifications needed for CloudKit?

    Question: Are Remote Notifications needed for CloudKit?

    I noticed that the AppDelegates for both iOS/macOS - perform a call to registerForRemoteNotifications - yet neither has appropriate calls to get the DeviceToken e.g. application(_:didRegisterForRemoteNotificationsWithDeviceToken:) or to handle the error.

    https://www.hackingwithswift.com/read/33/8/delivering-notifications-with-cloudkit-push-messages-ckquerysubscription suggests that the DeviceToken is silently made available to CK

    If there was no error, we call registerForRemoteNotifications(), which creates a unique device token that can be used to message this device. That device token is silently handed off to CloudKit, so we don’t need to do anything other than request it.

    I haven't seen in the app where CloudKit is using those notifications - so the probably naive question is...

    Is the call to registerForRemoteNotifications needed for CloudKit integration or are both AppDelegates not needed? (and could the RemoteNotification entitlement be removed too?)

    opened by feralbob 2
  • Fix Toolbar Appearance on macOS

    Fix Toolbar Appearance on macOS

    The toolbar in the supplementary view does not display correctly.

    The standard macOS appearance (as seen in apps such as Mail.app and Xcode 13) is to have separate sections in the toolbar for each view in the NavigationView. In OpenSesame, the toolbar appears as one continuous section (aside from the sidebar).

    Current TestFlight Build: Screen Shot 2021-10-06 at 6 52 59 PM

    This PR Fixes that issue, giving the Toolbar the expected macOS appearance. Note that you may have to adjust the password list's width in order for it to look right (I think it's because macOS tries to restore the column width to its previous value).

    Fixed version (this PR): Screen Shot 2021-10-06 at 7 37 31 PM

    opened by MichaelJBerk 1
  • "Enjoying Opensesame" button not appearing correctly on macOS

    My guess is that it needs to use plainButtonStyle in order to display properly, but I could be wrong.

    (Also, I think it's supposed to be "Enjoying" and not "Enjoing")

    Screenshots Screen Shot 2021-10-06 at 7 31 14 PM

    • macOS Monterey (21A5522h)
    opened by MichaelJBerk 1
  • UI: Spacing between account detail labels

    UI: Spacing between account detail labels

    I think the account detail labels are a bit too cramped and could use slightly more spacing around them. A few more pixels between would probably be enough. And maybe a separator between the email and password labels?

    OpenSesame Account Details

    opened by JohJakob 1
  • No option to dismiss

    No option to dismiss "Forgot your password?" alert on lock screen

    Bug description When clicking the little "i" at the top right on the lock screen view, it shows an alert with an option to reset the password, but there's no way for the user to cancel the operation other than relaunching the app.

    To Reproduce Steps to reproduce the behavior:

    1. Open the app (or click the lock icon when already in the app)
    2. Click the "i" icon at the top

    Expected behavior There should be an option to dismiss the alert and to not reset the password. I clicked on it because I was curious what it is. Maybe the "Reset password" option should also have the descructive attribute to make it red. Is there a backup of the data stored when resetting the password? Because currently it's a bit easy to reset it and delete all data which is really bad when you store all logins within the app.

    Screenshots 17AFA7D7-0D48-4D34-BF0B-8973B02EE001

    Device

    • Device: iPad Air 4th generation
    • OS: iOS 15.0 Beta (19A5337a)
    • App Version 1.0 Build 8
    opened by rainloreley 1
  • Feature Request: Account names

    Feature Request: Account names

    Idea

    Account names for saved logins

    Why?

    Sometimes a login doesn't have to have a website associated with it (e.g. computer logins, database credentials,...). Adding a account name field would

    1. remove the need to for a website url
    2. enable users to differentiate between multiple accounts on the same platform without needing to look at the username (e.g. Twitter) (even more helpful if the username is the same which can be the case for Microsoft accounts)
    enhancement 
    opened by rainloreley 1
  • Users can set the master password to blank which essentially locks out the app for anything but FaceID

    Users can set the master password to blank which essentially locks out the app for anything but FaceID

    On my first app open, I just hit enter in the master password, and I’m unable to change it. Also, I don’t think users should be able to do this.

    Edit: forgot to mention that the reason it locks out the master password box is because it lets you set the password to blank, but on reopen, it doesn’t let you enter blank text in the master unlock page. How can I change the password after?

    bug 
    opened by jawshoeadan 1
  • install via homebrew

    install via homebrew

    Is your feature request related to a problem? Please describe.

    As title

    Describe the solution you'd like

    As title

    Describe alternatives you've considered

    N/A

    Additional context

    N/A

    opened by JounQin 0
  • Separate account name and website

    Separate account name and website

    Describe the solution you’d like Similar to how it’s done in 1Password, I would like the account/login name and website to be separate. For some websites, I have multiple accounts that I want to clearly label inside OpenSesame. Additionally, the account name (and website URL) should be editable. Right now, only the username and password fields are editable.

    opened by JohJakob 0
  • Cannot import passwords from Safari

    Cannot import passwords from Safari

    When trying to import passwords from a CSV file generated by Safari, OpenSesame shows all entries, but clicking the Import button has no effect whatsoever.

    To Reproduce Steps to reproduce the behaviour:

    1. Export passwords from Safari
    2. Select FileImport…Web Browser… in OpenSesame
    3. Select the exported CSV file
    4. In the modal showing all entries, click Import

    Expected Behaviour When clicking Import, OpenSesame should import all passwords from the CSV file.

    System Information

    • macOS 12.2.1 Monterey
    • Safari 15.3 (17612.4.9.1.8)
    • Version 1.1.1 (36)
    bug 
    opened by JohJakob 1
  • On iOS app doesn’t add an item if the app is locked in the background

    On iOS app doesn’t add an item if the app is locked in the background

    Describe the bug On iOS app doesn’t add an item if the app is locked in the background

    To Reproduce

    1. Open app
    2. Start adding an account
    3. Minimize the app (it is locked now)
    4. Open the app again
    5. Dialog is still on top, but "Add" button does nothing. Underneath the dialog is the lock screen.

    Expected behavior Lockscreen should be on top of the dialog. And it should be possible to add that item after unlocking.

    Smartphone (please complete the following information):

    • Device: iPhone 12
    • OS: iOS 15
    opened by Loskir 0
  • macOS requires manual iCloud group setting even though Info.plist autogenerates the correct one.

    macOS requires manual iCloud group setting even though Info.plist autogenerates the correct one.

    image It seems that the only solution is to manually set the iCloud group. All the code should be working but for macOS it doesn't. Hopefully a new Xcode version will help. Opening an issue

    Originally posted by @EthanLipnik in https://github.com/OpenSesameManager/OpenSesame/issues/25#issuecomment-917745550

    opened by EthanLipnik 9
Releases(1.2.0)
  • 1.2.0(Dec 21, 2022)

    This release is a pretty minor release.

    • macOS got a menubar extra
    • Favicons are higher quality
    • Search tokens

    Most of the changes are behind the scenes. There is now only one target for both macOS and iOS and the whole project is a bit cleaner.

    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Nov 15, 2021)

    The Mac version has been submitted to the App Store!

    Why this is exciting

    The macOS version was what I have been working on the most and was super sad that macOS 12 didn't release with iOS 15. Nonetheless, it has finally been released giving a bigger audience the best version of OpenSesame. OpenSesame is now on iOS, iPadOS, and macOS!

    What's Changed

    • Extract app identifiers by @feralbob in https://github.com/OpenSesameManager/OpenSesame/pull/25
    • Fix Toolbar Appearance on macOS by @MichaelJBerk in https://github.com/OpenSesameManager/OpenSesame/pull/32

    New Contributors

    • @MichaelJBerk made their first contribution in https://github.com/OpenSesameManager/OpenSesame/pull/32

    Full Changelog: https://github.com/OpenSesameManager/OpenSesame/compare/0.2.1...1.1.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0(Sep 24, 2021)

    OpenSesame has been released to the App Store!

    Features

    • iCloud Syncing
    • OTP Auth (Two Factor Authentication)
    • Safari Autofill
    • On-Device AES encryption
    • Biometrics unlock
    • Pinned accounts
    • Multiple vaults
    • Multipeer account sharing
    • Import/Export
    • Password generator
    • Credit/Debit card support
    • Notes field
    • OTP QR codes
    • Alternate icons

    Full Changelog: https://github.com/OpenSesameManager/OpenSesame/compare/0.2.1...1.0

    Source code(tar.gz)
    Source code(zip)
  • 0.1.1(Aug 24, 2021)

    Warning The database has updated it's encryption method without a proper migration path. It will delete your local store. iCloud should restore it but as of right now, you cannot decrypt the passwords. Will add a solution in the next update if you wish to keep them

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Aug 23, 2021)

    Warning There are still some warnings in the project (mostly with the assets) due to Xcode beta being weird. Will be resolved soon

    Beta: https://testflight.apple.com/join/5ZW0k48j

    Source code(tar.gz)
    Source code(zip)
Owner
OpenSesame
OpenSesame
KeePassium is a KeePass-compatible password manager for iOS

KeePassium is a KeePass-compatible password manager for iOS. It offers automatic database synchronization, respect to privacy and premium user experience.

KeePassium 839 Jan 8, 2023
WalletBase - An app which reads 'swl' format encrypted information files.

Wallet Base What is this? Wallet Base is an app which reads swl format encrypted information files. It does not create or edit them. Why does this exi

null 0 Jan 3, 2022
Simple, secure password and data management for individuals and teams

Padloc Simple, secure password and data management for individuals and teams (formerly known as Padlock). This repo is split into multiple packages: P

Padloc 2.1k Jan 8, 2023
Password generator and strength tester

Password-Generator Password generator and strength tester Description This was a

null 5 Feb 1, 2022
PassDrop is a fully-featured secure password management system, compatible with the free KeePass 1.x (Classic) and multi-platform KeePassX desktop applications.

passdrop This is a modern, updated build of Rudis Muiznieks's PassDrop application. PassDrop is a fully-featured secure password management system, co

Chad Austin 33 Sep 23, 2022
Simple command line to generate random password.

pwgen Simple command line to generate random password. ➜ Bootstrap pwgen n5aR[[email protected]@fj ➜ Bootstrap pwgen 32 f0)th54[wpX.Zf99nj

Lakr Aream 2 Dec 19, 2022
A realistic password strength estimator.

.................................................bbb.................... .zzzzzzzzzz..xxx....xxx....cccccccc..vvv....vvv..bbb.........nnnnnnn.... ....

Dropbox 219 Sep 21, 2022
Cybr/Secure - A simple but powerful secure password generator

A simple but powerful secure password generator. You get the option of password length (10 to 20 characters) and whether you include numbers, symbols, uppercase and/or lowercase letters. Simply tap the lock icon to generate a secure password and then tap to copy the password.

Mykel Agathos 1 Feb 16, 2022
RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Kitura 122 Dec 16, 2022
RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Kitura 122 Dec 16, 2022
Safe and easy to use crypto for iOS and macOS

Swift-Sodium Swift-Sodium provides a safe and easy to use interface to perform common cryptographic operations on macOS, iOS, tvOS and watchOS. It lev

Frank Denis 483 Jan 5, 2023
A wrapper to make it really easy to deal with iOS, macOS, watchOS and Linux Keychain and store your user's credentials securely.

A wrapper (written only in Swift) to make it really easy to deal with iOS, macOS, watchOS and Linux Keychain and store your user's credentials securely.

Ezequiel Aceto 2 Mar 29, 2022
Simple Swift wrapper for Keychain that works on iOS, watchOS, tvOS and macOS.

KeychainAccess KeychainAccess is a simple Swift wrapper for Keychain that works on iOS and OS X. Makes using Keychain APIs extremely easy and much mor

Kishikawa Katsumi 7.2k Dec 30, 2022
Valet lets you securely store data in the iOS, tvOS, or macOS Keychain without knowing a thing about how the Keychain works.

Valet Valet lets you securely store data in the iOS, tvOS, watchOS, or macOS Keychain without knowing a thing about how the Keychain works. It’s easy.

Square 3.8k Jan 4, 2023
Partial rewrite of the `plutil` utility on macOS

SwiftPlist Description This tool is a partial rewrite of the plutil utility on macOS. It allows you to view property list (plist) files in any format

Justin Bui 6 Sep 16, 2022
Find who executes a target binary inside your MacOS.

whoexec Whoexec is a tool that will monitor every exec call inside MacOS by using the latest Endpoint Security Framework, with this it's able to detec

Anderson 17 Nov 9, 2022
A super simple tool for macOS Swift developers to check validity of a Gumroad-issued software license keys

Gumroad License Validator Overview A super simple tool for macOS Swift developers to check validity of a Gumroad-issued software license keys Requirem

Daniel Kašaj 13 Sep 2, 2022
Send key events to any running macOS application.

KeySender An extremely simple micro package that enables you to send key events to any running application. Install Add the following to your Package.

Jordan Baird 5 Jul 31, 2022
Oversecured Vulnerable iOS App is an iOS app that aggregates all the platform's known and popular security vulnerabilities.

Description Oversecured Vulnerable iOS App is an iOS app that aggregates all the platform's known and popular security vulnerabilities. List of vulner

Oversecured Inc 135 Dec 15, 2022