Strava provides a way of mass editing some of your previous activities settings (e.g. privacy) but doesn’t provide a way of filtering which ones you want to edit. In my case I wanted to make a privacy change to every walk I’ve ever done, but leave bike rides and runs as they were. I stumbled across this which has done the job perfectly.

On your “My Activities” page, if you filter the sport before running this script in the browsers developer tools, it should only make changes to activities from that specific sport.

function bulkEdit(privacySetting = 'everyone') {
  for (editButton of document.querySelectorAll('.quick-edit')) {
    editButton.click();
  }
  for (privacyControl of document.querySelectorAll(
    '.form-group .visibility-select select'
  )) {
    privacyControl.value = privacySetting;
  }
  for (saveButton of document.querySelectorAll(
    '.edit-actions button[type="submit"]'
  )) {
    saveButton.click();
  }
  const nextButton = document.querySelector('button.next_page');
  if (nextButton != null) {
    nextButton.click();
    setTimeout(bulkEdit, 5000, privacySetting);
  }
}

// Allow everyone to view your activities
bulkEdit();

https://github.com/jm-shi/Strava-Bulk-Editing