Open source Android, iOS and Web app for learning about and managing digital and physical security.

Overview

Umbrella

Umbrella is an Android mobile app developed by Security First that provides human rights defenders with the information on what to do in any given security situation and the tools to do it. It allows the user to choose what they want to do, such as: protect data; securely make a call/email; securely access the internet; plan secure travel; protect their office/home; conduct counter-surveillance; or deal with kidnapping, arrest or evacuation. Once a situation is chosen, the app outlines what to do and what tools to use given your circumstances. This is followed by a simple checklist of recommended actions that can be customised, saved and shared securely. Umbrella’s Feed also provides users with an up-to-the-minute account of potential risks in their chosen location.

Installation on Android

Umbrella on Google Play Store Umbrella on Amazon App Store Umbrella on FDroid

F-Droid fingerprint: 39EB57052F8D684514176819D1645F6A0A7BD943DBC31AB101949006AC0BC228

Available on iOS

Umbrella is available on iOS devices too.

Umbrella on Apple App Store

Example Usage

Umbrella is designed for everyone (people looking to increase their security, folks living in high-risk areas, regular travellers, business people, techies, journalists, NGO staff, aid workers, human rights defenders, social workers, environmental activists, etc).

However, when we built Umbrella we tried to keep in mind the story of Glen Greenwald and Edward Snowden. Greenwald couldn't communicate with Snowden at the start because he found it cumbersome to set up encryption (he nearly missed one of the biggest stories of the decade because of this!). Also, when he (and Laura Poitras) travelled to Hong Kong - they didn't have much knowledge about how to meet securely with Snowden and detect surveillance. This is a common problem for journalists and activists. Umbrella is designed to solve this problem (and others) by having nearly everything they would have needed to know in one place - in their pocket.

Main Parts of Umbrella

Introduction: This is the part the user sees first. It explains briefly how the app works and the basic terms and conditions.

Menu: The bottom navigation menu is the main way for a user to navigate. It lists the feed, forms, lessons (with tool guides), checklists and account.

Feed: The feed contains security feeds from places like the UN Relief Web and the US Centers for Disease Control. You enter your location (and how often you want to be updated). Everytime a new update is released (e.g a disease outbreak in your location), the information comes up on the dashboard.

Lessons: Lessons are where users can learn about topics and things that they can do to improve their security. Some of the lessons have different levels (Beginner, Advanced, Expert) depending on your needs, ability, and risk. Each module is broken down into sections. At the end of each module is a list of other resources and further reading.

Tool Guides: These are detailed guides about how to use the software and apps mentioned in the lessons.

Checklists: Checklists are quick and easy references to help users implement the advice in the lessons. You can tick them off as you complete each item. Items can be edited. You may also create custom checklists. If you start ticking a checklist, you will then see it on the Checklists page. Checklists can also be shared through other apps such as your email.

Forms: Forms allow a user to quickly fill out and share important information about issues such as their travel plan in a high-risk location or report on a digital/physical security incident.

Lessons

The general flow of lessons is presented in order to replicate the typical way that a user works. Protecting their information -> Communicating with other people -> Arranging and travelling to a location -> Doing their operations and work -> Dealing with personal issues that may arise-> Seeking support if something goes wrong.

These are the lessons currently in Umbrella.

Access your risk

  • Security Planning

Information

These lessons mostly cover the security of information that is stored on your computers.

  • Managing information
  • Malware
  • Passwords
  • Protecting Files
  • Safely Deleting
  • Backing Up
  • Protect your workplace
  • Workplace raids

Communications

These lessons mostly cover the security of information when it is sent or received.

  • Mobile Phones
  • Making a call
  • Sending a message
  • Email
  • Censorship
  • Online Privacy
  • Phishing
  • Radios and satellite phones
  • Online abuse

Travel

These lessons cover the security of travelling in high-risk areas.

  • Preparation
  • Borders
  • Vehicles
  • Checkpoints
  • Protective Equipment

