Shake all the dressing ingredients together in a jar until emulsified. Set aside.
Cook the rotini in generously salted water until al dente, about 9 minutes. Drain and rinse under cold water until cool, then shake off the excess.
Transfer the pasta to a large bowl while it is still slightly warm and toss it with HALF the dressing. Let it sit for 10 minutes to absorb.
Add the mozzarella, salami, cherry tomatoes, bell pepper, olives, and red onion. Toss gently.
Cover and refrigerate for at least 1 hour, or up to 24 hours, with the reserved dressing kept separately.
Just before serving, pour over the remaining dressing and toss until everything is glossy.
Fold in the torn basil and Parmesan, taste for salt, and serve.