Masking results with elastic search

Hi Guys,
a little help here.
I am doing search with different queries in elastic search.I am also able to limit the no-of results in a search-result with includes/exclude's fields and filter aliases.

My situation here is to mask the result of an elastic search .I.e if am asking elastic search to return all user's account details.
i need results with account numbers as xxxxxxxxx123 and date of birth as 01/01/xxxx

is there a way in the filter-api to achieve this. by toggling a field/flag.I mean for admins i need to return full data.

i do not want to parse through all results and mask manually.is there any inbuilt functionality?

I guess you could use Scripting in ES to create new fields with custom values. It's perhaps not very performant in comparison to doing it yourself in the application handling the results, bit it should be possible at least.

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html

  "fields": [
"_source"
   ],
     "query": {
      "bool" : {
       "filter" : [ {
       "match" : {
            "person.gender" : "F"
          }
        }]
      }
     },
 "script_fields": {
"person.birthDate": {
  "script":{
 "inline": "_source.person.birthDate.substring(5,10)"
      }
}

this is giving but,it is returning as a separate fields[] at the ned of my search .But not returning inside person-object of the returned json

        "_id": "fryder",
        "_score": 0,
        "_source": {
           "person": {
              "birthDate": "1968-08-08",
              "deceasedIndicator": false,
              "gender":"F"
         },
      "fields": {
           "person.birthDate": [
              "08-08"
           ]
        } 

what i want is to remove birthDate and insert the partial date in place.