How to remove a User safely from database as a part of GDPR request?

How to remove a User safely from the database as a part of GDPR request?

The scenario is given – When user decided to leave your system along and requested that delete record from your database. How do you deal with it?

First of all – Think —- DELETE!!!!???? NOooooo…. Big NO. Why?? I will explain in a bit.

So, you have a database of a couple of million people and you have a concern that if everyone wants to delete their record due to any reason you will be in trouble.

So how to remove user safely and without compromising compliances.

1. Instead of delete record obscure the requested information and leave original record as it is.

2. The benefit to that is when you have to go through audit trail you will have all the track back and relevant to other’s information. That information still can be valuable if you are making an infographic without revealing any of personal details.

So why not delete it? If you delete a primary record from the database which related to many tables could cause system errors and many of the reports may become invalid, especially some of non-trivial.

Secondly, if you delete a record without proper provisional logs and audit could lead serious compliance issue with other ISO standards.

Now, what to obscure

1. Name – First Name Last Name …. anything that Identifies entity.

2. DOB – Just year or Partial

3. Address – (partial – house number and postcode or anything)

4. Phone Number – Partial or full

5. Passport number — (Why do you need this in the first place. if it is a legal requirement no need to delete or obscure it.)

6. Driving licence – Same as above.

7. Other information — if mandatory information is already obscure and this may not able to show a person then as it is otherwise partial obscure.

How to obscure Data

For example look at following table


Original Data

Obscure Data


David Halmen

01010 101010





1234 Palm street, Coleville

0000 Palm street, Coleville







Driving Licences




Now the question is still there what if data is not normalised and duplicated many places. Well, you have to make sure that all the information related to the GDPR are compliances and you are following the guideline given by ICO.

The solution for better information storing and providing software as service and processing data correctly.

For me I would carry out it like as given following:



Now in above picture

A client communicates through common service channel where data is encrypted using token and through SSL layer via the internet. And Common service channel will pass it to Communication Channel and decrypt, abstract and validate information and pass it to database secure channel and Software Service layer will decide which key management to use and send control to database secure channel where it again encrypted and send to the database.

Same way retrieve information will keep that way as well. Now it might look overkill at this stage but when it comes to security in mind each layer has its own authorization and authentication mechanism in place thus it abstract dependency of database and its operations to secure channel and communication channel has one job to abstract command and data and pass it to software service layer which is main heart of the multi-tenant service provider and because of key and token manager is separate part of the database we have to keep isolated apart from encrypted database.

The encrypted database keeps hashes and logs to countermeasure with key manager thus it will keep up to date with any changes in the key management and ideally it should be on the different environment but within a close system.

If you would like to get more guidance on this you can communicate through this contact form or via LinkedIn or my other website

How to simplify the GDPR consent – High level overview

The GDPR is just on the horizon and everyone is curious. How to make it correctly and all the other related issues.


GDPR Notification Simplify

  • The user should able to ask (through website/phone/person/post)
  • Acknowledge request by confirmation by preference
  • Once the user confirms request then send a secure link which has GDPR data and its explanation in plain English.
  • The User should able to control the information holding with your organization.
  •  Any changes should be (by the user or by policy or by the organization) be communicated via a preference.
  • If the user decided to remove there should be a provision for that without compromising compliances.
  • See my other post – How to securely remove user data without compromising anything.

That is it. Now if you have questions or need guidance about system implementation contacts me via the website or via LinkedIn.

Hope this high-level view helps you to understand the process involved in how to start it correctly.

Books I have Read in February

I have read very interesting books this month. Really it was bit of refreshing on Quantum gravity amazing. I have few plans to build a passive income for rest of my life and I am building something from very practical perspective and achievable.

How to report fake Jobs or Jobs that are not real by Recruiters.


Recently I have been hearing/seeing/reading and influenced by many opinions and also tried to find facts about it. I would like to share something that is very important for the every job seeker and recruitment agencies.

You know since 2017 there are 900 new agencies has been registered.  And so far around 21500 total recruitment agencies are exists till date. Source:

