Code notarization is a process that records a software build or code artefact with an external timestamped attestation. It is used to prove that a specific version existed at a given time and has not been altered since the recorded notarisation, supporting integrity checks, provenance, and audit evidence.
What code notarization establishes
Code notarization creates a timestamped external attestation for a build or code artefact, so teams can later show that a specific version existed at a particular time and was not modified after that point. It is best understood as evidence for provenance and integrity, not as a substitute for signing, secure build controls, or release governance.
Why notarization matters for software trust
The main value of notarization is that it gives reviewers, auditors, and downstream consumers a verifiable claim about when an artefact existed and whether it was altered afterwards. That matters when software is distributed across teams, vendors, or endpoints, because integrity disputes often hinge on whether the artefact in circulation matches the version that was originally produced.
Notarization also strengthens provenance by creating an independent reference point outside the build system itself. If a build server, source repository, or distribution channel is later questioned, the notarised record can help separate a legitimate release from an artefact that was replaced, repackaged, or injected after the fact.
What code notarization does not do
Notarization does not prove that code is safe, bug free, or free from malicious logic. It only proves that a particular artefact was recorded at a given time and that the attested object matches the notarised record if the verification succeeds.
It also does not remove the need for source review, build integrity, code signing, dependency control, or release approval. A compromised or careless pipeline can still produce a notarised artefact, which means the trust question shifts from “was this artefact recorded?” to “was the right artefact built and released in the first place?”
How organisations use notarization in practice
In practice, notarization is most useful when it is paired with a clear release process and retained evidence that links source, build output, and published artefact. Teams typically use it to support audit trails, incident review, supply-chain assurance, and disputes over whether a binary or package was tampered with after release.
It is especially helpful when distribution happens through channels where the consumer cannot directly inspect the build environment. In those cases, the notarised record becomes part of the trust chain that helps recipients decide whether to accept the artefact.
For broader release integrity expectations, teams often map the control intent to SLSA, because provenance and verifiable build evidence are closely related concerns. Organisations that want a control-oriented view of release integrity can also use NIST SP 800-53 Rev 5 Security and Privacy Controls to anchor integrity, auditability, and configuration discipline in their security program.
Verifying and retaining notarized artefacts
Verification should focus on whether the notarised artefact matches the released object, whether the timestamped record is intact, and whether the notarisation data is retained long enough to support investigations or compliance checks. If verification fails, the artefact should be treated as suspect until the discrepancy is explained.
Retention matters because notarization is often used retrospectively, after a dispute, incident, or audit request. Without durable records, the value of the attestation drops sharply, even if the original notarisation was valid.
For enterprises that need a practical deployment perspective, the macOS Security Guide for Enterprises is a useful navigation point because it covers macOS notarization alongside other platform security controls that affect how software is approved and trusted.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
SLSA and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| SLSA | Supply-chain Levels for Software Artifacts | Code notarization supports artefact provenance and integrity evidence. |
| Recommendation — Use signed build provenance and verify release artefacts against recorded attestations. | ||
| NIST SP 800-53 Rev 5 | SI-7 — Software, Firmware, and Information Integrity | Notarization provides integrity evidence for released code artefacts. |
| AU-10 — Non-repudiation | Timestamped notarisation supports proof that a specific artefact existed at a given time. | |
| Recommendation — Validate released artefacts and preserve integrity evidence for post-release review. Retain verifiable attestations that support later attribution and dispute resolution. | ||
Related resources from NHI Mgmt Group
- Why is hardcoding credentials into source code so dangerous?
- What is the difference between code scanning and runtime identity monitoring?
- What is the difference between scanning AI-generated code and governing AI agent identity?
- When do AI-generated code and assistants increase secret exposure risk?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on November 3, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org