In the actual Panorama code, it's a has_one relationship.  https://github.com/CruGlobal/ccc360/blob/master/app/models/person.rb
I think changing it to has_one here would be good.  I think later on in the file there would need to be a change as to how the person_access gets called if it's changed here.  I wouldn't worry about a unique index.  That's an oversight on the Panorama implementation and if it's done, it should be done on the Panorama side.