Work

These lessons include topics that may affect you in your work.

  • Meetings
  • Being followed
  • Protests
  • Dangerous Assignments
  • Public Assignments
  • Public Communications
  • Whistleblowers

Incident Response

These lessons cover how to respond to events.

  • Arrests
  • Evacuation
  • Kidnapping
  • Sexual Assault
  • Terrorism

Stress

  • Stress

Emergency Support

Explains places to get extra help if you have a problem.

  • Physical
  • Digital

Tools

These are detailed guides about how to use software and apps mentioned in the lessons. These are the tools currently covered in the tool guide.

  • Messaging
    • Mailvelope
    • ObscuraCam
    • Pidgin
    • Psiphon
    • Signal for Android
    • Signal for iOS
  • Encryption
    • Encrypt your iPhone
    • k9 & Open Keychain
    • KeePasXC
  • PGP
    • PGP for Linux
    • PGP for MacOS
    • PGP for Windows
  • Tor
    • Orbot & Orfox
    • Tor for MacOS
    • Tor for Linux
    • Tor for Windows
  • Files
    • Cobian Backup
    • Recuva
    • VeraCrypt
  • Other
    • Android
    • Facebook

Glossary

Contains explanations of the various terms used in the app.

About

Explains the licences that we use for and by Umbrella. Also says a big THANKYOU to everyone whose work we built on to make it happen.

Dashboard Feed Sources

These are the sources that we currently include for real-time updated security Feeds. For privacy reasons, users never connect directly to these services. We are always looking for more useful sources that will help users keep updated on the move.

Account

Navigate to the "Account" from the bottom menu. Here you can:

  • Modify settings (feed interval, feed location, feed sources, notifications, connections, import data, export data)
  • Enable Mask
  • Set a password
  • Log out

Requirements

You need an Android phone with a minimum version of 4.0.3 (SDK 15 - ICE_CREAM_SANDWICH_MR1)

Contributing to Umbrella

Thank you for your interest in contributing to Umbrella. See our contributing guide.


Contributors

Thanks to everyone who has contributed code to Umbrella. It wouldn’t have happened without you.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

See http://www.wassenaar.org/ for more information.

License

Copyright 2013-2021 Global Security First Ltd. (trading as Security First)

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

