Current Theories as to what causes a ban
​
* SpotPass Settings: 8 users out of 46 users that were banned have SpotPass completely shut off, or SpotPass only (no friends list visibility)
* Firmware Version (Luma, Nintendo): Literally all reports ranged from 10.2+, I can get exact numbers for this if you'd like, but all firmwares were affected.
* Firmware Type (A9LH, B9S): 44 of the 126 B9S users that answered were banned, pattern was mirrored for A9LH users as well.
* Homebrew Titles such as FBI, HBL, Luma Updater, Themely, and freeShop: Literally about 98% of users both banned and unbanned had some combination of these applications installed. However the common ones were: FBI, HBL, LumaUpdater and NTR.
* Save Modification: Equal amounts of users on both sides have reported save modification in some form, either with PKSM or another save editor
* System Transfers: 188 users said that they had not previously system transfered, 61 of those users were banned; 16 users said they transferred from a hacked console, only three of them received a ban; 13 said they transferred from a stock system and likewise were banned. The rest of our sample did not answer this question.
* Activity Log Information: A majority of those who have not been banned have said they had NOT cleaned their activity logs. I can get exact numbers for this too on request.
This information is just what I've found. Like I said, there could be variables or things we haven't even checked for yet. But these are things that I feel should be disproven, at least with the current dataset we have.
From the information that we've gathered from some people that have used a packet sniffer such as WireShark, the following data is sent to Nintendo's online gaming servers as soon as the 3DS connects to the internet:
Amount of time spent online (timer stops when either the system is disconnected from the internet, or connection drops out, then starts the timer again in a new session when it reconnects to the internet).
The game being played and amount of time spent on it during that session.
The console's unique hexadecimal ID used in the LocalFriendCodeSeedB, along with it's RSA-signed signature.
The console's serial number in which is broadcasted from the SoC and is hard coded in the SoC.
Friend Code generated on the Nintendo 3DS system, if one has been generated.
Internet connection status (either online or offline).
The Nintendo Network ID, if there is one linked to it.
Even if the sending of SpotPass Information is switched off, or even hiding your currently playing games. It does not prevent the system from sending currently playing information to Nintendo's online gaming servers, it only hides it from your friends in your friend list (like being invisible on the forum, while mods and admins can still see you). Why? Because even people without a Friend Code on their system have been getting banned too!
The following data is NOT sent to Nintendo's online gaming servers:
The data from the Nintendo 3DS's Activity Log. Oddly enough, while Nintendo does explicitly state that they collect Activity Log data, they're actually referring to their own server's Activity Log, which always tracks every console's online activity, and keeps a record of them that is stored forever. And is only collected in increments of data through a timer and a currently playing list.
Games or apps that have not been played, regardless if they're legitimate or not. You only get tracked when you're online and using that game or app.
Using games or apps while offline. Even though it is stored on the 3DS console's Activity Log, that data is NOT sent to Nintendo's online gaming servers.
Custom Firmware. Though we can't rule out the possibility of them releasing a 3DS update in the future that adds such function to collect MD5 hashes of files and FIRM data and send them to Nintendo online gaming servers (which would also be updated in a maintenance).
Things that people think what happens with consoles, but really doesn't:
"LocalFriendCodeSeedB is transferred to the system upon doing a system transfer". This is false, the LocalFriendCodeSeedB remains on the system and does not move to another system.
"The console generates a LocalFriendCodeSeedB upon first startup". Again, this is false, the LocalFriendCodeSeedB is made during the manufacturing process at Foxconn. It is generated at the factory, flashed to the NAND flash memory storage, then created as an account on Nintendo's online gaming server and Nintendo eShop server immediately when being manufactured. It is absolutely impossible to generate a LocalFriendCodeSeedB and be able to connect to Nintendo's online gaming server and/or Nintendo eShop server, even if you knew the RSA generation key for it. You'd end up with Error Code 002-0102 "This console's online services have been restricted by Nintendo" if you even tried (the error can either mean two things: The hexadecimal ID doesn't exist on the server, or the request to access the hexadecimal ID has been denied which in other words... banned). So a LocalFriendCodeSeedB generator will NEVER happen! Because it's not worth doing, if it can't connect.
Switching off "Currently Playing" information. Once again, this does not hide your online activity from Nintendo's online gaming server, it only hides it from your friends.
Switching off SpotPass. Nope, this too doesn't hide your online activity from Nintendo's online gaming server, it only opts-out of receiving SpotPass data, sorry.