How to start the implementation of NPNT


I am new to this platform. I am a freelancer and want to start the implementation of NPNT compliant multi-rotors for my own startup. But i am confused how to start its implementation as it seem huge application which includes RFM, Manager Client, Manager Server, Digital sky platform.

It would be great if i could have the guidance so that i can initiate this.

Thanks in advance.


@Amit It’s great to hear that you’re interested in getting your RFM setup! There are three components to RFM: 1. Non-Repudiable Identification 2. NPNT 3. Flight Logs Essentially, you’ll be writing code to comply with the security requirements outlined in the specification (Chapter 7 of RPAS Guidance Manual: Your RFM will then talk to the Digital Sky APIs: through your Device Manager.

If you’re running Ardupilot as your flight controller, you could make use of this open source implementation by @sidbh:

Two companies have been certified by DGCA till now - Skylark and Throttle. You may reach out to them for guidance.

@nihal is from Skylark Drones and could help you out.

Throttle Aerospace is building a plug-and-play kinda module for NPNT - you could just purchase it and attach it to your drone eliminating the need for you to build from scratch. You may reach out to Nagendran from Throttle regarding this - [email protected]

Also, DICE is organising a workshop on implementing NPNT on 12th July from 4 PM to 6 PM at IKP Eden Bangalore: You should try to attend.

Also, please note that NPNT is one aspect. There are other safety aspects of Air Worthiness that you need to comply with and have been outlined in Chapter 6 of the RPAS Guidance Manual:


Thank you @sid for your response.
So, what i understood is that for RFM i have to edit the ardupilot firmware by taking reference from the the libnpnt project. For that i have to build my custom firmware, am i correct ?
And also i have to read the logs and other keys on Ground station and from there i have to send it to the digital ski api?

Please correct me if i am going wrong.
It would be great @nihal if you can also guide me.
Thank You.


Hi amit, You’ve got it right so far. One thing to note - the Keys should be generated in the RFM not in the GCS.

Please do reach out and ask the community if you face any issues.


Thank you for your replies

I too am new to the platform trying to understand NPNT, RFM and Digital Sky APIs terminology.

I wanted to ask that in above post it is mentioned that Throttle airspace is building a plug and play version of RFM. I understand that it will handle both key generation and log signing from APM.

So is this RFM just a code running on GCS or on drone’s Onboard computer.

Thank you


Hi All,

I have downloaded the NPNT provisionla tool from github and also i am able to execute the but i am not able to understand how to use it?
Also i am confuse what is the basic process for implementing.
@sid @nihal Please if it is possible is there any document where complete info is there through which i can use the git project as i am not able to implement NPNT.


Hi @Amit The test app is very easy to use. Enter your drone ID and upload your drone public key. Then, you have to first download all permission artefacts using Download PA buttons. There is only one valid PA and others have one or the other problem. So, click on armed or not armed button. Then, upload your signatured JSON log and check if all tests are passed or not.


Thanks @satyam_amu I followed your said process but after downloading the file when i upload the JSON log, it is not uploading.
It would be great if you, @nihal or @sid or any other colleague can post a small video that contain How one can do the testing and show how to take the best out of the tool(offline/online tool). As many others like me are facing issues.

Thanks in advance.


Can you send the JSON log and screenshot of the error you are getting on uploading it. Also, try to upload the log with content as below. You have to make a text file, add below content and save as json file.
“FlightLog”: {
“Land”: {
“Lattitude”: 12.933805465698242,
“Longitude”: 77.61021423339844
“TakeOff”: {
“Latitude”: 12.933805465698242,
“Longitude”: 77.61021423339844
“Signature”: “vEKNRZyMLfd1gNLgtGoRmn8+YRg0Xcfn45DdT/fP7c6240lu0RboANRtzSbBn6MyOWG/Mh8P\nvMsm7z8MVMSh1YkqotWlyWuXK3iiZ0W4mGT93x7DV7kIVu//I15leGAdBrlkVeUSwT3p3ruC\n3UXXk7HmiF+hGptEW9S/sMr9NI19fAP1Y/kvIi+P2OKJaWREJ2fkuDqi8IZQ0t7CqI71Qgux\nsL6usEcJC775ToIXp0WZC9B8rlv0xGhfD684ZLY4pDbBwqt0Uw+99w8pLzJHIxkDo5xDcXfD\nNhUuTCt3Pas0vPgASUoGm1kJAE+fjkV0QmS8hZh5hYBQIk1So9aZtg==\n”,
“permissionArtefactID”: “”


Hi Amit,
This doc should provide you with some details . A video is a lot to ask right now, I’m afraid!

Please do ask more questions on the specific issue you’re facing, the community will be glad to help you out.


Thanks for your support.


There was one workshop organised by DICE. Is it possible that i can get the Presentation file?
I have seen the video of that but the slides are not clearly visible. Also i have commented on the youtube video but no response was there.
If anyone has the document or can arrange it, that would be really helpful.


Can you share the link of video? I also wanted to see but no reply came from their twitter account


Video is on the Youtube.


@nihal @abhiroop.bhatnagar @sid @z2xy @dmd4597
On git there is Digital sky api and Digital ski app.
What is it for ? What is the difference between them and how i should use that?
As in readme file nothing is written.


Digital sky api is the API which runs in backend like a server.
Digital sky app is the frontend RestAPI like a client.


Ok so Digital ski app will run on my laptop and api will deployed on the server.

How to build and install the app and api on my local computer?


For your testing purpose it would be good to run both backend and front end on your local machine. Backend has a docker file so I guess we can build and run this docker image to start the server. RestAPI is optional you can either use powershell or someother application like postman instead of digital sky app


Hey I have been looking at the presentation deck and I have found a schematic in which I am not sure what the role of management server is here, Anyone with any ideas would help(the query is regarding the one circled in red)


Last night i was studying the ppt. I am also confused with this management server thing.