LIC what were you thinking? Cracking LIC e-Policy doc password!

Long long ago I created a Gmail account for my (now) late grandfather. It seems someone else who shares the same name as my grandfather has provided and continues to provide that email as his own. Over the years I have been receiving random emails addressed to that person. I can tell they are not addressed to my grandfather since the contents in no way relate to my grandfather and he has been dead for a long time. I still have access to that email, so it very possible that the other person is some old fellow who does not quite understand emails.

Anyway fast forward to today. I received mail from LIC for the purchase of e-policy; addressed to that person. Below is the screenshot of that email.

Email screenshot with sensitive infos redacted

The email has two attachments. The second is general terms and condition but the first one is actual policy document. It is password protected. Which is a joke and the whole point for this post.

The section in red box are the rules for the password. The password is the policy number followed by date of birth in DDMM format (note no year is needed). The nine-digit policy number is provided in clear in the subject of the email and also in the names of the two attachments! The remaining part is just figuring out DDMM. That is it!

I then wrote the following Java code.

import com.lowagie.text.exceptions.BadPasswordException;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.parser.PdfTextExtractor;

import java.io.IOException;

public class Main {
    static final String READ_PDF = "/Path/to_password_protected_policy_doc.pdf";

    public static void main(String[] args) {
        PdfReader pdfreader = null;
        int m = 1;
        int d = 1;
        while (m <= 12) {
            String password = "<policy number here>";
            if (d < 10) {
                password += "0" + d;
            } else {
                password += d;
            }
            if (m < 10) {
                password += "0" + m;
            } else {
                password += m;
            }
            try {
                pdfreader = new PdfReader(READ_PDF, password.getBytes());
                
                // get pages in PDF - Not really needed
                int pages = pdfreader.getNumberOfPages();
                PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(pdfreader);
                // Iterate through pages to read content
                for (int i = 1; i <= pages; i++) {
                    // Extract content of each page
                    String contentOfPage = pdfTextExtractor.getTextFromPage(i, true);
                    System.out.println(contentOfPage);
                }

                System.out.println("THE PASSWORD IS: " + password);
                break;
            } catch (BadPasswordException bp) {
                System.err.println("bad password: " + password);
            } catch (IOException e) {
                e.printStackTrace();
                break;
            } finally {
                if (pdfreader != null) {
                    pdfreader.close();
                }
            }
            if (d >= 31) {
                d = 1;
                m++;
            } else {
                d++;
            }
        }
    }
}

In the code above I did not even bother to check if the month really has 30 or 28 days. That really does not matter since invalid combinations will not yield a valid password. So it just wastes some time.

However, it took few milli seconds to get the right password. LIC get your acts together. This is sad. Such a large organisation with such a weak security posture is alarming.

Buying experience from seikowatches.co.in – A review

I recently bought a PREMIER SPECIAL EDITION KINETIC PERPETUAL WATCH – SNP126P1 wrist watch from https://seikowatches.co.in. Till now my most expensive investment in watches. The same watch was available on Amazon.in for much less, however the number of sales made by the seller there was too less, additionally it had mixed reviews. That did not yield enough confidence, hence I decided to buy this from Seiko’s official site. Seiko also sweetened the deal by including a pair of wireless ear-pods by bOAT worth approx. Rs 2k as free gift.

Validating the site

I had never bought from that site before and I did not find enough reviews online to form a definite opinion. So I had to ensure at least the site is genuine and not some fraud. I googled out the official Seiko site which is https://www.seikowatches.com/. That has a SSL certificate issued by Amazon. The whois info (https://www.whois.com/whois/seikowatches.com) shows that it is registered to Seiko Holding Corp., Tokyo, Japan. Clicking on “Shop Online” link on that site took me directly to https://seikowatches.co.in, which is a good validator. I went one more step and cross checked its SSL certificate too. That was issued by Let’s Encrypt. First and foremost all e-commerce sites must be behind HTTPS, if they do not have SSL certificate then that is a big red flag. Never transact there. In this case the certificate was from Let’s Encrypt, which allows you to generate SSL certificate for free. Why a multinational company need to use free certificate? This indicates that the operation of the Indian site is outsourced to some local company which is cutting corners to maximise profit. This was slightly concerning. I checked the domain’s whois (https://www.whois.com/whois/seikowatches.co.in) which too was registered to Seiko Holding Corp., Tokyo, Japan. So atleast that was good.

