<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Severina Paneva - SashiDo.io | API Development, Deployment and Scaling made simple.]]></title><description><![CDATA[SashiDo.io is a serverless API development platform with scalable json rest and graphql apis, headless cms, built with nodejs, mongodb, parse server, kubernetes and docker.]]></description><link>https://blog.sashido.io/</link><image><url>https://blog.sashido.io/favicon.png</url><title>Severina Paneva - SashiDo.io | API Development, Deployment and Scaling made simple.</title><link>https://blog.sashido.io/</link></image><generator>Ghost 1.20</generator><lastBuildDate>Fri, 22 May 2026 23:59:50 GMT</lastBuildDate><atom:link href="https://blog.sashido.io/author/severina/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Getting Started with the API Console]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Have you ever wondered how to debug or play with your cloud code in a comfortable and fast way … without any coding? Because I think it can be a huge pain.</p>
<p>Most probably you already know that Parse Server works very well with the REST API. If you feel the</p></div>]]></description><link>https://blog.sashido.io/introducing-the-api-console/</link><guid isPermaLink="false">5b51d274bc278c0015f80275</guid><category><![CDATA[Tutorial]]></category><category><![CDATA[API]]></category><category><![CDATA[Cloud Code]]></category><category><![CDATA[API Console]]></category><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Severina Paneva]]></dc:creator><pubDate>Tue, 31 Jul 2018 12:00:00 GMT</pubDate><media:content url="https://media-blog.sashido.io/content/images/2018/07/API-cover.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://media-blog.sashido.io/content/images/2018/07/API-cover.png" alt="Getting Started with the API Console"><p>Have you ever wondered how to debug or play with your cloud code in a comfortable and fast way … without any coding? Because I think it can be a huge pain.</p>
<p>Most probably you already know that Parse Server works very well with the REST API. If you feel the need to interact with the REST easily, you have come to the right place. Let me introduce you to the SashiDo’s API Console, part of our Dashboard. In brief think of the API Console as a simpler version of <a href="https://www.getpostman.com/">Postman</a> and so easy to use that you will feel like a magician.</p>
<p>Now I will shed some light on how to use our API Console and shed some more light on:</p>
<ol>
<li><a href="#whatisanapi">What is an API</a></li>
<li><a href="#whatisarestapi">What is a REST API</a></li>
<li><a href="#theapiconsoleinsashidosdashboard">How to use the API Console in SashiDo’s Dashboard</a></li>
<li><a href="#requesttypes">Request types</a>
<ul>
<li><a href="#getrequests">GET requests</a></li>
<li><a href="#postrequests">POST requests</a></li>
<li><a href="#putrequests">PUT requests</a></li>
<li><a href="#deleterequests">DELETE requests</a></li>
</ul>
</li>
<li><a href="#testyouraclsandclpsbyrunningrequestsasaspecificuserofyourapp">How to test ACLs and run requests as a specific user</a></li>
<li><a href="#callyourcloudcodefunctions">How to call your Cloud Code functions</a></li>
<li><a href="#exportcallstocurl">How to export the API Console calls to cURL and test them in the Terminal</a></li>
<li><a href="#usefullinks">Useful links</a></li>
<li><a href="#fin">Fin</a></li>
</ol>
<h2 id="whatisanapi">What is an API</h2>
<p>The ability to link with other programs and devices is an amazing thing. We are all connected to the world and each other like never before. But how does data come from one point to another - from here to there. How does different applications and devices connect with each other to allow us to do different jobs with just a few clicks?<br>
The little-known warrior of our connected world is the Аpplication Programming Interface or <a href="https://medium.freecodecamp.org/what-is-an-api-in-english-please-b880a3214a82">API</a>.<br>
It is the engine behind the scenes that we take for granted but it is what makes possible all the interactivity we have come to expect and rely upon. In our context the API is a set of functions that allow the creation of applications which access the features or data of other applications or services.</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/api--1-.png" alt="Getting Started with the API Console"></p>
<h2 id="whatisarestapi">What is a REST API</h2>
<p>One of the most popular types of APIs is REST or, as they’re sometimes known, RESTful APIs. REST or RESTful APIs were designed to take advantage of existing protocols. While REST - or Representational State Transfer - can be used over nearly any protocol, when used for web APIs it typically takes advantage of the HTTP protocol.</p>
<p>Parse Server uses the REST API so basically you can interact with the Parse Server from anything that can send an HTTP request. There are many things you can do with the Parse REST API. For example:</p>
<ul>
<li>A mobile website can access Parse Server data from JavaScript.</li>
<li>A web server can show data from Parse Server on a website.</li>
<li>You can upload large amounts of data that will later be consumed in a mobile app.</li>
<li>You can download recent data to run your own custom analytics.</li>
</ul>
<p>In depth knowledge of how to work with the Parse REST API is available on the official <a href="https://docs.parseplatform.org/rest/guide/">Parse Server REST API Guide</a>.</p>
<p>Now, after you have an understanding of how the Parse Server communicates with the outside world you might want to try some actual requests, be it to get a hands on experience, do a quick proof of concept, or just quickly test something out. You have a few options on how to do it - write client-side code, use a REST client, or simple cURL commands. But that can be a laborious process which takes away valuable time that you could be putting toward designing great experiences for your users. That’s why we made this part of your job easier by providing the <strong>API Console</strong>.</p>
<h2 id="theapiconsoleinsashidosdashboard">The API Console in SashiDo’s Dashboard</h2>
<p>The API Console provides a graphical UI for exploring your Parse Server API's resources and interacting with it. It has a beautiful interface and is pretty easy to use. You can compose requests, inspect server response, generate client cloud code calls and export cURLs painlessly</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/APIConsole.jpg" alt="Getting Started with the API Console"></p>
<p>You will find SashiDo’s API Console when you enter the <strong>Dashboard</strong>, choose the <strong>app</strong> you want to work on, navigate to <strong>Core</strong> and then you will see the <strong>API Console</strong>.</p>
<p>Here are a few things you can do with the API Console:</p>
<ul>
<li>Create, read, update, and delete objects</li>
<li>Run requests as a specific user of your app (to test your ACLs and CLPs)</li>
<li>Call your Cloud Code functions and start background jobs</li>
<li>Export the calls to cURL to test them in your Terminal or Shell</li>
</ul>
<p>So, let's go directly to our API Console and have a look there. You can try out some queries and take a look at what the server returns.</p>
<p>When you open the API Console you will find a toggle on the upper right corner, - that is where you can choose whether or not to use the <strong>Master Key</strong> when you perform sensitive API calls. Talking about sensitive API calls you will find some additional info about the use of <strong>Master Key</strong> in the <a href="https://docs.parseplatform.org/rest/guide/#security">Parse official REST API guide</a> in the Security section.<br>
<img src="https://media-blog.sashido.io/content/images/2018/07/Masterkey.jpg" alt="Getting Started with the API Console"></p>
<p>Using the Master Key will give you access to data ignoring all the ACLs and CLPs. If this isn't a requirement for your use case, you can switch off the Use Master Key toggle</p>
<h2 id="requesttypes">Request types</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/ezgif.com-gif-maker--4-.gif" alt="Getting Started with the API Console"></p>
<p>Have you ever asked yourself what is the difference between <strong>GET</strong> and <strong>POST</strong> requests, or when to use the <strong>PUT</strong> request? Having a basic information of how to execute HTTP methods with an API Console is a useful knowledge while exploring and trying out APIs. Let’s look through the different request types.</p>
<h3 id="getrequests"><code>GET</code> requests</h3>
<p><strong>GET</strong> requests are the most widely used methods in APIs. You can use the <strong>GET</strong> method to <strong>retrieve data from a server at the specified resource</strong>. For example, say you have an API with a <strong>classes/Users</strong> endpoint. Making a <strong>GET</strong> request to that endpoint should return a list of all available users.</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/get-2507-edited.gif" alt="Getting Started with the API Console"></p>
<p>Having in mind that a <strong>GET</strong> request is simplest, inquiring for statistics and no longer modifying any assets, it is considered a <a href="http://restcookbook.com/HTTP%20Methods/idempotency/">safe and idempotent method</a>.</p>
<p>Whilst you're developing tests for an API, the <strong>GET</strong> method will likely be the most common type of request made, so it's essential to test every acknowledged endpoint with a <strong>GET</strong> request.</p>
<h2 id="postrequests"><code>POST</code> requests</h2>
<p><strong>POST</strong> requests are used to send data to the server’s API to create а resource. The data sent to the server is stored inside the request body of the HTTP request.<br>
The simplest example is a “hello message” on a website. When you fill out the inputs in a form and hit <strong>Send</strong>, that data is put in the <strong>response body</strong> of the request and sent to the server.</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/Post-25072018-edited-1.gif" alt="Getting Started with the API Console"></p>
<p>It's worth noting that a <strong>POST</strong> request is <strong>non-idempotent</strong>. It mutates data on the backend server (by creating or updating a resource), as opposed to a <strong>GET</strong> request which does not change any data. Here is a great explanation of <a href="https://www.infoq.com/news/2013/04/idempotent">idempotency</a>.</p>
<p>Here are some tips for testing <strong>POST</strong> requests:</p>
<ul>
<li>Create a resource with a <strong>POST</strong> request and ensure a 200 status code is returned.</li>
<li>Next, make a <strong>GET</strong> request for that resource, and ensure the data was saved correctly.</li>
<li>Add tests that ensure <strong>POST</strong> requests fail with incorrect or ill-formatted data.</li>
</ul>
<h2 id="putrequests"><code>PUT</code> requests</h2>
<p>Just like <strong>POST</strong>, the <strong>PUT</strong> requests are used to send data to the API to update a resource. The difference is that PUT requests are idempotent. That is, calling the same <strong>PUT</strong> request multiple times will usually produce the identical result. In comparison, calling a <strong>POST</strong> request many times can have side effects of creating the same resource more than one time.</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/put-25072018-edited.gif" alt="Getting Started with the API Console"></p>
<p>Testing an APIs <strong>PUT</strong> request is very much like testing <strong>POST</strong> requests. But now that we recognise the difference between the two, we are able to create API tests to affirm this behaviour.</p>
<p>Check for the following things when you test the <strong>PUT</strong> requests:</p>
<ul>
<li>Repeatedly calling the <strong>PUT</strong> request always returns the same result.</li>
<li>After updating a useful resource with a <strong>PUT</strong> request, a <strong>GET</strong> request for that useful resource should retrieve the new data.</li>
<li><strong>PUT</strong> requests will fail if invalid data is sent in the request body, hence the specified resource will not be updated.</li>
</ul>
<h2 id="deleterequests"><code>DELETE</code> requests</h2>
<p>The <strong>DELETE</strong> method is precisely as it sounds: delete the resource of the desired URL. This method is one of the most frequent in RESTful APIs so it is top priority to recognize the way it works.</p>
<p>If a brand new user is created with a <strong>POST</strong> request at the <strong>classes/User</strong> endpoint, and it can be retrieved with a <strong>GET</strong> request to <strong>classes/Users/UserID</strong>, then creating a <strong>DELETE</strong> request to <strong>classes/Users/UserID</strong> will completely remove that user.</p>
<p><strong>DELETE</strong> requests must be heavily tested on the grounds that they normally dispose of information from a database. Be careful when testing <strong>DELETE</strong> methods. Ensure you are using the precise credentials and no longer checking out with actual user records.</p>
<p>In a normal test case, a <strong>DELETE</strong> request should look like this:</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/delete-26072018-edited.gif" alt="Getting Started with the API Console"></p>
<ul>
<li>Create a brand new user with a <strong>POSТ</strong> request to <strong>classes/_Users</strong></li>
<li>After the <strong>POST</strong> request was successful, make a <strong>DELETE</strong> request to the endpoint <strong>classes/Users/UserID</strong></li>
<li>Next, a <strong>GET</strong> request to <strong>classes/Users/UserID</strong> will return a <strong>101 status code</strong>, with an error <strong>Object not found</strong>, in the Results, if the <strong>DELETE</strong> request was successful.</li>
</ul>
<h2 id="testyouraclsandclpsbyrunningrequestsasaspecificuserofyourapp">Test your ACLs and CLPs by running requests as a specific user of your app</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/Run-as-...user-edited.gif" alt="Getting Started with the API Console"></p>
<p>You can call a function as a specific user and check if the user has access to the resources you are calling. This is a very easy and simple way to verify if you have correctly implemented the ACLs and CLPs for a certain user of yours. Just enter the username or user ID in the <strong>Run as..</strong> field and perform the command you want to receive results for.</p>
<h2 id="callyourcloudcodefunctions">Call your Cloud Code functions</h2>
<p>Calling your <a href="https://docs.parseplatform.org/cloudcode/guide/">Cloud Code</a> functions has never been so effortless as it is with our API Console. By default there is a simple cloud code function sample in the <strong>functions.js</strong> file in your Cloud Code and in your <a href="https://github.com/parsegroundapps/pg-app-tynwrjdecdmr69ke5d8fec6ixljzx5/blob/master/cloud/functions.js#L5">Github Repo</a> in the cloud folder so we can use it and show you how you can call a function through the API Console.</p>
<p><img src="https://media-blog.sashido.io/content/images/2019/03/apiConsole.gif" alt="Getting Started with the API Console"></p>
<p>You will simply need to go to the API Console, choose the type of request, which will be <strong>POST</strong>, and choose the endpoint. Select the <strong>POST</strong> request and the endpoint <strong>functions/hello</strong>, click on the <strong>Send query</strong> button and see if the Dashboard shows you “<em>Hello from SashiDo’s simple cloud code</em>” message.</p>
<h2 id="exportcallstocurl">Export calls to <code>cURL</code></h2>
<p><a href="https://www.rosehosting.com/blog/curl-command-examples/">cURL</a> is the most used command line tool for making API calls. It is great for complex operations since it is scriptable and versatile. It combines the command, the credentials, <strong>like application ID</strong>, <strong>REST API key</strong>, your desired <strong>API endpoint</strong>, <strong>query parameters</strong> and more in a single command.</p>
<p><img src="https://media-blog.sashido.io/content/images/2018/07/exporting-cURL-26072018-edited.gif" alt="Getting Started with the API Console"></p>
<p>There is a very easy way to create cURL commands. You can construct a request in our API Console and convert it to cURL using the <strong>Export to cURL</strong> button. It is that easy. I am sure this will save a lot of your time if you have to write it on your own. For example, if you experience an error with your Cloud Code and you are contacting our Help Desk it is a good idea to run the same request or query through the API Console, export it to cURL and then include it in the steps to reproduce. Our Dev and Engineering team will be happy to resolve your issue in a faster and more adequate manner.</p>
<h2 id="usefullinks">Useful links:</h2>
<p><a href="https://medium.freecodecamp.org/what-is-an-api-in-english-please-b880a3214a82">What is an API? In English, please.</a><br>
<a href="https://searchmicroservices.techtarget.com/definition/RESTful-API">RESTful API definition</a><br>
<a href="https://curl.haxx.se/">Command line tool and library for transferring data with URLs</a><br>
<a href="https://stackoverflow.com/questions/18072123/how-to-protect-rest-api-key-for-parse-in-html-application">How to protect Rest API key for Parse in html application</a><br>
<a href="https://assertible.com/blog/7-http-methods-every-web-developer-should-know-and-how-to-test-them">7 HTTP methods every web developer should know and how to test them</a></p>
<p>For easing you even more we have also made a video about the API Console.</p>
<iframe width="854" height="480" src="https://www.youtube.com/embed/Aq4CAegumNs" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<h2 id="fin">Fin</h2>
<p>There you go! Now you have some ideas on how you can play around with the API Console or debug issues without writing a single line of code. Now it is your turn to explore it and enjoy the easiness of coding!</p>
</div>]]></content:encoded></item><item><title><![CDATA[How to make your Mobile Application GDPR-Ready]]></title><description><![CDATA[<div class="kg-card-markdown"><p>At SashiDo we certainly care about our customers and we strive to be up-to-date on the horizon of the novelties coming up.  We’re all working on GDPR these days and we want to help people understand what it is.</p>
<h2 id="whatdoesgdprmean">What does GDPR mean?</h2>
<p>In February we announced that <a href="https://blog.sashido.io/gdpr-is-coming-and-sashido-io-is-getting-ready/">GDPR</a></p></div>]]></description><link>https://blog.sashido.io/how-to-make-your-mobile-application-gdpr-ready/</link><guid isPermaLink="false">5afc3308c799700016ef1e75</guid><category><![CDATA[GDPR]]></category><dc:creator><![CDATA[Severina Paneva]]></dc:creator><pubDate>Fri, 18 May 2018 14:30:00 GMT</pubDate><media:content url="https://media-blog.sashido.io/content/images/2018/05/cover-1.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://media-blog.sashido.io/content/images/2018/05/cover-1.png" alt="How to make your Mobile Application GDPR-Ready"><p>At SashiDo we certainly care about our customers and we strive to be up-to-date on the horizon of the novelties coming up.  We’re all working on GDPR these days and we want to help people understand what it is.</p>
<h2 id="whatdoesgdprmean">What does GDPR mean?</h2>
<p>In February we announced that <a href="https://blog.sashido.io/gdpr-is-coming-and-sashido-io-is-getting-ready/">GDPR is coming and SashiDo.io is getting ready</a> and now we will be more specific on how to make sure your mobile app is prepared for the upcoming changes in the European Union region.</p>
<p>As the economy becomes increasingly digitized many companies hold sensitive personal data information. They also pick information about various sources to study customers’ behavior. A data is associated with significant risk if it is stolen and abused. Therefore GDPR, General Data Protection Regulation, was introduced to specify how a customer data should be used and protected. GDPR was officially adopted by the EU Parliament in April 2016 following a 2-year adoption process. It will become in force in May 2018 and is applicable to everyone involved in processing data about citizens of the EU, regardless of whether the organization is located within the EU or not.</p>
<p>Nowadays, the digitization of everything around it is growing bigger and bigger and thus our private data is more exposed and available than ever before. A revolution is coming and it is related to the protection of the personal data over the Internet.<br>
Тo supply European nationals with greater security assurance and to guarantee organizations display more noteworthy responsibility, a landmass wide personal data insurance upset was of the substance.</p>
<p>Hence, this May, Europe's information security guidelines will experience a remarkable redesign. The existing Data Protection Act will be followed by the <a href="https://edps.europa.eu/">General Data Protection Regulation</a>, a framework that will change how organizations and open part associations handle client personal information - with altogether more prominent fines for the individuals who neglect to keep the new regulations.</p>
<p>The GDPR is intended to bring together information security for all people inside the EU under one umbrella and in addition control the fare of the personal data outside of Europe. It intends to restore the control over personal data to European citizens and inhabitants and to fix the administrative condition in which global business is led. As indicated by the EU's <a href="https://www.eugdpr.org/">GDPR website</a>, the new regulation will blend information security laws thought Europe, giving people more security and rights.</p>
<p>With this new direction, people will have the privilege to get to their private data held by organizations and businesses. Companies will be obliged to get clear assent from the people they gather data about in addition to conducting better information administration.</p>
<p>Once accomplished, the new control will tie for all organizations holding personal data of people living in the European Union, with no attention being paid to the area where the organization is located. This, of course, remains true for mobile apps too.</p>
<p>Organizations should demonstrate they have rolled out the vital improvements to secure client information or they should confront robust fines for non-compliance - 20M Euros or 4% of their annual profit. Moreover, mobile apps that are non-compliant risk being restricted from the app stores.</p>
<p>We have already started to get ready for the GDPR. We have directed careful research into the new control to pick up an extensive comprehension of the suggestions for mobile apps and SDKs.</p>
<p>We want to spare your time of doing the same by sharing what we have come up to until this point. We will, of course, give updates if there are any changes to our guide as we come closer to May 2018.</p>
<p>It is important to mention some key definitions and their meaning. In this article, we use the words <a href="https://www.gdpreu.org/the-regulation/key-concepts/data-controllers-and-processors/">controller and processor</a> quite a lot. What is their meaning? A controller is an entity that determines the purposes, conditions, and means of the processing of personal data, while the processor is an entity which processes personal data on behalf of the controller. For example SashiDo processes both our client’s and their end users data under the highest standards and guarantees for safety and security. Controllers by this means are the mobile app developers that use our platform when creating their functional and beautiful apps.</p>
<h2 id="hereisaguideforpreparingyourmobileappsforgdpr">Here is a guide for preparing your mobile apps for GDPR:</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/05/gdpr-graphic.jpg" alt="How to make your Mobile Application GDPR-Ready"></p>
<h2 id="mainrequirements">Main requirements</h2>
<p>There are some key requirements that you need to focus on:</p>
<h4 id="therighttobeforgotten">The right to be forgotten</h4>
<p>Under the GDPR, (<a href="http://www.privacy-regulation.eu/en/article-17-right-to-erasure-'right-to-be-forgotten'-GDPR.htm">Article 17</a>) EU citizens have the right to access and control their personal data. Basically, this means that people have the privilege to ask for their information controllers to erase all their personal data, and stop third parties from forwarding it.</p>
<h4 id="explicitagreement">Explicit Agreement</h4>
<p>As per the new control (<a href="http://www.privacy-regulation.eu/en/article-9-processing-of-special-categories-of-personal-data-GDPR.htm">Article 9</a>), organizations must demand and get agreement to gather, utilize and move personal data. This must be made, and given, in an definite, clear and simple frame, with no confusing legalese. People must have the capacity to pull back consent as simply as they can give it.</p>
<h4 id="notificationsfordatabreach">Notifications for data breach</h4>
<p>If an organization's database is ruptured, organizations must notify their clients and the authorities within 72 hours of understanding about the leak (<a href="http://www.privacy-regulation.eu/en/article-33-notification-of-a-personal-data-breach-to-the-supervisory-authority-GDPR.htm">Article 33</a>). Data processors should tell the data controllers of the rupture immediately. This is critical, as information breaks could bring about a hazard to the rights and freedoms of people.</p>
<p>A warning to the expert must be &quot;no less than&quot;: depict the idea of the personal data break, including the number and classes of information subjects and individual information records influenced; give the data protection officer’s contact information; describe the likely consequences of the personal data breach; and depict how the controller proposes to address the rupture, including any mitigation efforts. If not all data is accessible without a moment's delay, it might be given in stages.</p>
<p>What are the news with us related to the GDPR frame that is about to come soon.For your convenience, SashiDo will implement a new feature in our dashboard. We will add a section where you will be able to add your team members (DPOs) who will be responsible for the GDPR compliance for your company. In case something goes wrong, you will have a faster access to the contacts of the person responsible for notifying the authorities.</p>
<h4 id="privacybydesign">Privacy by design</h4>
<p>Thought this isn't another idea, under the GDPR, privacy by design will turn into a lawful prerequisite. This implies security and data protection will be required through the whole project lifecycle. According to <a href="https://www.privacy-regulation.eu/en/23.htm">Article 23</a> of the GDPR, data controllers must only hang on and process data that is totally fundamental for a project to be finished. In addition, data access ought to be restricted to just those employees responsible for the processing.</p>
<h4 id="dataprotectionofficers">Data protection officers</h4>
<p><img src="https://media-blog.sashido.io/content/images/2018/05/gdpr-dpo.jpg" alt="How to make your Mobile Application GDPR-Ready"><br>
Under the GDPR, internal record keeping necessities and the arrangement of data protection officers (<a href="https://gdpr-info.eu/art-37-gdpr/">DPO</a>s, workers in control with overseeing information protection) will be obligatory for large-scale tasks. DPOs will be employed for their master knowledge of data protection laws and practices. They will be provided with the assets for performing their roles and will report specifically to the highest level of management to ensure information security.<br>
DPOs must be employed in case of: public authorities, associations that take part in expansive scale orderly observing, or associations that take part in the vast scale preparing of touchy individual information. On the off chance that your association can’t be categorized as one of these classifications, at that point you don't have to select a DPO.</p>
<h2 id="mobileappschallengesandprivateuserdata">Mobile apps challenges and private user data</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/05/SDK-Integration.jpg" alt="How to make your Mobile Application GDPR-Ready"><br>
Most mobile applications combine parts - SDKs - so as to upgrade their applications with an assortment of capacities. This has turned into a standard in the mobile applications industry, with more than 18 SDKs coordinated in a normal mobile application. Yet, how about we do not overlook that these SDKs are in actuality secret elements of third-party code that app developers let into their application, a code that accompanies the work incapacity to get to private client data at last client gadget.</p>
<p>Recent reports say that mobile apps have at least one SDK trying to access client data like location, the list of installed apps on the users' device, contacts list, accounts, calendar, microphone and other. This data isn't protected by any consent that clients can give or deny, yet is somewhat up for snatches. The expectation is to check for installed apps so they can speak with each other at whatever point conceivable. However, it shows up reality has demonstrated that this data is taken for other reason, for example, offering the information for focused promoting. As of February 2018, Google will begin implementing stricter directions around private<br>
client data access and apps should just access data indispensable to their core functionality or give the client data about the information being taken.</p>
<p>Going back to SDKs, often they needn't bother with client data for their core functionality yet, all things considered, this makes some potential approach for mobile apps concerning GDPR requirements.</p>
<p>As an app developer you can make sure that the SDKs you work with don't accumulate and spare information in their own databases, or on the off chance that they do, they are set up to agree to the GDPR when the last rules are issued.</p>
<p>You can also ensure your SDKs are prepared to guarantee the wellbeing of your clients' information. Incorporate strict classification, information security and information residency statements as required in authoritative concurrences with your SDK suppliers.</p>
<p>Since we have a superior comprehension of the potential dangers mobile apps need to manage, how about we plunge into the particular GDPR tips for mobile apps.</p>
<h2 id="gdprforobilepps">GDPR for Мobile Аpps</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/05/PAPILON-digital-data-conversion.jpg" alt="How to make your Mobile Application GDPR-Ready"></p>
<h3 id="thegdprmeaningformobileapps">The GDPR meaning for Mobile apps</h3>
<p>GDPR characterizes &quot;personal  data” as the recording of any information that could distinguish a person. Identifiers can incorporate names, telephone numbers, and addresses, and also advanced data, for example, usernames, location. The sky's the limit from there. This control, in this way, influences all organizations somehow, and mobile apps are no special case.</p>
<p>App engineers and developers are totally and specifically in charge of their clients' information. In this manner, app owners must guarantee complete visibility and continuous control over the app use and action. They should first figure out how to get, store, exchange and utilize information, to enhance security. Upgrades to servers and new firewall setups may likewise be fundamental. Developers and distributors must monitor changes inside information, and also digital and physical access to it. This implies an entire history of changes must be archived. Any information that moves between the application and servers ought to be encoded and secured, notwithstanding the sufficient hashing of client passwords.<br>
How SashiDo can help you with this? Well we are save. We store our customers’ data in separate access-controlled databases for each app. If there are multiple apps thee is assigned a separate database per app. We believe this will mitigate the risk of  unauthorized access between applications.<br>
The access of the SashiDo’s staff to the operating systems is limited and requires username and key authentication.  Our operating systems do not allow password authentication to prevent password brute force attacks, theft, and sharing.</p>
<h3 id="usefulrulesformobileapplicationconsistency">Useful rules for mobile application consistency</h3>
<p>To guarantee that information processor can precisely conform to all directions, the accompanying measures must be executed in mobile application configuration, introduces and use.<br>
<img src="https://media-blog.sashido.io/content/images/2018/05/Screen-Shot-2018-01-16-at-19.30.19-1.png" alt="How to make your Mobile Application GDPR-Ready"></p>
<h3 id="determinewhethertheappreallyneedsallofthedata">Determine whether  the app really needs all of the data</h3>
<p>Just save, utilize and process the information that is totally essential for the application's prosperity, to restrict what can leak and to amplify the odds of getting client assent. This additionally alludes to information moderation.</p>
<h3 id="informtheclientandgetassent">Inform the client and get assent</h3>
<p>Clients should consent to a list of individual information that the mobile app needs to utilize, the time of amid which information is put away and the motivation behind the information use. Clients ought to be informed of any data sharing to third parties (SDKs). Correspondence must be clear and direct. Mobile apps must present clients with agreement forms prior to installation. The assent ought to be particular, communicated through a dynamic decision and unreservedly given. Likewise, it ought to be reached out to the granular assent of each class of users data the application should access and utilize. Assent must be gotten before any information is used or gathered from client's device.<br>
If you don’t have the time to build this solution from scratch there are useful tool like <a href="http://www.consentcheq.com/">ConsentCkeq</a> that may help you taking the consent of the customers.</p>
<h3 id="reacttoclientdemands">React to client demands</h3>
<p>Precise data ought to always be given to the client. The choice for clients to address information use, pull back assent (for every classification of individual information) and have their information erased should likewise be effortlessly given from the application. At the point when a client asks for that their information to be erased, there must be no chance to get for information processors to later recover that information, even from backups.</p>
<h3 id="encryptuserdata">Encrypt user data</h3>
<p>Guarantee individual data is encrypted with a legitimate and solid encryption algorithm to limit information outages. On the off chance that information is appropriately encrypted to the point that it is rendered pretty much incoherent, outages would end up futile and organizations would not need to tell clients that their information was hacked.</p>
<h3 id="guaranteeclientsarerefreshedaboutsecurityepisodes">Guarantee clients are refreshed about security episodes</h3>
<p>Clients (and the national supervisors specialist) must be kept on the up and up about security ruptures and information leaks. This gives clients the chance to ask for information deletion and the experts the capacity to find the source of the leak.</p>
<h3 id="knowyourtechnology">Know your technology</h3>
<p>Constantly evaluate the application's current situation. Guarantee that activities that will render the application rebellious are ceased. What's more, you should take care to keep the application from sharing personal data to an outsider in a way that could open the application to data leaks. In the event that SDKs have been executed inside the application and the SDKs endeavor to get to the personal data the application distributor is as yet in charge of the information gathering and use. Approving the consistency in each angle that goes into the application winds up basic under the GDPR.</p>
<h2 id="checklist">Checklist</h2>
<p><img src="https://media-blog.sashido.io/content/images/2018/05/social-checklist.png" alt="How to make your Mobile Application GDPR-Ready"></p>
<h4 id="ensureyouhaveeverythingcoveredwiththefollowingchecklistthatsummarizesallofthementionedabovetosetupyourmobileapplicationforgdprconsistency">Ensure you have everything covered with the following checklist that summarizes all of the mentioned above to set up your mobile application for GDPR consistency</h4>
<ol>
<li>Go throughout the information you are asking for from clients and decide whether all is totally essential for the application's prosperity. Use data that is totally essential for the apps’ needs.</li>
<li>Adjust application flows and screens on the off chance that you have changed the amount and type of information you are gathering.</li>
<li>Make a list of all sorts of agreements you need to receive from your clients.</li>
<li>Choose if you need to request each kind of assent independently or all together.</li>
<li>When you choose to request assent independently, ensure you request each assent at the proper time and place in the client’s stream for a limited interruption.</li>
<li>Add an option to your application for clients to get in touch with you with inquiries concerning their personal data.</li>
<li>Add an option to your application for clients to pull back their assent per information classification.</li>
<li>Add an option to your application for clients to have their information erased forever from the application.</li>
<li>Settle on the ramifications of application utilization for clients who pulled back assent or requested their information to be erased.</li>
<li>Guarantee erased information cannot be recovered by you or outsiders that entrance the application not even from backups or servers.</li>
<li>Ensure the information you are gathering is legitimately encoded, isolated and secured to limit information leaks.</li>
<li>Build up a system for rapidly informing the clients and authorities for information leaks (email, push notification or other).</li>
<li>The notice component ought to likewise incorporate the capacity to offer help and answer clients' inquiries following an information leaks (FAQs, talk bolster and other).</li>
<li>Build up a checking procedure that can distinguish a potential noncompliant action as soon as could be expected under the circumstances, so it can be ceased.</li>
<li>Ensure that SDKs (or some other outsider) you work with are 100% consistent with the GDPR and screen this continuously to recognize potential problems at the earliest opportunity to maintain a strategic distance from dangerous exposure.</li>
<li>Set up authorization and checking measures for every one of the arrangements and procedures you produce for GDPR consistency.</li>
<li>On the chance that you have EULA, ensure every one of the progressions and consistent forms are conveying appropriately.</li>
<li>Consider adding a GDPR specialist to your team members.</li>
</ol>
<h2 id="anactionablesolutionforthirdpartysdks">An actionable solution for third-party SDKs</h2>
<p>As GDPR authorization day moves closer, mobile application engineers must manage outsider (SDKs) merchant who can get to their clients' information. Any outsider or associations who will use the clients' information must be recorded in the agree frame as indicated by GDPR rules. This is on account of the controller who is completely in charge of the availability and direct of the processors that store or utilize an EU citizen’s personal data.</p>
<p>Application developers need to mitigate the risk and remain responsible for the SDKs they work with. Here is a powerful method to deal with the fundamental issue secured:</p>
<ol>
<li>Recognize and study all SDKs you are working with to comprehend what information is gathered, put away and handled, how well each SDK secures individual information and how they are functioning towards getting to be GDPR consistent.</li>
<li>Out of the information gathered by the SDKs you are working with, figure out which information is without a doubt vital for your application to work.</li>
<li>Work with the SDK organization to take out all the gathering of superfluous information.</li>
<li>Ensure the SDK has satisfactory safety efforts to guarantee the security of your clients' personal data.</li>
<li>Comprehend the correct way the information takes amid the handling lifecycle to guarantee satisfactory security is executed at each stage.</li>
<li>Incorporate strict classification, information security and information residency conditions in any agreement drawn up with a SDK.</li>
<li>Use instruments to screen, control and oversee dangers related to the SDKs you work with.</li>
</ol>
<p>Need additional info about GDPR?</p>
<p>It is available on the following links:<br>
<a href="http://blog.securitymetrics.com/2018/03/gdpr-faqs.html">GDPR FAQ</a><br>
<a href="https://www.nodesagency.com/gdpr-compliant-on-mobile-apps/">5 steps to becoming GDPR compliant on mobile apps</a><br>
<a href="https://sonin.agency/what-does-the-new-eu-gdpr-mean-for-your-app/">What does the EU GDPS mean for your app</a><br>
<a href="https://www.guardsquare.com/en/blog/gdpr-and-mobile-application-protection">The GDPR and mobile application protection</a><br>
<a href="https://www.thedroidsonroids.com/blog/gdpr-meaning-mobile-app-owners">What does GDPR mean for Mobile App Owners - 12 use cases</a><br>
<a href="https://techcrunch.com/2018/01/20/wtf-is-gdpr/">WTF is GDPR?</a><br>
<a href="https://blog.sentry.io/2018/03/14/gdpr-sentry-and-you">GDPR, Sentry, and You</a><br>
<a href="http://gdpr.safedk.com/GDPR_Guide">The complete guide to everything you need to know &amp; do to comply</a><br>
<a href="http://www.gdpremailcopy.com/?ref=producthunt">GDPR Email Copy</a></p>
<p>You are also welcome to contact us over the live chat or send us an email at support[at]sashido.io.</p>
</div>]]></content:encoded></item></channel></rss>