Skip Evict
This project was done as part of my work as owner and lead developer with GigaShock, LLC. Skip Evict is a web application I developed for a client to meet a very specific need that they had discovered as their acquisition of real estate communities expanded. Their company had recently acquired, developed, or rebranded a large number of apartment and condominium complexes throughout a small geographic area surrounding, in this case, Phoenix, Arizona.
An unavoidable byproduct of owning such a large number of rental apartments is the need to evict certain tenants from their current place of residence for a variety of reasons. Similarly, a certain number of tenants will also "skip out" and leave their apartments without notice and without fully paying their rent through the end of their stay or through the full term of their rental agreement, leaving the rental company short that amount of rent and unable to contact the prior occupant.
As this company had made many acquisitions within a fairly small geographic area it was, therefore, not uncommon for the individuals who skipped out or were evicted to, sooner or later, fill out a rental application, get approved, move into, and repeat a similar set of circumstances with another of the communities under the same umbrella as the original community they had left, incurring an additional financial loss. This problem is clearly something that can be avoided by sharing information. Unfortunately, there are some issues that complicate this. First, each property has a dedicated rental office that handles the management of that property and had no other need for interaction with the other rental offices at the other properties. For this reason, it was impractical to have each office report to each other office when one of their residence skipped or was evicted and this impracticality would increase as the number of properties in that area increased. Additionally, since the names, social security numbers, dates of birth, and other private personal information about tenants was being shared, there were legitimate security concerns about this type of information being shared in an uncontrolled manner between offices.
Therefore, my solution was a highly secure private web application that managed and controlled the processes of tracking these skip or eviction incidents through to their resolution and placed safeguards and limitations on the searchability of the data. After the application was fully developed, the process looked a bit like this:
- After a tenant skipped or was evicted, the authorized representative (usually a manager) for the rental office at the property where this occurred would log into the web application.
- The process of logging in was secured using several methods. First, all interactions with the entire web application are protected communications over an encrypted SSL/TLS connection. Additionally, to gain access to the system the user is required to use a two-factor authentication system including the use of a unique username, password, and one-time-password generated by a YubiKey hardware security token issued to them individually.
- After getting logged in, the user would have the option to input incidents of type "Skip" or "Evict" at which time they would document personal information about the tenant in question, information about the property and unit they were living in (such as the unit number and the amount of money owed), and make any other necessary comments associated with the incident to be made visible to other users of the system.
- Users entering information into the system are limited to entering incidents relating to tenants in the property to which they are assigned.
- Then, at any point in the future, any user of the system can perform a search to see if an individual had been previously associated with an incident at any of the partner properties. This usually occurs during the review of the new rental application. The reviewer will login and perform a search by either a social security number or a combination of last name and date of birth.
- Search results are only returned on exact matches of fully provided information. As a result, the users performing the search need to know the entire SSN or entire last name and DOB in advance before being shown personal information about a tenant.
- All activities, including searches, performed by users are logged. This, in addition to conservative daily search thresholds for each user, prevents malicious use of the search tool to reveal private personal information.
- If a result is returned for such a search the user becomes authorized to see the information regardless of the property where the incident occurred. They will be presented with the details of the incident including, most importantly, the outstanding balance left to be paid. This user can then make a decision about if they will deny or conditionally approve the new rental application based on the information they have found. In the case where the application is conditionally approved, the tenant must pay the balance of the incident in full before being allowed to proceed with the process. This payment is then documented in the incident database and the status of the original incident is changed to reflect that there is no balance due and the incident has been settled. They can also, if they wish, add comments to the tenant's record that will be visible in results of future searches.