The purchase experience

I created an account on that site and placed my order. The checkout experience was pretty decent. Seems like they are using some system which cannot be fully customised as per their requirement. The free gift has a cost of Re. 1 and not zero. So, they generate a coupon on the fly and apply that at the checkout to give Re. 1 discount to negate the cost of the free gift. What a hack. After checkout you have to pay the full price upfront, (some models have EMI options as well) no Cash on Delivery option. The have integration with CCAvenue for payment processing.

The shipping experience

It took them 2 business days to ship the product! That is like an eternity in the world of Amazon. After those two days they registered a pickup with BlueDart and mailed me the tracking id. I was in Kolkata and they ship from Mumbai. It took four days for BlueDart to ship it to me, where first three days were spent in Mumbai, in security and other clearances. BlueDart delivered the package very early morning on the fourth day. I wasn’t awake so my parents took the delivery. When I lifted the (quite big) package, I was shocked! It felt almost empty with something light rattling inside!!!!

The big fraud

When I lifted the big but feather light package, my heart started to beat like crazy. My head said that I have been ripped off and they have probably put some soap or a card box inside the package. But my heart kept saying that these are genuine folks, everything is there, just open the package and see for yourself. The heart was beating so fast, I could not bear it and ripped open the package, and saw that…

they had only packaged the free gift which was worth less than Rs.2000.

The opened package with bill obscured

Heart lost, head won. I was very sure that this was a scam and I have just been ripped off. I would have understood if they forgot to package the free gift, but who is so incompetent and in such a specific manner that they would package the free gift but not the actual product!

Looking for a fix

I was contemplating filing police complaint but I understood that I needed proof. I had already blown away my first proof when I opened that package without taking video recording of it. I knew it was too light, I should have opened that package while shooting a continuous video of it. That would have been a big proof. But I blew it and was regretting it.

Now my next rationale option was call their customer care and try to work it out. But I was sure they would not respond or will not pick up my phone at all. I called the number given on their site and it was promptly answered. It didn’t seem like a call centre but just one guy answering the call from his home. He mentioned that he has never received such a complaint before and asked me to mail the picture of the package to them. Which I did but no reply. I kept calling that person on almost half an hour basis for updates. He wasn’t happy about my calls but nobody paid a damn to the emails I sent. At my insistence over the call, I received one reply over email that they acknowledge the receipt of the pictures and will followup with concerned department.

Later that day I got call from a lady from Seiko saying that they are following up with warehouse department to figure out what really happened and that the investigation can probably take 72 hours. Also I can call her directly for updates. After this call, I was feeling a little pacified since I could see things happening. However, for some reason they were very reluctant to send anything over email. So, I was recording our phone conversations to build proofs; if later they try to wash their hands off.

Finally in evening I got call from the same lady that they can confirm that it was a mistake from their warehouse and they will ship the product that day itself. This was a huge relief. When I asked for reason for the mistake, she did not quite give an answer except that it was just a mistake.

During all these time I was calling her for updates. Kudos to her for attending all the calls. Their call centre time was upto 7 pm so I wanted to ensure that the product was shipped before that else it would get postponed to next day. So after few more followups I was assured that in next 20mins I will get the new tracking number for. Which I got and also got a followup call from warehouse.

I got the next package in three days via BlueDart. This time the package weight felt right. However, I was still skeptical if they have shipped the right watch or not. So this time I video taped the full unboxing in one continuous shot.

Thankfully, this time got what I wanted. Yeah……whew.😅

Summary

Their logistics are not well oiled. Their intentions are good, but effectively their overall service sucks.

Deep dive into new tax regime of Budget 2020

Budget 2020 is a mixed bag and for the first time it provides the option to choose your tax slab. You have two slabs to choose from. The well understood old one and the new one. New one offers lower tax slabs but without any deductions (except for select few like 80CCD(2)).

There is nothing simple to having two slabs as option. Let’s compare the two and try to understand which one is better and under what circumstances.

