Meteor.publish('categories', function (text) {
    return Categories.find({
        $or: [
            {name: { $regex: text }},
            {description: { $regex: text }}
        ]
    });
});

Categories.allow({
    insert: function(userId, doc){
        return true;
    },
    update:  function(userId, doc, fieldNames, modifier){
        return false;
    },
    remove:  function(userId, doc){
        return true;
    }
});
@@ -420,12 +420,151 @@
 e;%0A    %7D%0A%7D);
+%0A%0ACategories.deny(%7B%0A    insert: function (userId, doc) %7B%0A        return (typeof doc.name === 'undefined' %7C%7C doc.name.length %3C 3);%0A    %7D%0A%7D);

Validate category names