Capturing Digital Footprints
Hello Everyone,
In today's world, it's very common for any organization to track and store digital footprints of users who visits or register themselves into their system/website or a mobile app.
Digital Footprints: Digital footprint or digital shadow refers to one's unique set of traceable digital activities, actions, contributions and communications that are manifested on the Internet or on digital devices - from wikipedia.org
As my job as back-end developer, I too have to store information of users who register into the website. The term "registration" could be:
- User adding their email address to get email notification.
- Capturing their browser cookies once they click "Accept" towards a pop-up or a irritating footer which simply says: "By using this site, you agree to our use of cookies. Please read our privacy policy.", and no one bothers to read that.
- When user actually enters their personal information, without knowing what, how much and whom they are sharing.
I track these information from a user, when the get into the website:
- IP Address: An Internet Protocol address (IP address) is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing - from wikipedia.org
- Mobile/Desktop/Tablet Tracking: To see if user is visiting the website from phone, desktop or tablet.
- Device Name: This include whether user is using iPhone, iPad, Pixel, Nexus or any other device out there.
- OS (Operating System): Which operating system is installed in the user's system. If you hack mac-os-x and have installed that on your desktop, that's where "they" will know, about jailbreak.
- Browser: Here we get to know, user was using either Google Chrome/Firefox/Opera/Safari or any other browsers.
- Timestamps: At what time user was doing digital activities. They are stored in Year-Month-Day Hour-Minute-Second format. Hence, very precise!
This above information is very least, there's a lot of information that leaves your system, when you access anything on the Internet.
I've created a Github Gist, where I'm showing how those information gets saved into the the database. In this Gist, I've added snippet of Laravel (PHP Framework), which gives a basic overview on how to integrate that on your website as well.
Also, you can see that I've used a feature called boot events, these events gets called when an entry is created, updated and deleted[1] into the system.
References:
- Nothing gets deleted ever. There's a term called soft delete, which means the record gets hidden from the user, which gives them an impression that the delete button actually deleted that content.