Сочетание "не (ни) секрет", находящееся в определённых текстовых условиях, можно считать либо устойчивым, либо находящимся в составе устойчивого. Есть и такие случаи, когда сочетание "не (ни) секрет" никакой устойчивостью не обладает, сохраняя за собой свойства свободного.
Если в том или ином предложении отрицание "не (ни) секрет" встретилось нам в значении "многим известно", то первым его элементом станет частица "не". Например: "не секрет, что..." или "это не секрет", "если не секрет".
Если же высказывание содержит в себе частицу или несколько отрицательных частиц, усиливающих последующее отрицание "не", то этими частицами станут "ни". Например: "ни секрет этого дома, ни тайна всего города не интересовали его".
Надо отметить, что сочетание "ни секрет" (именно с "ни", а не с "не"), которое само по себе отрицанием не является и может быть, если исключить из него усиление, использовано и просто без "не", встречается не столь уж и часто, устойчивостью не отличается, поэтому вариант "не секрет" (с "не") становится намного более распространённым. Именно он и признаётся нормой в обычных условиях.
Примеры предложений:
"На кого злится Таня, если не секрет?".
"Не секрет, что я видел тебя у реки".
"Ни секрет этот, ни другие тайны Витя скрыть не смог".