Skip to content

Google Workspace Alerts fears turn into a Flutter Web MVP

This is Thursday morning, picking up my email while eating my toast of peanuts butter. Just saw another email from Google, but the subject catch my attention…

”9% of potentially sensitive files have been shared outside your organization”.

At the end of the email there is a button…

I can see the light at the end of the tunnel coming ahead…at this very moment, I though that my back is covered by my big bro Google, and then….

There are 3 files that need my attention…but there is no way to know who they are!

At the end of the report Google propose to upgrade to the Enterprise edition.

Automatically block external sharing of sensitive content on Drive by data type….very cool…but…

I just need to identify those files to understand if they are legitimately shared outside the organisation.

Back to square one, so let’s google search if there is a way to find those files easily. You can go to Drive, open the search box, put “to:”. At least you have all file share with people, but this can be very tedious to open each of them to see if they are share with anyone.

Since we have lot of files, this don’t take long to understand that it can take a substantial amount of time to identify them. Just doing a basic math…

What is the MVP we need here?

List the files that are shared with anyone. It does not mean they are sharing sensitive information, but it resolve the initial pain which is finding them!

Don’t forget, this is just a MVP for my own personal usage because I’m lazy and don’t like digging finding them like describe above. I’ll only need one button to fetch all files shared with anyone and a table to display them. Does it need to be beautiful with an awesome design…nope! That doesn’t mean all MVP need to be looking crappy! This just mean for this specific use case, it’s not mandatory.

It took literally 5 minutes to code the expected UI. I love Flutter!

Another 2 hours to connect all the dots…Google Sign-In with Firebase Authentication (an article about it here) and Firebase Hosting and Drive API integration(I used this package).

There are couples of edge cases that is not covered by this MVP, but that’s ok! eg. paging files in the table have not been implemented, this mean you can probably encounter display hiccup if you have thousands of files! Since I was looking for few files, that’s something I left aside…for now!

I just want to resolve my pain quickly and learn down new things down the road.

Mission accomplish : https://security-inspector.web.app/

Conclusion

Sometimes MVPs can be as simple as having a button and a table. Just depend if the generated value overweight the pain or provide enough gain. In my case the pain was finding the files, but it also worth mentioning the gain in terms of learning.