Platform security — Capability scanner mockup

In a previous entry, I mentioned that we were looking into how we could ease the pain of working with platform security. We reviewed the process and the many steps it takes to get a Developer Certificate, as well as how we could help in figuring out what capabilities your app is using. We then developed UI mockups for the proposed solutions. The mockups are:
1) PlatSec Capability Scanner — for displaying what capabilities are used in the current project
2) Certificate Manager — to manage developer certificates, including requesting new ones and sharing existing ones
The PlatSec Capability Scanner is simple in UI, but requires quite a bit of underlying work, so the UI proto is really simple. I’m still working on the Certificate Manager presentation, since it’s simple to do but has quite a bit of UI elements — I’ll post it later.
Disclaimer + warning + request: These might never appear in Carbide.c++, and the UI protos may look ugly, because they’re protos. Nevertheless, please comment; your comments will impact the final design.





- how does the user invoke the tool? Is there a command to run the scan, or is it a build step?
- does it retain just the results of the last scan, or can it retain results for each project/build configuration?
- is there a way to apply the results to the build settings, or is the user supposed to manually do that?
- the function entries should have both class name (where present) and function, not just function.
- You might consider a tree presentation, where the top-level nodes are the required capabilities and the children are the source code locations.
Thanks for the comments! Quick replies…
- Ideally this would be a build step, turned on by default if the database exists that contains the API/function–>Capability mapping
- So far this would retain only the results for the latest build; I suppose they could be stored, but it would require more elaborate UI so I’d need to see a clear reason to do so
- Currently, the user must add these manually — the output format is such that you can copy-paste the results into the MMP file. Ideally (in later editions), we should/could be able to pick up the capabilities and add them to the MMP. This may get complicated if the project is complex.
- You’re right — the mockup for the capability-file-etc table is a bit quick. It will contain the classname as well.
- We went with a table view since it allowed sorting multiple ways in a quick and intuitive way — e.g. list by filename, list by classname.
//markus