Circumstance is the key word here; hence there are so many articles and videos which try to explain this using specific examples. I am not going into a specific case. But will use the power of graphs to plot all possible scenarios from income level 0 to 2Cr. This will hopefully provide some more insight into this mess.

In the below interactive chart the blue line is the tax amount (including applicable surcharge and 4% cess) as per the new slab. The orange line is the tax as per the old slab but without claiming any deductions. It is clear that purely slab-wise the new plan is lighter on tax. The jumps at 50L and 1Cr points are due to surcharges – 10% after 50L and 15% after 1Cr. Irrespective of that the tax as per new slab linearly increases similar to old slab while maintaining almost same difference.

See the Pen New vs Old Tax Comparision (data only) by Nirupam (@applegrew) on CodePen.

Interactive chart 1

From the graph above it might look like taxes from both slabs are exactly equidistant but if we zoom onto the green line at the bottom, we can see that it is not exactly that.

The difference increases as we move towards higher income. It is fixed after 15L slab. After that it increases in steps at 50L & 1Cr points.

What is clear is that as your income increase you need to claim more deductions to benefit from the old slabs.

Zooming into the portion before 15L shows a pretty unpredictable “wavy” difference. That means predicting if you will loose or gain if you use the new plan is much harder here. What is clear is that as your income increase you need to claim more deductions to benefit from the old slabs.

The below interactive chart shows the amount of deductions you need to claim in old slab to just match the tax benefits you get from new slab. In the topmost interactive chart this data is shown by red line near the bottom of the chart.

See the Pen Tax deductions comparision only (data only) by Nirupam (@applegrew) on CodePen.

Interactive chart 2

From 15L point it pretty fixed. You need to claim more than 2.5L of deductions to get benefit from old slab.

From 15L point it pretty fixed. You need to claim more than 2.5L of deductions to get benefit from old slab. If you cannot then switch to new slab. Out of 2.5L 50k Standard deduction you get for free, so what is left is 2L deduction. For that you need to max out your 80C, and NPS or 80D. If you have a home loan then it would be easier because you can claim 2L per annum of interest amount you paid for home loans. However, loans typically have more interest component towards the start and more principal amount at the end. To see how much interest you are paying year wise see – https://blog.applegrew.com/2019/01/calculating-amortisation-schedule-of-your-loans/.

The big dips after exact 50L and 1Cr points are due to surcharges. Even claiming a small deduction can bring your income to a slab where surcharge is zero or less, making your taxes match the gain in new slab. However, this lasts for approximate 4.5L range.

Let’s have a look at the range before 15L point more closely.

From 5L to 7.5L range the required deduction linearly increases from zero to 1.24L. So if you max out your 80C then that is good enough reason for you to keep using old slab.

From 7.5L to 10L range the rate of increase in required deduction amount lessens. At 10L point the required deduction is 1.88L. This plateaus out and continues until 12L point like that. Removing 50k, we are left with 1.38L deductions to fulfil. Here too if you just max out your 80C then old slab is great for you.

12L to 12.5L is one small range and then 12.5 to 15L range. The deduction for this range varies from 1.88L to 2.08L and 2.08L to 2.5L respectively. Here you need to pretty much max out 80C with NPS or 80D or should have home loans.

Finally

HRA is also one significant amount which I have not considered here. All in all figure out your gross income then use interactive chart 2 and locate your income level on x-axis. That should provide you with the min deduction amount you need claim to benefit from old slab. Add all your actual deductions and see if that fits the requirement.

However, even after the flat 50k deduction if you have the need to switch to new tax then you are not saving enough!

Addendum

Update1: I almost forgot about Standard deduction of 50k which you get in old slabs but not in new one. Updated the article accordingly.

ServiceNow: Setting up Zoom with Notify

Disclaimer: The information presented here is unofficial and is not endorsed or supported by ServiceNow. This has been published here in good faith that it can help someone.

First ensure that you are at least on New York release Patch 1 and Notify is installed there (ref).

Next you need to install two Store apps :-

  1. Zoom Spokeshttps://store.servicenow.com/sn_appstore_store.do#!/store/application/5192d6d90b4233006237818393673aea/1.0.2
  2. Notify Zoom Connectorhttps://store.servicenow.com/sn_appstore_store.do#!/store/application/613f88810b0233008e64aabcb4673a50/1.0.3

