Isolation
One application or partition cannot read or write memory that belongs to another.
Typical targets: MPU and MMU configuration, partitions, separation kernels
Reusable verified security component
Isolation, access control, protocol state and message integrity. We formally model the property, a theorem prover checks that your component meets it, and we adapt that evidence for each product built on the component.
Discuss your componentUnder CC:2022, a formal security policy model (ADV_SPM.1) normally has to cover all of a product's security functionality. For a complex product, that model is expensive to build, prove and evaluate.
ENISA's EUCC guidance on the transition to CC:2022 shows the direction of travel: formal evidence for well-defined parts of the security functionality, such as memory management and code loading on security ICs, and the application firewall on Java Card platforms. The certificate then states both the assurance level of the whole product and the level reached by the modelled parts.
A component used across a product line is the natural unit to prove. Model and prove it once, then carry the evidence into every product built on it.
Read ENISA's guidance on formal methods in the CC:2022 transition (opens in a new tab)
One application or partition cannot read or write memory that belongs to another.
Typical targets: MPU and MMU configuration, partitions, separation kernels
Every access is checked against the policy, and no path through the component bypasses the check.
Typical targets: Application firewalls, permission models, key usage rules
The component never skips authentication and never accepts a message out of order.
Typical targets: Secure channels, code loaders, lifecycle states
Nothing is accepted unless its integrity check passes, and parsing accepts exactly the specified format.
Typical targets: Signed code images, commands, message parsers
We agree the security properties and a formal model of the component with your engineers. The specification is what people review.
AI proposes the proofs. A theorem prover checks every step, and every assumption is written down.
The proofs are tied to the exact component version by digest, and re-run whenever the component changes.
For each product that uses the component, we map the proven properties to the security objectives and security functional requirements in its Security Target.
Your evaluation lab evaluates each product and your certification body certifies it. We provide the formal evidence they assess.
Vericoding is our method. People write and review the specification, AI proposes the implementation and the proof, and a theorem prover checks the result. Our experiments show it at work on protocols and parsers: SpecAMQP, an open Lean specification of the AMQP 1.0 protocol, and parsebot, a JSON parser proved against its grammar in Rocq. They are research results, not security certifications.
Tell us the component, the Protection Profile and the assurance level you are aiming for.