Forge: gate a caller-supplied page id
Key takeaways END STATE: a resolver that refuses an unentitled caller, proven by a test suite that scores 1/6 against the ungated version and 6/6 against the gated one. The happy path passes either w

Search for a command to run...
Series
How a Confluence content-protection app actually works: why it restores instead of blocking, what at-least-once delivery does to its dedup, and how its resolvers refuse a caller who should not be there.
Key takeaways END STATE: a resolver that refuses an unentitled caller, proven by a test suite that scores 1/6 against the ungated version and 6/6 against the gated one. The happy path passes either w

The duplicate Forge event that deleted our spam filter Key takeaways Forge product events carry no documented delivery guarantee — the at-least-once promise belongs to the Async Events API, and the t

Sentinel Vault: you cannot block an edit in Confluence, so we undo it instead Key takeaways Forge product events like avi:confluence:updated:page fire AFTER the save commits. There is no before-save