Now follow the video below.

Instruction video

The video should be comprehensive enough to get you started.

Known issues:

  • The Zoom integration will not work when run as non-admin user (PRB1360915) – The workaround is to make use of the Zoom integration as admin user at least once. Make sure to Create/End Conferences, Add participants to it, etc. The issue is that all Zoom Spoke Actions need to be run as admin at least once. When done then you can use it normally without admin privileges. This issue has been addressed in Orlando and will probably be backported to some New York later patches.
  • Misleading error message when OAuth expires (PRB1360395) – If the OAuth has expired or has not even been fetched, then trying to use the integration will show an error like – ‘Meeting host must have a valid Zoom account’. The issue will be fixed in next version on “Notify Zoom Connector”. Current version is 1.0.3.

Applying for Mutation of resale property in Hyderabad

Typically for buying a resale flat you goto the Registration Office which transfers the title to your name from previous owner. This process is known as Registration. However, you also need to update Municipal records. This will ensure the next Property Tax demand slip is generated in your name and not previous owner. This process is known as Mutation.

As per information online the Mutation process is automatically kicked off when you do the Registration. In fact the Registration Office do collect the fees of Mutation at that time.

In my case however, after waiting for many months nothing happened and then I raised grievance with GHMC. After about a month I got reply from GHMC that I needed to submit some documents to kick off the Mutation process! I did not know about that. The internet was silent on this. The Registration Office also did not say anything like this while collecting the fees for Mutation. This post is to bring awareness about it and help hapless citizens like me.

You will need the following documents :

  • Your Sale Deed copy. All pages of this needs to be notarised or attested by a Gazetted Officer.
  • The previous owner’s Sale Deed copy. All pages of this needs to be notarised or attested by a Gazetted Officer.
  • Last Property Tax paid receipt copy.
  • Copy of DD which was used to pay Mutation fees.
  • Copy of challan copy of Registration fees.
  • One Rs. 20 Stamp Paper. (Higher denomination Stamp Paper will also do if not available.)
  • One Rs. 50 Stamp Paper.
  • If the property was registered more than three months back then you goto Registration Office again and get the current market valuation certificate of your property. If the market valuation has increased then you will need to prepare a DD for Mutation fees of the difference amount.
  • You will also need EC (Encumbrance Certificate) from Registration Office or MeeSeva for your property.

One Stamp paper was left empty and I forgot what was printed on the other one. The notary guy will know what to print. Let him know it is for Mutation application.

You will then need submit these documents at GHMC office’s Mutation section along with a filled up form which you will get there.

Below is the location of the municipality office at Chandanagar. The Mutation section there is on the first floor. Goto first floor then from stairs take left. Go in and straight in. At the end goto the corner office at right. There should be a paper label marking the Mutation section. The main official in-charge sits right at the room’s entrance. Nice guy. If all documents are in order then it is a 10mins job.

Calculating Amortisation Schedule of your loans

Be it home loan, car loan or any other loans; they all have same style of calculation. These calculations are non-trivial and it becomes more complicated if you are going to make some prepayments.

To make it all too easy I have built an app to do all the hard work for you. You will get insight into how much interest money you are really paying on your “low interest” rate loans, and how a small repayment early can save you big money. Also it gives you visibility into exactly how much interest vs principal you are repaying on your each EMI.

If you are new to this then the last statement might not be very clear to you. Each month you pay a fixed amount as EMI (Equated Monthly Instalments), however, each of those EMIs pay off part of the principal amount (the loan amount you borrowed) and part of the overall interest amount. The interesting thing is that percentage principal and percentage interest amount you pay in each EMI is not fixed. Towards the start of loan period the interest part is more and the principal part is less, as the loan progresses their ratio gradually progressively approaches 1:1 near the mid of your loan tenure then it flips and your principal ratio becomes more than your interest. Eventually it is only principal which is left; at which point the loan is fully repaid.

That is why making lump sum prepayments towards end of loan tenure is not too beneficial as you are only repaying the principal which anyway you need to repay. Where you can save on, is the interest part. Always keep in mind the amount of interest you are paying is directly proportional to the amount you loaned and the time you are taking to return that amount.

Play with different values in the calculator below and notice the pattern in the graph.