[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-settings":3,"blogpost-what-is-mobile-app-security":72},{"footer":4,"contact_form":6,"chat_widget":11,"accolades":19,"seo_social":63},{"iso_notice":5},"Wolfpack Digital is an ISO 9001:2015, ISO 27001:2013 and ISO 14001:2015 certified company - © _YEAR_ Wolfpack Digital. All rights reserved.",{"budgets":7},[8,9,10],"Under $50.000","Between $50.000 - 200.000","Over $200.000",{"consent":12},{"greeting":13,"title":14,"body":15,"accept_label":16,"decline_label":17,"declined_message":18},"Awoo! I'm Wolfpack Digital's AI assistant. Ask me anything about our services, process, or team, and if you want a project estimate, I can point you to our AI Estimator.","Data Privacy","\u003Cp>Hi there! We would love to talk with you. Under the EU General Data Protection Regulation, we need your approval for our use of personal information (e.g. your name and email address) you may provide as we communicate:\u003C\u002Fp>\n\u003Col>\n  \u003Cli>We'll store your personal information so that we can pick up the conversation if we talk later.\u003C\u002Fli>\n  \u003Cli>We may send you emails to follow up on our discussion here.\u003C\u002Fli>\n  \u003Cli>We may send you emails about our upcoming services and promotions.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Is this okay with you?\u003C\u002Fp>","Yes, I Accept","No, Not Now","No problem. Come back if you change your mind.",{"winnersOfList":20,"awardsList":29,"inHouseAppImages":46,"certificationsList":50},[21,25],{"alt":22,"href":23,"image":24},"European Awards","https:\u002F\u002Fwww.theeuropeanawards.eu\u002Fpremiado\u002Fwolfpack-digital-awarded-in-the-app-development-category","\u002Fimages\u002Fabout-us\u002Fwinners\u002Feuropean.svg",{"alt":26,"href":27,"image":28},"Webby Awards","https:\u002F\u002Fwinners.webbyawards.com\u002F2024\u002Fwebsites-and-mobile-sites\u002Fresponsible-technology\u002Fresponsible-ai\u002F275408\u002Fequality-ai-fair-and-unbiased-algorithms-to-eliminate-discrimination-in-machine-learning-models","\u002Fimages\u002Fabout-us\u002Fwinners\u002Fwebby.svg",[30,34,38,42],{"alt":31,"href":32,"image":33},"Clutch 1000 List Reveals Top-Rated Business Service Providers of 2023","https:\u002F\u002Fclutch.co\u002Fpress-releases\u002Fclutch-1000-fall-2023","\u002Fimages\u002Fabout-us\u002Fawards\u002Fclutch.svg",{"alt":35,"href":36,"image":37},"Clutch Recognizes the 1000 Best B2B Service Providers in its Exclusive 2019 Clutch 1000 List","https:\u002F\u002Fclutch.co\u002Fpress-releases\u002Frecognizes-1000-best-b2b-service-providers-its-exclusive-2019-1000-list","\u002Fimages\u002Fabout-us\u002Fawards\u002Fglobal.svg",{"alt":39,"href":40,"image":41},"Mobile App Daily Award","","\u002Fimages\u002Fabout-us\u002Fawards\u002Fmobile-app-daily.svg",{"alt":43,"href":44,"image":45},"Manifest Award","https:\u002F\u002Fthemanifest.com\u002Fro\u002Fweb-development\u002Fcompanies","\u002Fimages\u002Fabout-us\u002Fawards\u002Fmanifest.svg",[47],{"alt":48,"href":40,"image":49},"Wolfpack Labs","\u002Fimages\u002Fhomepage\u002Fawards\u002Flabs.svg",[51,55,59],{"alt":52,"href":53,"image":54},"ISO 27001 Certification","https:\u002F\u002Fwww.qscert.com\u002Fcs\u002Fissued-certificates\u002F?certID=_7690LD367","\u002Fimages\u002Fabout-us\u002Fcertifications\u002Fiso-27001.svg",{"alt":56,"href":57,"image":58},"ISO 9001 Certification","https:\u002F\u002Fwww.qscert.com\u002Fcs\u002Fissued-certificates\u002F?certID=_7690LBDB0","\u002Fimages\u002Fabout-us\u002Fcertifications\u002Fiso-9001.svg",{"alt":60,"href":61,"image":62},"ISO 14001 Certification","https:\u002F\u002Fwww.qscert.com\u002Fma\u002Fissued-certificates\u002F?certID=_7690LZSGS","\u002Fimages\u002Fabout-us\u002Fcertifications\u002Fiso-14001.svg",{"default_og_image_urls":64,"default_og_image_alt":68,"og_site_name":68,"og_locale":69,"twitter_site":70,"page_type_defaults":71},[65],{"url":66,"style":67},"\u002Fimages\u002Fsocial_share_preview.jpg","og","Wolfpack Digital","en_US","@DigitalWolfpack",{},["Reactive",73],{"title":74,"body":75,"slug":76,"featured_image_urls":77,"meta_tags":102,"reading_time":110,"title_size":111,"tag_list":112,"formatted_published_at":117,"short_description":103,"categories":118,"alt_text":120,"published_at":121,"content_updated_at":120,"formatted_content_updated_at":120,"key_takeaways":122,"faqs":123,"updated_at":124,"canonical_override":120,"no_index":125,"canonical_url":126,"publishers":127},"How to secure your mobile apps (with code samples)","\u003Cp>\u003Cmeta charset=\"utf-8\">\u003C\u002Fp>\r\n\r\n\u003Ch1>What is Mobile App Security and Why is it important? A guide on How to secure your mobile apps\u003C\u002Fh1>\r\n\r\n\u003Cp> \u003C\u002Fp>\r\n\r\n\u003Cp>Mobile app security represents the entire process, measures, and actions taken during the app development process and after it in order to ensure system security, data protection, and privacy, and block any form of digital fraud, malware, hacking, or data manipulation\u003Cbr>\r\n\u003Cbr>\r\nMobile apps are at our fingertips nowadays and no matter why and how we use them - be it for work, social purposes, personal finance, or just for entertainment, apps are part of our day-to-day activities. Hence, having a secured mobile app is critical so the customers are not at risk with their data. \u003C\u002Fp>\r\n\r\n\u003Cp>We asked Dan Ilieș, our Head of Mobile Development at Wolfpack Digital if he has any suggestions on how to ensure your mobile app is secure, no matter if we talk about an Android app or an iOS app, and to provide us with a few tips and tricks.\u003C\u002Fp>\r\n\r\n\u003Ch2>\u003Cstrong>How to secure Mobile Apps. General Security Best Practices\u003C\u002Fstrong>\u003C\u002Fh2>\r\n\r\n\u003Cul>\r\n\t\u003Cli>\u003Cstrong>Obfuscate and minify your code so it cannot be reverse-engineered.\u003C\u002Fstrong>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>When we think about obfuscation we consider the process of modifying the code in order to make it impossible to read. And minification allows the developer to reduce the sample code by around 50-60% in size and it is used for both speed optimization and security.\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>\u003Cstrong>Encrypt all sensitive data\u003C\u002Fstrong>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>Make sure you store very sensitive information like credentials and certificates in the \u003Cstrong>Keychain (iOS)\u003C\u002Fstrong> or \u003Cstrong>Keystore (Android).\u003C\u002Fstrong>\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>\u003Cstrong>Communicate with APIs only over HTTPS\u003C\u002Fstrong>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>similar to web applications’ security, the mobile apps’ APIs should only go through an encrypted connection.\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>\n\u003Cstrong>Use tokens instead of device identifiers to identify a session.\u003C\u002Fstrong> \u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>A token can be revoked at any time because a token-based auth will create a unique encoded token to be checked every time a request is made, without storing the data and it has a set lifetime value and can be changed or revoked whenever needed.\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>Make sure the WebView objects in your app will not allow users to navigate to sites that are outside of your control.\u003C\u002Fli>\r\n\t\u003Cli>Use \u003Cstrong>secured code libraries\u003C\u002Fstrong>  and be \u003Cstrong>extra cautious\u003C\u002Fstrong> before using them - e.g., review their code on GitHub before using them\u003C\u002Fli>\r\n\t\u003Cli>\u003Cstrong>Enforce strong passwords and multi-factor authentication. Needless to say, the more complicated the password is and the more factors it has, the harder it is to break it. As developers, requiring a user to create strong passwords and use 2FA or something similar is not hard and you keep everyone’s data secured.\u003C\u002Fstrong>\u003C\u002Fli>\r\n\t\u003Cli>\u003Cstrong>Follow \"The Principle of Least Privilege\": an app should only require the permissions that are absolutely needed and no more.\u003C\u002Fstrong>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Ch2>\u003Cstrong>3 best practices to keep your iOS app secured (with code samples)\u003C\u002Fstrong>\u003C\u002Fh2>\r\n\r\n\u003Cp>\u003Cstrong>1. How to avoid Screen recording and capturing on iOS apps \u003C\u002Fstrong>\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>can be avoided by observing: userDidTakeScreenshotNotification o detect screenshots\u003C\u002Fli>\r\n\t\u003Cli>can also use UIScreen.isCaptured() to detect to detect screen recording\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>\u003Cstrong>2. When a new file is to be saved, a developer can choose from multiple protection options. \u003C\u002Fstrong>\u003C\u002Fp>\r\n\r\n\u003Cp>And we highly recommend you to use \u003Cstrong>NSFileProtectionComplete \u003C\u002Fstrong>or \u003Cstrong>NSFileProtectionCompleteUnlessOpen.\u003C\u002Fstrong>\u003Cbr>\r\n\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F256\u002Fcontent_how_to_secure_iOS_apps_-_code_sample_1.png\" style=\"width: 600px; height: 256px\">\u003C\u002Fp>\r\n\r\n\u003Cul>\r\n\t\u003Cli>\u003Cstrong>Encrypting an existing file on disk\u003C\u002Fstrong>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F257\u002Fcontent_how_to_secure_iOS_apps_-_Encrypting_an_existing_file_on_disk_code_sample.png\" style=\"width: 600px; height: 374px\">\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cstrong>3. Debug Logs Enabling\u003C\u002Fstrong>\u003C\u002Fp>\r\n\r\n\u003Cp>Unnecessary Debug Logs through the app might print sensitive information and method completion. This is riskier at release builds.\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cstrong>The fix\u003C\u002Fstrong> for this would be to use #ifDef DEBUG to enable logs only on debug builds. \u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F258\u002Fcontent_how_to_secure_ios_apps_-_debug._logspng.png\" style=\"width: 500px; height: 358px\">\u003C\u002Fstrong>\u003C\u002Fspan>\u003Ccode> \u003C\u002Fcode>\u003C\u002Fp>\r\n\r\n\u003Ch2>\u003Cstrong>3 best practices to keep your Android app secured (with code samples) \u003C\u002Fstrong>\u003C\u002Fh2>\r\n\r\n\u003Col>\r\n\t\u003Cli>Here’s how to \u003Cstrong>share your app's content with other apps\u003C\u002Fstrong> securely\u003C\u002Fli>\r\n\u003C\u002Fol>\r\n\r\n\u003Cul>\r\n\t\u003Cli>Enforce read-only or write-only permissions (as needed, of course)\u003C\u002Fli>\r\n\t\u003Cli>Provide clients’ one-time access to data by using the FLAG_GRANT_READ_URI_PERMISSION and FLAG_GRANT_WRITE_URI_PERMISSION flags.\u003C\u002Fli>\r\n\t\u003Cli>When sharing data, use \"content:\u002F\u002F\" URIs, not \"file:\u002F\u002F\" URIs. Instances of FileProvider do this for you.\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F259\u002Fcontent_how_to_secure_android_apps_-_content_code_sample.png\" style=\"width: 600px; height: 286px\">\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Col>\r\n\t\u003Cli>\n\u003Cstrong>disallow other developers' apps from accessing the ContentProvider objects. \u003C\u002Fstrong>Unless you intend to send data from your app to a different app that you don't own, you should explicitly disallow other devs’ access to your app content.\u003C\u002Fli>\r\n\u003C\u002Fol>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F260\u002Fcontent_how_to_secure_Android_apps_-_disallow_access.png\" style=\"width: 600px; height: 276px\">\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Ccode>      \u003C\u002Fcode>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cstrong>3) Add a network security configuration.\u003C\u002Fstrong> This allows you to change the configuration without modifying any app code.\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cspan style=\"color:#fa357b\">\u003Cstrong>&lt;code example&gt;\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Cimg alt=\"\" src=\"https:\u002F\u002Fs3-eu-west-2.amazonaws.com\u002Fwolfpack-digital-attachments-production\u002Fckeditor_assets\u002Fpictures\u002F261\u002Fcontent_how_to_secure_Android_Apps_-_network_security.png\" style=\"width: 600px; height: 304px\">\u003Ccode> \u003C\u002Fcode>\u003C\u002Fp>\r\n","what-is-mobile-app-security",[78,81,84,87,90,93,96,99],{"style":79,"url":80},"640","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F640\u002Fimage_processing20220615-4-135w3x5.webp",{"style":82,"url":83},"768","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F768\u002Fimage_processing20220615-4-135w3x5.webp",{"style":85,"url":86},"1024","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F1024\u002Fimage_processing20220615-4-135w3x5.webp",{"style":88,"url":89},"1366","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F1366\u002Fimage_processing20220615-4-135w3x5.webp",{"style":91,"url":92},"1600","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F1600\u002Fimage_processing20220615-4-135w3x5.webp",{"style":94,"url":95},"1920","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002F1920\u002Fimage_processing20220615-4-135w3x5.webp",{"style":97,"url":98},"thumb","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002Fthumb\u002Fimage_processing20220615-4-135w3x5.webp",{"style":100,"url":101},"original","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fblogpost\u002F83\u002Ffeatured_image\u002Foriginal\u002Fimage_processing20220615-4-135w3x5.webp",{"title":74,"description":103,"keywords":104,"contact_form:title":105,"contact_form:cta":106,"og:site_name":68,"og:type":107,"og:locale":69,"twitter:card":108,"twitter:site":70,"twitter:creator":70,"og:title":109,"twitter:title":109},"What is Mobile App Security and Why is it important? A guide on How to secure your mobile apps and the best practice to keep your iOS and Android apps secure (with code samples). ","What is Mobile App Security, Why is mobile app security important, guide to secure mobile apps, best practice for iOS app security, best practice for Android app security, secure app development, wolfpack digital app development, mobile app development agency, secure mobile app development, Android app, Android app security","contact us","send message","article","summary_large_image","What is Mobile App Security and Why is it important? A guide on How to secure your mobile apps.","5 min",32,[113,114,115,116],"App-Security","code-samples","ios","android","Nov 9, 2020",[119],"mobile-development",null,"2020-11-09T12:37:50.000Z",[],[],"2022-06-16T09:01:18.077Z",false,"https:\u002F\u002Fwd-fe-stage.herokuapp.com\u002Fblogposts\u002Fwhat-is-mobile-app-security",[128],{"id":129,"author":130,"short_description":131,"role":132,"avatar_urls":133,"cover_urls":120,"linkedin_link":120,"instagram_link":120,"x_link":120,"meta_tags":141,"last_published_at":143,"same_as":144},7,"Corina ","Coffee fueled Marketing Strategist for tech products","Chief Marketing Officer",[134,136,139],{"style":97,"url":135},"https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fpublisher\u002F7\u002Favatar\u002Fthumb\u002Fcorina_stirbu-CMO-wolfpack-digital.webp",{"style":137,"url":138},"medium","https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fpublisher\u002F7\u002Favatar\u002Fmedium\u002Fcorina_stirbu-CMO-wolfpack-digital.webp",{"style":100,"url":140},"https:\u002F\u002Fwolfpack-digital-attachments-staging.s3.eu-west-2.amazonaws.com\u002Fstore\u002Fpublisher\u002F7\u002Favatar\u002Foriginal\u002Fcorina_stirbu-CMO-wolfpack-digital.webp",{"title":40,"description":40,"keywords":40,"contact_form:title":105,"contact_form:cta":106,"og:site_name":68,"og:type":142,"og:locale":69,"twitter:card":108,"twitter:site":70,"twitter:creator":70},"website","2021-11-23T06:45:59.000Z",[]]