Documentation Index
Fetch the complete documentation index at: https://infisical.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Backward Compatibility
Your existing certificates, profiles, alerts, syncs, and approval policies continue to work. Certificates will keep renewing, alerts will keep firing, and syncs will keep running. Nothing breaks. What you can still do at the product level:- Create new Certificate Authorities, Policies, and Profiles
- Manage existing resources
- Configure enrollment methods (API, ACME, EST, SCEP)
- Create alerts
- Create certificate syncs
- Define approval policies
What Changed
The old project model put everything in one place (CAs, profiles, certificates, alerts, syncs) with project-level access control. The new model separates shared infrastructure from team operations. Certificate Authorities, policies, and profiles now live at the product level, shared across your organization and managed by Product Admins. They’re the building blocks that define what certificates can look like. Applications are where teams actually work. An Application represents a service or workload that needs certificates: a payments API, an internal web app, a mobile backend. Each Application has its own:- Members (with Admin, Operator, or Auditor roles)
- Enrollment methods (configured per profile)
- Certificate inventory
- Alerts, syncs, and approval policies
| Before (Projects) | After (Applications) |
|---|---|
| Everything in one project | Shared infrastructure + scoped Applications |
| Project-level access (see everything) | Application-level access (see only your service) |
| Enrollment baked into profiles | Enrollment configured per Application |
| Custom roles + conditions for scoping | Simple roles: Admin, Operator, Auditor |
| Alerts/syncs at project level | Alerts/syncs scoped to each Application |
Access Control
For details, see Access Control. Product Level:| Role | What they see | What they can do |
|---|---|---|
| Product Admin | Everything | Full control of CAs, Policies, Profiles, Applications |
| Product Member | Applications they’re assigned to | Operate within assigned Applications only |
| Role | What they can do |
|---|---|
| Admin | Configure enrollment methods, syncs, alerts, approvals. Manage members. |
| Operator | Issue, renew, revoke certificates |
| Auditor | View certificates and configuration (read-only) |
Migration Steps
Review your current setup
Document your existing:
- Certificate profiles and their enrollment methods
- Alert configurations
- Certificate syncs
- Approval policies
- Team members and their access levels
Create Applications
Create an Application for each service or workload that needs certificates:
- Go to Certificate Manager → Applications
- Click Create Application
- Name it after the service (e.g.,
payments-api,mobile-backend)
Configure enrollment methods
For each Application:
- Go to the Settings tab and find the Certificate Profiles section
- Attach profiles and configure enrollment methods (API, ACME, EST, SCEP)
One profile can now serve multiple Applications with different enrollment methods. No more duplicating profiles.
Recreate alerts
For each Application:
- Go to the Settings tab and find the Alerting section
- Create alerts for expiration, issuance, renewal, and revocation
You can still modify or delete legacy alerts, but new alerts must be created inside Applications.
Recreate syncs
For each Application:
- Go to the Certificate Syncs tab
- Configure syncs to push certificates to your destinations
You can still modify or delete legacy syncs, but new syncs must be created inside Applications.
Recreate approval policies
For each Application:
- Go to the Settings tab and find the Approval Policies section
- Configure approval requirements for each attached profile
Assign team members
- Grant Product Member role to team members who need Application access
- Assign them to specific Applications with Admin, Operator, or Auditor roles
Update issuance clients
Enrollment URLs have changed from profile-based to Application + Profile based. Update your:
- ACME clients (Certbot, cert-manager, etc.): Directory URLs now include both Application ID and Profile ID
- Infisical Agent: Update configuration to reference
application-nameandprofile-name - EST/SCEP clients: Endpoint URLs now include Application and Profile path segments
- Terraform: Update any
infisical_pki_*resources to use the new Application-based configuration - API integrations: Update endpoints to use the new Application context
FAQ
Will my existing issuance flows keep working?
Will my existing issuance flows keep working?
Yes. Existing ACME clients, Infisical Agent configurations, API integrations, and other issuance flows continue to work. Legacy profiles with enrollment methods configured will keep issuing certificates as before.
Can I still modify my existing alerts/syncs/approval policies?
Can I still modify my existing alerts/syncs/approval policies?
Yes. You can modify or delete legacy resources, but you cannot create new ones at the product level. New alerts, syncs, and approval policies must be created inside Applications.
Do I need to re-issue certificates?
Do I need to re-issue certificates?
No. Existing certificates are unaffected. The migration is about how you organize and manage certificates going forward.
What if I don't migrate?
What if I don't migrate?
Your existing setup will continue working, but you won’t be able to create new alerts, syncs, or approval policies at the product level. All new configuration must happen inside Applications.
Can I still use certificate profiles?
Can I still use certificate profiles?
Yes. Profiles still exist and define certificate attributes (CA, validity, constraints). The change is that enrollment methods are now configured per Application, not per profile.
Why are profiles separate from Applications?
Why are profiles separate from Applications?
A profile defines what a certificate looks like: one CA, one policy, one set of constraints. A service often needs multiple certificate types. Keeping profiles at the product level lets admins define them once and let multiple Applications consume them, each with their own enrollment methods and access control.