And Recruitment industry worth more to UK economy than ever before. (

Which is great news but in reality it comes with a cost of frauds, malpractices, misleading and non regulated which is missing heavily in penalization or control and most of them are time wasters for who actually looking for a job.

So if you found that job advertised is actually not an advertise but luring you for the leads to generate for the profiling and misguide you. what you can do about it?

Here are the resources and you can do more than ever. I am just waiting if I can file a small claims against my time and distress I suffered due diligences.

Advice for Recruiter:

Report an incident

How to complain about an REC member

Most importantly do not afraid to stand against the wrong deeds, don’t suffer in silent, speak out and make it correct. If you feel that you have been treated badly or unfairly than just stand out and go for it.

Clock is broken. Reveal answer.

Yesterday I asked a puzzle about broken clock.

Today I am giving the answer and How did I solve it.

My first and clear approach was identified a total sum of 1 to 10 which is 55. But if we need to 4 pieces of 15 means total 60.

And sum of 11 and 12 is 23 which is not so helpful. But cleverly if you look we only need to add 5 more to 55. And sum of each digits of 11 and 12 is 5. But cutting them in half make available to sum individually.

Bingo. Viola. Ta da.

Thank you for your patience.


Clock is broken – Solve it

Here is a classic puzzle to solve.

My clock is broken into 4 pieces and sum of each pieces is 15. Can you able to divide the clock into 4 pieces and each piece have sum of 15?

Just try it. And don’t spoil the answer.

Friday Project–Request CV Series Part One

Hire Ravi Lodhiya for your next project

Right Folks!

I am creating a demonstration how I start or work in the greenfield project and build something very agile way to produce some valuable resource which generate an attention for the stack holders.

Now  I wanted to build something every week and release it and prove, If I could able to do it that means Scrum XP and single resource and most importantly show my portfolio which others may have not done before. Even I haven’t done this before but we will see.  


Be afraid of Social, Professional Networks

In resent times I have found that we have lost our freedom of speech, freedom of expression and freedom of thinking even freedom of everything but became slave to so called giants.


We are constantly living on so called Mob fearing that gang up on our freedom and loosing our  inner voice or even influence by the judgement of an individual or an entity. Driven by  this force and not able to being resistance generating a mental distress and we all suffer in silent, dominant by the fear of judgement in every thing in life such as  work, life, social, relation, … endless. And yet we are not able to see sometime or detached from it, like making ourselves a more isolated and far from the actual human touch. We have lost our own identities and became so monolithic, burden by the work and responsibilities, Artificially happy or pretend to be happy but actually are we??

Let me ask you, When did you last time actually have fun with your best friend just no phones, social networks or nothing just …. get out and roaming around and chilling watch movies together, have great conversation, a meaningful conversation and respectful without endless time. I guess more or less hardly ever recently. Ask yourself Why??

As an intellectual person, sometime our mind rebels and generate a conflict, I would say it becomes edgy and not able to cope with the current on the top battle with so called Socio-Psychological Network bombard more and more and internal chatter became so intense and blast at the peak of it. And emotions paints a greater picture and darkness of Fear controls everything thus we have no where to go but surrender completely. And this would make us not less than a criminal to ourselves, all of above signs said clearly we have to stop and unwind let what we are organically not what you have been influence to. We have choices and choose wisely. Be a person you always wanted to be, not what other wanted to see.



If you are not getting enough challenges in Life, Business or Job every day, You are not progressing.

And if you are stuck in a suck to same spiral and what to get out of it than challenge yourself. When your are in your comfort zone you are not challenge and thus you are not see progress.

Defats are for losers and you are not that. You are born to challenge and win. So Get up and go and get on with it.


9th Feb 2018

How to solve a seating arrangement in Airline–Part 2

Now continue to this project I have created a simple logic which allow to arrange a optimal points without panelising to split any combination or altered a consecutive arrangement as much as possible.

For that I have break down rows in group of 2. Let’s say 2 rows each rows has 6 seats and maximum number of allocation is 12. now we know by given fact that following combinations are possible:

  • 12 bookings which contains 1 ticket per booking.
  • 6 bookings which contains 2 ticket per booking.
  • 4 bookings which contains 3 tickets.
  • 3 bookings which contains 4 tickets.
  • 2 bookings which contains 5 tickets and 1 booking contains 2 tickets.
  • 2 bookings which contains 6 tickets per booking.
  • Now we know by rules if we have 2 booking of 6 tickets each than we have an optimal results which is far away from reality in the bookings. But at least it will give us a clue about the probability  of make a possible pair of tickets or combinations of various positions.
  • Suppose for example we have only 12 seats in other word 2 rows:
  • and we have bookings of 5 tickets, 4 tickets and 3 tickets respectively.

So here are following optimal arrangement


Which will generate around  (5 consecutive tickets = +2), for 3 tickets +1 but 4 tickets split therefore its –1 thus +2+1-1 = +2

but if we prioritise group of 4 first then we can have optimal value as given below


This will generate (+2 for 4 tickets, +1 for 5 tickets, +1 for 3 tickets), thus it has possibly 4 optimal points to gather.

So here we got a rough idea what are we dealing with. Obviously in logic terms we are still far far away from any coding at all. But that was the first condition for the challenge no need of any computer programming but simple logic of arrangement and make a common sense out of the arrangement.  

Next time I will go through combination of 2s and 3s and possible mix match of each with more and more rows, or may be lets keep it simple to 5 rows to generate an algorithm which give best optimal values from the various combinations.