Allow Expired Credentials
Follow this guide to turn off expiration enforcement so the verifier accepts credentials even after their validUntil
or expirationDate
has passed.
Prerequisites
Section titled “Prerequisites”Before you start:
- Sign in to the Vidos dashboard
- Ensure you have permission to manage the target verifier instance
- Prepare a credential with a past expiration date (the sample below works out of the box)
- Open Verifiers in the dashboard and select your instance.
Step 1: Confirm expired credentials currently fail
Section titled “Step 1: Confirm expired credentials currently fail”- Go to the Test tab.
- Paste an expired credential. You can copy the sample below.
expired-credential.json {"@context": ["https://www.w3.org/ns/credentials/v2","https://www.w3.org/ns/credentials/examples/v2"],"type": ["VerifiableCredential","ExampleEmployeeCredential"],"issuer": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9","validFrom": "2023-06-01T09:25:48Z","validUntil": "2025-06-01T09:25:48Z","credentialSubject": {"id": "did:example:ebfeb1f712ebc6f1c276e12ec21","employer": {"id": "did:example:c276e12ec21ebfeb1f712ebc6f1","name": "Example Corporation"}},"proof": {"type": "DataIntegrityProof","created": "2023-06-01T09:25:48Z","verificationMethod": "did:key:zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9#zDnaekGZTbQBerwcehBSXLqAg6s55hVEBms1zFy89VHXtJSa9","cryptosuite": "ecdsa-sd-2023","proofPurpose": "assertionMethod","proofValue": "u2V0BhVhA8zrF81ZNJ5If-X-ejI_U4GNp5lOIQoHcfOJihmW9hjRH0Y_JyVWfKOp27YIZRUP2lfdDMsAi_0qIpHw1ht9xcVgjgCQCurXhqc23OvW_atEphK7uzG7jHSkSZqoZPhGBGDNGbkeDWEA9oxz2Lm2eJZfuZs2gcNAlv3sUtWPVSi17dbnly8wIatzVZHvQGanARrHtehaK3xdEYpoUNHpUPalEGzqHza0wWEBMt-85F3OHCMdayRLC-EUlnA8Rp5ZcxbcxAQJhIdm3W1iT8mQeufRJ1IahSkq7Jdh56VmE_tnqGmvjg8N7ISoPWEDy1GSZBNofTyU3lP4X5b-saU3NLNTwblo35jsolH_F0hvhB-bYk7Ts40T69SKYzWPxYBnnLMjVzbLt8ZioyHDCoQBYIPSJjEj5O-r0lVRzcnF9RvRNuSjk08ay4THSOKOn3zFRhQIDBQYH"}} - Select Verify and confirm the response fails with an expiration error. The response should resemble the following and highlight the
notAfter
policy failure:error-response.json {"type": "tag:verification-failed","title": "Recheck credentials","results": [...,{"error": {"type": "https://vidos.id/docs/reference/errors/outside-validity-period","title": "Outside of validity period","detail": "The credential is outside of the validity period due to field '/validUntil'","vidosType": "outside-validity-period","errors": [{"detail": "status: failure, target: ..., reference: Sun Jun 01 2025 11:25:48 GMT+0200 (Central European Summer Time)"}]},"path": [],"policy": "notAfter","service": "verifier","status": "error"}]}
Step 2: Stop checking notAfter
policy
Section titled “Step 2: Stop checking notAfter policy”- Open Configuration for the verifier.
- Expand Policies > notAfter.
- Set
skip
totrue
to prevent expiration date being checked. - Click Save.
Step 3: Validate expired credential acceptance
Section titled “Step 3: Validate expired credential acceptance”- Switch to the Test tab for the same verifier.
- Paste the expired credential you used in step 1.
- Select Verify. Confirm the verification succeeds without expiration errors.
:::note Verification succeeds because verifier does not perform the{"results": [{"service": "verifier","policy": "format","path": [],"status": "success","data": {...}},{"service": "verifier","policy": "notAfter","path": [],"status": "success","data": {...}},{"service": "verifier","policy": "notBefore","path": [],"status": "success","data": {...}},{"service": "verifier","policy": "proof","path": [],"status": "success","data": {...}}]}
notAfter
check so you won’t find it in the result. :::
Step 4: Re-enable expiration enforcement
Section titled “Step 4: Re-enable expiration enforcement”- When you need to block expired credentials again, return to Policies > notAfter.
- Set
skip
tofalse
. - Select Save and rerun the expired credential to confirm it fails.