Create fake phone contacts, to do data-poisoning.

Overview

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 https://github.com/BillDietrich/fake_contacts/pull/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.

Comments
  • Useless on A11

    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.

    opened by gjf 0
  • Create fake contact photos

    Create fake contact photos

    I love your ideas, I installed it on a fake phone I use for WhatsApp. Can you integrate your application with https://thispersondoesnotexist.com/ ? This would allow to create a fake contact photo too!. Thanks!

    opened by arodier 1
  • Definite group

    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.

    opened by NikitaGSX 5
  • [enhancement] avoid collisions with real contacts

    [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.

    opened by kollokollo 3
  • Crash on Android 5.0

    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).

    opened by kollokollo 1
Owner
Bill Dietrich
Bill Dietrich
A composable, light-weight package that can be used as a placeholder whenever you need some fake data

API Placeholder A composable, light-weight package that can be used as a placeholder whenever you need some fake data. With this package, you can get

ASMIT VIMAL 2 Feb 27, 2022
Presentation-Remote-PC - Manage your presentation from your smart phone - Phone Client

Presentation-Remote-PC Manage your presentation from your smart phone - Phone Cl

Hasan Ragab Eltantawy 1 Jan 25, 2022
Charlatan - A library for configuring and providing fake http responses to your dio HTTP client.

charlatan This package provides the ability to configure and return fake HTTP responses from your Dio HTTP Client. This makes it easy to test the beha

Betterment 14 Nov 28, 2022
Fake Firebase Performance for use during Flutter unit & widget tests.

Fake Firebase Performance Fakes to write unit tests for apps using Firebase Performance monitoring. Instantiate a FakeFirebasePerformance, then pass i

Philipp Bauer 2 Apr 16, 2022
A flutter plugin for retrieving, creating, saving, and watching contacts on native devices

flutter_contact A Flutter plugin to access and manage the device's native contacts. Usage To use this plugin, add flutter_contact as a dependency in y

Sunny 79 Nov 23, 2022
mypro immobilier app created to manage our real estate agency, we can store products, contacts and transactions..

mypro_immobilier A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

soufiane bouchtaoui 1 Dec 11, 2021
Simple contacts app built with Flutter

myContacts A simple contacts app, built with Flutter. Features Create, Update, and Delete contacts. Search Functionality A user can filter through the

Brian Jr. 2 May 23, 2022
Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

Data Migrator - provide a universal translator for data by being portable, diverse, and efficient in migrating and converting data across discrete schemas

Tanner Meade 77 Jan 2, 2023
Codeflow 19 Sep 29, 2022
State Persistence - Persist state across app launches. By default this library store state as a local JSON file called `data.json` in the applications data directory. Maintainer: @slightfoot

State Persistence Persist state across app launches. By default this library store state as a local JSON file called data.json in the applications dat

Flutter Community 70 Sep 28, 2022
Local data hive - Local data hive for flutter

local_data_hive A new Flutter application. ScreenShot

Mehmet Emre ÖZ 0 Jan 8, 2022
Dart package for Async Data Loading and Caching. Combine local (DB, cache) and network data simply and safely.

Stock is a dart package for loading data from both remote and local sources. It is inspired by the Store Kotlin library.

xmartlabs 59 Dec 24, 2022
AI Library to create efficient Artificial Neural Networks. Computation uses SIMD (Single Instruction Multiple Data) to improve performance.

eneural_net eNeural.net / Dart is an AI Library for efficient Artificial Neural Networks. The library is portable (native, JS/Web, Flutter) and the co

null 21 Dec 29, 2022
Create dart data classes easily, fast and without writing boilerplate or running code generation.

Dart Data Class Generator Create dart data classes easily, fast and without writing boilerplate or running code generation. Features The generator can

null 186 Feb 28, 2022
Polymaker is an application that can create polygon locations dynamically in mobile apps and save the data into SQFlite to be permanent.

Polymaker Polymaker is an application that can create polygon locations dynamically in mobile apps and save the data into SQFlite to be permanent. Ins

Yusril Rapsanjani 15 Apr 17, 2022
Nexus is a state management library that makes it easy to create and consume your application's reactive data to the user interface.

Nexus ?? Nexus is a state management library that makes it easy to create and consume your application's reactive data to the user interface. With nex

Gor Mkhitaryan 3 Sep 7, 2022
This library allows you to create editable tables and spreadsheets with ease, either by providing initial row and column count to display an empty table or use it with predefined rows and column data sets.

Editable ⚡️ A highly customizable, editable table package for Flutter projects. Specs This package allows you to create editable tables and spreadshee

Godwin Asuquo 94 Dec 7, 2022
Flutter App - Add Firebase Crud Operation can Create Delete Update Read real time data

Firebase-Crud-Operation In This Flutter App I Will Add Firebase Crud Operation like you can Create Delete Update Read real time data. Sample Images Re

Justin Roy 5 Nov 7, 2022