Giter Club home page Giter Club logo

fake_contacts's Introduction

Fake Contacts

Android phone app that creates fake contacts, which will be stored on your smartphone along with your real contacts. This feeds fake data to any apps or companies who are copying our private data to use or sell it. This is called "data-poisoning".

Nothing about these fake contacts will interfere with your normal use of your phone or your real contacts.

The app is available through F-Droid.

This is a sister-application to "Fake Contacts 2", which puts fake information in some fields of all contacts.

Functionality

The user can set lists of last names and first names for fake contacts, and phone-number and email-address templates for them. Then click buttons to create or delete fake contacts with all combinations of the first and last names.

Use

The default values should be sensible. All of the first and last names start with "Z", to try to keep them from colliding with names of real contacts, and to keep them out of the way (at the end of the Contacts list).

So, just install and launch the application, and click the "Create Fake Contacts" button. The system should ask you to grant Contacts permission to the application. Then the contacts (one for each firstname-lastname combination) will be created. Launch your usual Contacts app and scroll to the end to see the new contacts. Note: it may take a couple of minutes to update the list.

If you wish, click the "Delete Fake Contacts" button to delete them. Note: it may take a couple of minutes to update the list. You also could use your normal Contacts app to delete them manually at any time, without causing any problem.

You could uninstall this app after creating the fake contacts, without causing any problem.

Customizing

  • The list of last names is just a comma-separated list. You can edit it to have any names. Best not to have any spaces.

  • The list of first names is similar.

  • The phone-number template is a single value used for all contacts. Any character "n" in it will be replaced by a digit 0-9, derived from the contact's last name. The default format is +2134567nnnn, which is intended to use an unassigned country code "21". You could delete the contents of this field if you wish, and no phone numbers will be generated.

  • The email-address template is a single value used for all contacts. Any string "FIRST" in it will be replaced by the contact's first name. Any string "LAST" in it will be replaced by the contact's last name. The default format is [email protected], which is intended to be an unused email domain. You could delete the contents of this field if you wish, and no email addresses will be generated.

Quirks

  • The app is designed to be very simple and fail silently. If you deny permission to access contacts, the app will not complain, it just will not work. If you click the "Create" button multiple times, you just get one set of fake contacts. If you click the "Delete" button and the specified contacts don't exist, nothing is done, and no error message is shown.

  • Don't create any fake contact with the same full name as one of your real contacts. If you delete fake contacts, the real one with same name will be deleted too.

  • Replacements for "n" digits in phone numbers are calculated deterministicly (repeatably) from contact's last name. So for example if 5 users of this app all just leave everything set at defaults, the same contacts will show up on each of their phones with the same names, phone numbers, and email addresses. This is good, for data-poisoning purposes. Further, all fake contacts with same last name will have same phone number (debatable whether this is good or bad).


Releases

1.0.0

Got working.

1.6.0

Got published on F-Droid.

1.7.0

Changed color of delete button, added space between buttons, added a lot more names, cleaned up the code a little.

1.8.0

Added Spanish description to Fastlane per #5


Development

To-Do list

  • What Android versions are supported ? I tested on 9; someone else says it works on 9 and crashes on 5.
  • Add buttons to add/delete fake secondary info (e.g. birthday ?) on ALL contacts. Or make a separate app for that.
  • Want to explicitly set Notification permission off, but there's no way to do it.
  • No UI feedback after create and delete operations.
  • Add photos from thispersondoesnotexist.com ?
  • Page doesn't scroll if screen is too short.
  • Inefficiency in the "save settings after every char changed in field" events.
  • Test on iOS.

Development Environment

I'm no expert on this stuff, this is my first phone app, maybe I'm doing some things stupidly.

Now using:

  • Android Studio
  • Flutter
  • Dart
  • Linux
  • Phone running Android 9

F-Droid page for this app

GitHub repo for this app

My web site


Privacy Policy

This application doesn't collect, store or transmit your identity or personal information in any way. It contains no advertising and no trackers.

License

See LICENSE.md file. MIT license. Copyright 2021 Bill Dietrich.

fake_contacts's People

Contributors

billdietrich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fake_contacts's Issues

Useless on A11

OP7TPro with A11 here.

Need to report this app is absolutely useless. Let's start from practical part: started it, pushed "create", granted permisssions - and... nothing. I waited abouth half an hour - n.o.t.h.i.n.g. Rebooted - NOTHING!
Now - funny part: I decided to uninstall this useless piece of code. Aaand - the icon remains! Only reboot leads to cleaning the crap, but I had to set calls record function as it recognized ?new SIM card" for some reason.
So - from practical point oif view - the app simply DOES NOT work.

No - from theoretical point of view: I have about 600 hunderd so you will posion - how much? 50? 100? Will people who sell contacts care about 15% non-reliable part? I don't think so. Will I have issues finding correct names scrolling contacts with a number of fake people? Yes.

So - as I said - USELESS.

I would be really happy with interception calls for contacts with whitelisted apps and blacklisted apps - providing different contacts. I even ready to install Magisk/Lsposed hooks for that. But as for now this app look like a child toy.

Sorry - but I think I deserved having an opinion after an hour of test of this piece of code.

too much [EXAMPLE NAME]

i like this app, but the problem with it is, it generate a lot of contacts with the same name, even if it have 100 names, it will generate a lot with the same name.

[enhancement] avoid collisions with real contacts

I have an idea for enhancement of the contact generation principle. It is hard for the app to identify fake contacts it has created, e.g. for later removal. Using a certain name pattern (all names starting with the letter "z") is simple, but the poisoned database also can be easily cleaned. So I would suggest the user to enter a 4-digit PIN at the startup of the app. All contacts will be coded with that PIN so that later fake contacts can be identified only if you know that PIN.

How to do it: Maintain two lists of 1024 names, 1024 surnames and 1024 last names. Now randomly combine them, (gives 20 bits code) and also combine them with the 12 bits generated by the PIN. Together we now have a 32 bit value for each combination. Now calculate a hash from these 32 bit (lookup table or 8bit checksum). And discrard all combinations which have a hash other than one speicific, say 0. Then all fake contacts can be identified and the chance of a false positive (to be removed from the contact list) is 1/256 (in this example with a 8 bit hash) which probably is good enough. One can use a 6-digit pin to further bring it down.
Lists with 1024 Names can easily be obtained/generated. One even can use customizes list according to the nationallity or so.

Definite group

Hello. There is a suggestion to add the generated contacts to a specific group. This will allow you to sort and hide fake contacts, which will also allow you to avoid generating contacts by mask.

Crash on Android 5.0

Hi, I like the idea of this App. However is crashes on my (rather old) Android Phone SAMSUNG Galaxy Alpha at start.
I use the f-droid version 1.6. It works on more recent phones (Android 9).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.