Send new artwork uploads through a trust-based review policy.
Require review for untrusted accounts, add admin artwork review APIs, and keep queued or auto-trusted publishes from counting as established history.
This commit is contained in:
@@ -9,6 +9,10 @@ return [
|
||||
|
||||
'readonly_backup_originals_root' => env('ARTWORKS_READONLY_BACKUP_ORIGINALS_ROOT', '/opt/www/virtual/files/cdn/artworks/original'),
|
||||
|
||||
// Optional filename-based legacy tree. The readonly backup root above is
|
||||
// hash-based and must never be treated as this legacy tree.
|
||||
'legacy_originals_root' => env('ARTWORKS_LEGACY_ORIGINALS_ROOT', ''),
|
||||
|
||||
'object_storage' => [
|
||||
'disk' => env('ARTWORKS_OBJECT_DISK', 's3'),
|
||||
'prefix' => env('ARTWORKS_OBJECT_PREFIX', 'artworks'),
|
||||
@@ -154,4 +158,16 @@ return [
|
||||
'enabled' => env('UPLOAD_SCAN_ENABLED', false),
|
||||
'command' => env('UPLOAD_SCAN_COMMAND', []),
|
||||
],
|
||||
|
||||
'moderation' => [
|
||||
'minimum_account_age_days' => (int) env('UPLOAD_MIN_ACCOUNT_AGE_DAYS', 7),
|
||||
'minimum_approved_uploads' => (int) env('UPLOAD_MIN_APPROVED_UPLOADS', 5),
|
||||
'maximum_untrusted_level' => (int) env('UPLOAD_MAX_UNTRUSTED_LEVEL', 1),
|
||||
'bot_risk_review_threshold' => (int) env('UPLOAD_BOT_RISK_REVIEW_THRESHOLD', 40),
|
||||
'notify_email' => env('UPLOAD_MODERATION_NOTIFY_EMAIL', env('SECURITY_REPORT_NOTIFY_EMAIL', env('MAIL_FROM_ADDRESS'))),
|
||||
'promotional_patterns' => [
|
||||
'buy now', 'best price', 'limited offer', 'contact us', 'whatsapp',
|
||||
'casino', 'cheap backlinks', 'seo service', 'promo code', 'discount',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user