PieSync does everything to avoid duplicates. We will never create a contact with the same email address twice. If you’re still seeing duplicates, it’s possible they were already duplicates to begin with.
Contacts that have no email address and are present in both applications can appear as duplicates because we only match on email address.
PieSync looks for matches between your contacts based on the email address. Once PieSync detects two similar contacts, we merge them together and keep them in sync. Therefore, contacts without an e-mail address can result in duplicates, as we won't identify them as being the same resulting in a duplicate on both sides as there's no associated email address.
This is also the reason why we added the option to sync contacts with an e-mail address only (avoid duplicates box). In most connections it's enabled by default, in other integrations you can still choose to turn this feature on or off.