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
  • OTP QR codes
  • 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
  • Password suggestions (detect if password is secure)
  • Compromised/breached password notice
  • Chrome & native Windows support
  • More

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 0
  • 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.1.1)
  • 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
A weather app developed in React Native. It is the React Native version of SwiftWeather.

ReactNativeWeather A weather app developed in React Native. It is the React Native version of SwiftWeather How to run the app Install react-native If

Jake Lin 22 Jun 7, 2022
Seaglass is a truly native macOS client for Matrix. It is written in Swift and uses the Cocoa user interface framework.

Seaglass is a truly native macOS client for Matrix. It is written in Swift and uses the Cocoa user interface framework.

null 1 Jan 17, 2022
Provenance is a native macOS application that interacts with the Up Banking Developer API to display information about your bank accounts, transactions, categories, tags and more.

Provenance Provenance is a native macOS application that interacts with the Up Banking Developer API to display information about your bank accounts,

Paul Tavitian 5 Jul 29, 2022
A completely native Discord client for macOS built 100% in Swift and SwiftUI

Swiftcord A completely native Discord client for macOS built 100% in Swift and SwiftUI This project aims to create a fully functional native Discord c

CryptoAlgo-Dev 909 Sep 19, 2022
A native SoundCloud app for macOS, written in SwiftUI

Nuage A native SoundCloud app for macOS, written in SwiftUI About Nuage is an independent and open-source project to build a native SoundCloud client

Laurin Brandner 194 Sep 17, 2022
DEVOTE In this SwiftUI tutorial, we will develop a task manager iOS application with Core Data integration.

DEVOTE In this SwiftUI tutorial, we will develop a task manager iOS application with Core Data integration. This is not a project with a boring user interface. This iOS and iPadOS application provides a personal touch and feel.

Noye Samuel 1 Dec 21, 2021
Clip is a simple clipboard manager for iOS

Clip Clip is a clipboard manager for iOS that can monitor your clipboard indefinitely in the background — no jailbreak required. Clip is a simple clip

Riley Testut 280 Sep 18, 2022
macOS application written in SwiftUI that downloads installer pkgs for the Install macOS Big Sur application.

Download Full Installer This is a Swift UI implementation of my fetch-installer-pkg script. It will list the full macOS Big Sur (and later) installer

Armin Briegel 589 Sep 23, 2022
"Podman for macOS" is a macOS frontend for Podman.

Podman for macOS "Podman for macOS" is a macOS frontend for Podman. It can be used to start and stop both the Podman Machine and its running container

Victor Gama 573 Sep 9, 2022
Native Jellyfin Client for iOS and tvOS

Swiftfin Swiftfin is a modern client for the Jellyfin media server. Redesigned in Swift to maximize direct play with the power of VLC and look native

Jellyfin 653 Sep 25, 2022
Adventures-with-Swift - Building Native iOS Apps with UIKit and SiwftUI 

Adventures with Swift, UIKit, & SwiftUI As I have experience working with React Native and have dabbled a bit with Flutter, I've decided to dive in th

Daniel Stafford 3 Jan 19, 2022
📱 Guideo - Native iOS App crafted with Swift and SwiftUI

Guideo An awesome iOS Native App ?? About Guideo App wire-framed and crafted from scratch by a team of 4. Our final project of the  Apple Foundation

Lyane Lamara 4 May 23, 2022
iOS framework for making Turbo native apps

Turbo Native for iOS Note: The Hotwire frameworks are presented in beta form. We're using them all in production with HEY, but expect that significant

Hotwire 441 Sep 21, 2022
Native iOS app using the exposure notification framework from Apple.

Corona Warn App - iOS Development • Documentation • Contribute • Support • Changelog • Licensing The goal of this project is to develop the official C

Corona-Warn-App 1.7k Sep 16, 2022
GitHub-User is an iOS native application, written in Swift programming language.

#GitHub-User GitHub-User is an iOS native application, written in Swift programming language. This project is an interview take home project. The arch

Zeljko Lucic 1 Mar 25, 2022
Native iOS app built in SwiftUI, displays a collection of user's books.

Native iOS app built in SwiftUI, displays a collection of user's books.

Matthew Eilar 1 May 23, 2022
Riddler is a riddle game built as a native iOS app in Swift using SwiftUI

Riddler is a riddle game built as a native iOS app in Swift using SwiftUI. It includes 50 challenging riddles with hints for when you get stuck. The game tracks your stats so you can compare your performance against your friends, and see who can answer all 50 riddles the quickest.

Oliver Stenning 2 Jul 16, 2022
Demonstration of using UIWindowScene and SwiftUI to provide a native-looking Mac preferences window in Catalyst

CatalystPrefsWindow Ever wondered how to create a more Mac-like preferences window for Catalyst? Perhaps Settings Bundles are too limiting for the kin

Steven Troughton-Smith 145 Sep 13, 2022
An experiment to use Firebase and React Native to build a wwdc.family app

wwdc.family This is an experiment to use Firebase and React Native to build a wwdc.family app. Don't use that source code as reference - I have no pri

WWDC Family 190 Feb 9, 2022