nips/40.md

58 lines
2.0 KiB
Markdown
Raw Normal View History

2022-12-04 15:14:31 +00:00
NIP-40
======
Expiration Timestamp
-----------------------------------
`draft` `optional` `author:0xtlt`
2022-12-14 22:52:12 +00:00
The `expiration` tag enables users to specify a unix timestamp at which the message SHOULD be considered expired (by relays and clients) and SHOULD be deleted by relays.
2022-12-04 15:14:31 +00:00
#### Spec
```
tag: expiration
options:
- [UNIX timestamp in seconds]: required
2022-12-04 15:14:31 +00:00
```
#### Example
```json
{
"pubkey": "<pub-key>",
"created_at": 1000000000,
"kind": 1,
"tags": [
["expiration", "1600000000"]
2022-12-04 15:14:31 +00:00
],
"content": "This message will expire at the specified timestamp and be deleted by relays.\n",
"id": "<event-id>"
}
```
Note: The timestamp should be in the same format as the created_at timestamp and should be interpreted as the time at which the message should be deleted by relays.
Client Behavior
---------------
Clients SHOULD use the `supported_nips` field to learn if a relay supports this NIP. Clients SHOULD NOT send expiration events to relays that do not support this NIP.
2022-12-14 22:52:12 +00:00
Clients SHOULD ignore events that have expired.
2022-12-10 22:49:59 +00:00
2022-12-14 08:18:52 +00:00
Relay Behavior
--------------
Relays SHOULD NOT delete an expired message immediately on expiration. Relays that wish to purge expired messages from their DB should allow for a grace period before deletion. For example, this could be 24h after event expiration.
Relays MAY choose to not delete expired messages.
2022-12-04 15:14:31 +00:00
Suggested Use Cases
-------------------
2022-12-14 08:15:44 +00:00
* Temporary announcements - This tag can be used to make temporary announcements. For example, an event organizer could use this tag to post announcements about an upcoming event.
* Limited-time offers - This tag can be used by businesses to make limited-time offers that expire after a certain amount of time. For example, a business could use this tag to make a special offer that is only available for a limited time.
2022-12-10 22:49:59 +00:00
#### One last time, be careful!
The events could be downloaded by third parties as they are publicly accessible all the time on the relays.
So don't consider expiring messages as a security feature for your conversations or other uses.