Comments
  • Several lessons are missing section 7

    Several lessons are missing section 7

    For example, navigate to Communications --> Online Privacy --> Beginner. As you can see from the screenshot, section number 7 is not visible. Pretty much every lesson with over 7 sections does not show the 7th section.

    Screenshot_20210223-052114

    T: bug help wanted content S: needs diagnosis 
    opened by enjeck 16
  • The application crashes when i click on Enable Mask

    The application crashes when i click on Enable Mask

    Expected behavior:

    I expected that the application should not be crash when i click on Enable mask option.

    Actual behavior:

    After configure the application when i click on Enable mask option,the application is you can see in bug vieo proprealy.

    How to reproduce:

    1.Download the app from playstore and open the app. 2.Then click on team conditions accept. 3.Naw click on account man icon and setting option. 4.Then click on Enable mask 5.Click ok and 6.Naw click back botton 7.Note the Bug.

    information

    App version:v1.0.12 os:Android 6.0.1 Device:samsung J5

    Recording of the bug

    https://youtu.be/rOOrcOUhwmo

    Logcat:

    06-24 20:27:30.270  4493  4493 E AndroidRuntime: FATAL EXCEPTION: main
    06-24 20:27:30.270  4493  4493 E AndroidRuntime: Process: org.secfirst.umbrella, PID: 4493
    06-24 20:27:30.270  4493  4493 E AndroidRuntime: java.lang.NullPointerException: Attempt to read from field 'android.os.Bundle android.content.pm.PackageItemInfo.metaData' on a null object reference
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.os.Parcel.readException(Parcel.java:1626)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.os.Parcel.readException(Parcel.java:1573)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.app.ISearchManager$Stub$Proxy.getSearchableInfo(ISearchManager.java:187)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.app.SearchManager.getSearchableInfo(SearchManager.java:982)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at org.secfirst.umbrella.feature.main.MainActivity.onCreateOptionsMenu(MainActivity.kt:88)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.app.Activity.onCreatePanelMenu(Activity.java:3128)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:378)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2549)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:455)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.view.Choreographer.doCallbacks(Choreographer.java:695)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.view.Choreographer.doFrame(Choreographer.java:628)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.os.Handler.handleCallback(Handler.java:739)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.os.Handler.dispatchMessage(Handler.java:95)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.os.Looper.loop(Looper.java:158)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at android.app.ActivityThread.main(ActivityThread.java:7231)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at java.lang.reflect.Method.invoke(Native Method)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    06-24 20:27:30.270  4493  4493 E AndroidRuntime:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
    T: bug 
    opened by 44asad 6
  • Crash when try to search checklist after set it 100 done

    Crash when try to search checklist after set it 100 done

    Process: org.secfirst.umbrella, PID: 2668
    java.lang.IndexOutOfBoundsException
    	at java.util.Collections$SingletonList.get(Collections.java:279)
    	at org.secfirst.umbrella.data.database.content.EntityKt.toSearchResult(entity.kt:19)
    	at org.secfirst.umbrella.feature.main.SearchActivity.searchForCheckLists(SearchActivity.kt:225)
    	at org.secfirst.umbrella.feature.main.SearchActivity.access$searchForCheckLists(SearchActivity.kt:35)
    	at org.secfirst.umbrella.feature.main.SearchActivity$getDataProvider$1.findByCriteria(SearchActivity.kt:155)
    	at org.secfirst.advancedsearch.presenters.SearchResultPresenter$performSearch$1.invoke(SearchResultPresenter.kt:84)
    	at org.secfirst.advancedsearch.presenters.SearchResultPresenter$performSearch$1.invoke(SearchResultPresenter.kt:16)
    	at org.secfirst.advancedsearch.util.mvp.Presenter$bg$1.invoke(Presenter.kt:41)
    	at org.secfirst.advancedsearch.util.mvp.Presenter$bg$1.invoke(Presenter.kt:8)
    	at org.secfirst.advancedsearch.util.mvp.BgUiThreadSpec$bg$1.run(BgUiThreadSpec.kt:9)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    	at java.lang.Thread.run(Thread.java:818)```
    T: bug help wanted 
    opened by muhammadarif1 6
  • Add to F-Droid

    Add to F-Droid

    F-Droid is a Google Play replacement containing only free software apps. Here's how to include it: https://f-droid.org/contribute/

    Edit: Nevermind, it's already there.

    opened by nicolasmaia 4
  • Bugfix: Lessons Missing Section Seven

    Bugfix: Lessons Missing Section Seven

    Fixes #246

    After a brief investigation, it was found out that there is logic that is unnecessarily adding an empty section which causes this bug. This feature introduces a solution that adds an empty section only after sorting all the sections and if the number of sections is uneven.

    Tested in both even and uneven lessons. Also added a comment for readability and future developers.

    qemu-system-x86_64_p6Me9Ion4r

    qemu-system-x86_64_0kIwUaB8Ee

    opened by TomerPacific 3
  • The  application crashes when i click on export your data

    The application crashes when i click on export your data

    Expected behavior:

    I expected that the application should not be crash when i click on export data option.

    Actual behavior:

    After configure the application when i click on export data option,the application is you can see in bug vieo proprealy.

    How to reproduce:

    1.Download the app from playstore and open the app. 2.Then click on team conditions accept. 3.naw click on account man icon and setting option. 4.Then click on export your data. 5.naw backuo database file name and click OK. 5.Note the Bug.

    information

    • App version:v1.0.12
    • os:Android 6.0.1
    • Device:samsung J7

    Recording of the bug

    https://youtu.be/ehTV5ZcRHXo

    Logcat

    05-01 20:29:33.657 26688 26688 E AndroidRuntime: FATAL EXCEPTION: main
    05-01 20:29:33.657 26688 26688 E AndroidRuntime: Process: org.secfirst.umbrella, PID: 26688
    05-01 20:29:33.657 26688 26688 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at java.lang.reflect.Method.invoke(Native Method)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   ... 1 more
    05-01 20:29:33.657 26688 26688 E AndroidRuntime: Caused by: java.io.FileNotFoundException: /storage/0000-0000/asads.db: open failed: EACCES (Permission denied)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at libcore.io.IoBridge.open(IoBridge.java:452)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at java.io.FileOutputStream.(FileOutputStream.java:87)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at java.io.FileOutputStream.(FileOutputStream.java:72)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at kotlin.io.FilesKt__UtilsKt.copyTo(Utils.kt:205)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at kotlin.io.FilesKt__UtilsKt.copyTo$default(Utils.kt:181)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at org.secfirst.umbrella.feature.account.presenter.AccountPresenterImp.submitExportDatabase(AccountPresenterImp.kt:68)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at org.secfirst.umbrella.feature.account.view.SettingsController$chooseFolderDialog$1.onSelect(SettingsController.kt:365)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at com.codekidlabs.storagechooser.fragments.SecondaryChooserFragment$1.onClick(SecondaryChooserFragment.java:110)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.view.View.performClick(View.java:5698)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.widget.TextView.performClick(TextView.java:10908)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.view.View$PerformClick.run(View.java:22565)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.os.Handler.handleCallback(Handler.java:739)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.os.Handler.dispatchMessage(Handler.java:95)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.os.Looper.loop(Looper.java:158)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at android.app.ActivityThread.main(ActivityThread.java:7231)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   ... 3 more
    05-01 20:29:33.657 26688 26688 E AndroidRuntime: Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at libcore.io.Posix.open(Native Method)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   at libcore.io.IoBridge.open(IoBridge.java:438)
    05-01 20:29:33.657 26688 26688 E AndroidRuntime:   ... 17 more
    T: bug help wanted 
    opened by 44asad 3
  • Ticking an item that you have added to a checklist leads to a crash

    Ticking an item that you have added to a checklist leads to a crash

    When adding a checklist item it works, but when you go to tick it. Leads to crash. When you reopen the app and go to the checklist. The item is ticked.

    T: bug 
    opened by rorymbyrne 3
  • The application crashes when i click on refresh from the server option

    The application crashes when i click on refresh from the server option

    Expected behavior:

    I expected that the application should not be crash when i click on Refresh from the server option.

    Actual behavior:

    After configure the application when i click on Refresh server option,the application is you can see in bug vieo proprealy.

    How to reproduce:

    1.Download the app from playstore and open the app. 2.Then click on team conditions accept. 3.naw click on account man icon and setting option. 4.Then click on refresh from the server 5.Note the Bug.

    information

    • App version:v1.0.12
    • os:Android 6.0.1
    • Device:samsung J7

    Recording of the bug

    https://youtu.be/4nuXtMQl9Fc

    Logcat

    05-01 20:12:42.147 25932 25932 E AndroidRuntime: FATAL EXCEPTION: main
    05-01 20:12:42.147 25932 25932 E AndroidRuntime: Process: org.secfirst.umbrella, PID: 25932
    05-01 20:12:42.147 25932 25932 E AndroidRuntime: org.eclipse.jgit.api.errors.RefNotFoundException: Ref master can not be resolved
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:242)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at org.secfirst.umbrella.data.disk.TentDao$rebaseBranch$2.invokeSuspend(TentDao.kt:49)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.DispatchedTask$DefaultImpls.run(Dispatched.kt:235)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.DispatchedContinuation.run(Dispatched.kt:81)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.scheduling.Task.run(Tasks.kt:94)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
    05-01 20:12:42.147 25932 25932 E AndroidRuntime:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:732)
    T: bug 
    opened by 44asad 2
  • [Crash] tabview component.

    [Crash] tabview component.

    Stack trace logged on Google Play.

    java.lang.IllegalStateException: at com.j256.ormlite.stmt.SelectIterator.next (SelectIterator.java:183) at com.j256.ormlite.dao.LazyForeignCollection.toArray (LazyForeignCollection.java:217) at java.util.ArrayList.<init> (ArrayList.java:191) at org.secfirst.umbrella.fragments.StepFragment.onCreateView (StepFragment.java:121) at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819) at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332)

    crash 
    opened by douglasalipio 2
  • [Crash] checklist feature

    [Crash] checklist feature

    Stack trace logged on Google Play.

    java.lang.NullPointerException: at org.secfirst.umbrella.fragments.CheckItemFragment.populateAdapter (CheckItemFragment.java:147) at org.secfirst.umbrella.fragments.CheckItemFragment.onCreateView (CheckItemFragment.java:142) at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819) at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797) at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332) at android.support.v4.app.FragmentManagerImpl.execSingleAction (FragmentManager.java:2209) at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss (BackStackRecord.java:649) at android.support.v4.app.FragmentPagerAdapter.finishUpdate (FragmentPagerAdapter.java:145) at android.support.v4.view.ViewPager.populate (ViewPager.java:1238) at android.support.v4.view.ViewPager.setCurrentItemInternal (ViewPager.java:663) at android.support.v4.view.ViewPager.setCurrentItemInternal (ViewPager.java:625) at android.support.v4.view.ViewPager.setCurrentItem (ViewPager.java:606) at org.secfirst.umbrella.fragments.TabbedFragment$TabbedContentFragment$1.onClick (TabbedFragment.java:252) at android.view.View.performClick (View.java:6294) at android.view.View$PerformClick.run (View.java:24770) at android.os.Handler.handleCallback (Handler.java:790) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6494) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)

    crash 
    opened by douglasalipio 2
  • In

    In "Configuration" in Chinese, only some of the translated elements seem to be present.

    Lost words on the "Location" Explanation in the Feed. In "Configuration" in Chinese, only some of the translated elements seem to be present.

    T: bug 
    opened by rorymbyrne 2
  • Content repo

    Content repo

    Hello, I noticed that https://github.com/securityfirst/Umbrella_android/blob/master/CONTRIBUTING.md#writing-content-for-umbrella mentions https://github.com/securityfirst/tent-content however the app source https://github.com/securityfirst/Umbrella_android/blob/master/app/src/main/java/org/secfirst/umbrella/data/disk/tent_config.kt points to https://github.com/securityfirst/umbrella-content. Where is the content downloaded from and which repo should I contribute to?

    opened by mimi89999 2
  • Add dark mode

    Add dark mode

    Added a switch for toggling dark mode in settings under the skip password switch. Currently only primary and primaryDark colors are changed upon toggling because I wasn't sure about the color pallete. To customise the dark mode look just change color values in the colors.xml(night) file.

    opened by tsafran 2
Releases(v0.8.0-beta)
Owner
Security First
Building tools and training to help increase digital and physical security in a dangerous world
Security First
Simple API to perform AES encryption on Android. This is the Android counterpart to the AESCrypt library Ruby and Obj-C (with the same weak security defaults :( ) created by Gurpartap Singh. https://github.com/Gurpartap/aescrypt

AESCrypt-Android Simple API to perform AES encryption on Android with no dependancies. This is the Android counterpart to the AESCrypt library Ruby an

Scott Alexander-Bown 636 Dec 18, 2022
A collection of android security related resources

android-security-awesome A collection of android security related resources. Tools Academic/Research/Publications/Books Exploits/Vulnerabilities/Bugs

Ashish Bhatia 6.6k Jan 5, 2023
Secure your REST APIs with Spring Security, Resource and Authorization Server from zero to JWT

Secure REST APIs with Spring ./mvnw RTFM YouTube: Spring Security Patterns YouTube: Spring Security 5.5 From Taxi to Takeoff Official Apache Maven doc

Maksim Kostromin 1 Dec 5, 2021
Native Device security checks, Rooted/Jailbroken, Not real device, Developer mode is on, On external drive.

palestine_trusted_device Native Device security checks, Rooted/Jailbroken, Not real device, Developer mode is on, On external drive. Part of Palestine

Palestine Developers 3 Apr 19, 2022
Mobile Security Framework (MobSF)

Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

Mobile Security Framework 13.2k Jan 4, 2023
A runtime mobile application analysis toolkit with a Web GUI, powered by Frida, written in Python.

___ ___ / | \ ____ __ __ ______ ____ / ~ \/ _ \| | \/ ___// __ \ \ Y ( <_> )

NCC Group Plc 1.2k Dec 21, 2022
This app will show grid overlay over whole system which helps you to verify your excellent app design.

GridWichterle for Android This app will show grid overlay over whole system which helps you to verify your excellent app design. Download: What is the

Inmite s.r.o. 408 Dec 29, 2022
A simple android app that parses its own signature and displays it

SigDisplayer Usage Download the release APK or clone the repository and compile yourself. Sign the APK with your preferred keystore. Install and open

Jonah 5 Oct 18, 2022
Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`

Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`

null 52 Dec 30, 2022
a version of the official Android openssl setup to build standalone for use in app

OpenSSL on the Android platform. --- The code in this directory is based on $OPENSSL_VERSION in the file openssl.version. See patches/README for more

Guardian Project 371 Dec 8, 2022
Analyze any Android/Java based app or game

ClassyShark Introduction ClassyShark is a standalone binary inspection tool for Android developers. It can reliably browse any Android executable and

Google 7.2k Jan 3, 2023
A android app for encrypting apk

A android app for encrypting apk

FlyingYu 124 Jan 5, 2023
Android app to test various cryptography algorithm.

CryptographyLesson Introduction This android app shows how cryptographic algorithm works. You can encrypt or decrypt messages and try different algori

null 3 Mar 21, 2022
📱 Android client app for the AryKey 🔑

Android application that prepares an hardware device via USB serial port with a specific password generated deterministically based on three (3) inputs: the App we want to Unlock, the User ID used for login (typically an email address) and the PIN (6 numeric digits) we want to associate with previous inputs.

Ryan Amaral 2 Mar 11, 2022
Appshark is a static taint analysis platform to scan vulnerabilities in an Android app.

Document Index 1.overview 2.startup 3.how to write rules 4.how to find compliance problems use appshark 5.a path traversal game 6.argument 7.engine co

Bytedance Inc. 998 Jan 7, 2023
A simple library that can help you detect if you app is modded or tampered with

Android Tamper Detector A simple library that can help you detect if you app is modded or tampered with. This adds a security level that makes it diff

Mukesh Solanki 130 Nov 14, 2022
This app should provide a common interface to fetch the estimated time of arrival for parcels

ETA-App This app should provide a common interface to fetch the estimated time of arrival for parcels. It will integrate with several backend systems

bring 0 Dec 14, 2021
Keepass2Android is a password manager app.

Keepass2Android What is Keepass2Android? Keepass2Android is a password manager app. It allows to store and retrieve passwords and other sensitive info

null 3.5k Jan 7, 2023
BlackDex is an Android unpack tool, it supports Android 5.0~12 and need not rely to any environment. BlackDex can run on any Android mobile phones or emulators, you can unpack APK File in several seconds.

BlackDex is an Android unpack tool, it supports Android 5.0~12 and need not rely to any environment. BlackDex can run on any Android mobile phones or emulators, you can unpack APK File in several seconds.

null 4.3k Jan 2, 2023